Salesforce identity, MFA & sign-in security checks
Who can sign in, how strongly they authenticate, and whether sessions, passwords and sign-in locations meet the baseline every admin account should clear.
On Salesforce, Black Cat runs 15 checks in this area on every scan. Each one below lists its severity, how to fix it, and the compliance controls it satisfies where a control applies. See what access the Salesforce connector needs.
Checks (15)
severity: critical Admin Without MFA fix difficulty: easy #
Enroll MFA for all admin accounts via Salesforce Identity Verification settings
- Go to Setup > Identity > Identity Verification
- Under "Multi-Factor Authentication for UI Logins", enable MFA for the System Administrator profile
- Navigate to Setup > Users > Profiles and select the affected admin profile
- Click "Edit", scroll to "System Permissions", and ensure "Multi-Factor Authentication for User Interface Logins" is checked
- Save the profile and notify the affected admin to register an MFA authenticator app on next login
- Verify enrollment by checking the user record under Setup > Users > Users
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.3 NIST CSF 2.0 PR.AA-03 GDPR (SaaS Security) GDPR-32.1b.i HIPAA (SaaS Security) HIPAA-312.d NIS2 Directive NIS2-21.j DORA (SaaS Security) DORA-9.4
severity: high User Without MFA fix difficulty: easy #
Enable MFA for all active users via Identity Verification settings
- Go to Setup > Identity > Identity Verification
- Enable "Multi-Factor Authentication for UI Logins" for the relevant user profiles
- Navigate to Setup > Users > Profiles, select each profile used by standard users
- Click "Edit" and check "Multi-Factor Authentication for User Interface Logins" under System Permissions
- Save and communicate to users that they must register an authenticator app on next login
- Monitor enrollment progress under Setup > Identity > Identity Verification
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.3 NIST CSF 2.0 PR.AA-03 GDPR (SaaS Security) GDPR-32.1b.i HIPAA (SaaS Security) HIPAA-312.d NIS2 Directive NIS2-21.j DORA (SaaS Security) DORA-9.4
severity: high Weak Password Policy fix difficulty: easy #
Strengthen the org password policy to require minimum 12-character alphanumeric passwords with 90-day expiry
- Go to Setup > Security > Password Policies
- Set "Minimum Password Length" to 12 or higher
- Set "Password Complexity Requirement" to "Must mix alpha and numeric"
- Set "Maximum Password Age" to 90 days or less
- Set "Minimum Password Age" to 1 day to prevent rapid cycling
- Click "Save" to apply the new policy org-wide
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.5 NIST CSF 2.0 PR.AA-03 GDPR (SaaS Security) GDPR-32.1b.i HIPAA (SaaS Security) HIPAA-312.d NIS2 Directive NIS2-21.j DORA (SaaS Security) DORA-9.4
severity: high Password Never Expires fix difficulty: easy #
Set a password expiration period so that credentials are rotated regularly and compromised passwords are invalidated
- Go to Setup > Security > Password Policies
- Locate the "Maximum Password Age" field
- Change the value from "Never expires" to 90 days or less (e.g., "90 days")
- Set "Minimum Password Age" to 1 day to prevent users from immediately cycling back to a previous password
- Click "Save" to apply the policy org-wide
- Notify users that they will be required to reset their password on or before the expiry date
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 NIS2 Directive NIS2-21.j DORA (SaaS Security) DORA-9.4
severity: medium No Password History fix difficulty: easy #
Enforce password history to prevent users from reusing recent passwords after a forced rotation
- Go to Setup > Security > Password Policies
- Locate the "Password History" field
- Set the value to 3 or higher (recommended: 5)
- Click "Save" to apply the policy org-wide
- Combine with a password expiration policy to ensure regular rotation with no reuse
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 NIS2 Directive NIS2-21.j DORA (SaaS Security) DORA-9.4
severity: high HTTPS Not Required fix difficulty: easy #
Require HTTPS for all Salesforce sessions to prevent session token interception over unencrypted connections
- Go to Setup > Security > Session Settings
- Locate the "Require secure connections (HTTPS)" option
- Check the box to enforce HTTPS for all sessions
- Click "Save" to apply the setting
- Verify that all custom domains and community portals are also configured with valid TLS certificates
Satisfies: ISO 27001:2022 A.8.24 SOC 2 Type II CC6.7 NIS2 Directive NIS2-21.i.5 DORA (SaaS Security) DORA-9.5
severity: high CSRF Protection Disabled fix difficulty: easy #
Enable CSRF protection to prevent cross-site request forgery attacks against authenticated Salesforce sessions
- Go to Setup > Security > Session Settings
- Locate the "Enable CSRF protection on GET requests on non-setup Salesforce pages" option
- Check the box to enable CSRF protection
- Click "Save" to apply the setting
- Test any custom Visualforce pages or Lightning components that make GET requests to confirm they are unaffected
Satisfies: ISO 27001:2022 A.8.24 SOC 2 Type II CC6.6 NIS2 Directive NIS2-21.i.5 DORA (SaaS Security) DORA-9.5
severity: medium Weak Max Login Attempts fix difficulty: easy #
Lower the maximum login attempts threshold to 5 or fewer to reduce brute-force attack exposure
- Go to Setup > Security > Password Policies
- Locate the "Maximum Invalid Login Attempts" field
- Set the value to 5 or lower
- Set an appropriate "Lockout Effective Period" (minimum 15 minutes recommended)
- Click "Save" to apply the policy org-wide
- Monitor Login History for lockout events to detect active brute-force attempts
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 NIS2 Directive NIS2-21.j DORA (SaaS Security) DORA-9.4
severity: low Short Lockout Interval fix difficulty: easy #
Increase the account lockout duration to at least 15 minutes to slow automated brute-force attacks
- Go to Setup > Security > Password Policies
- Locate the "Lockout Effective Period" field
- Set the value to 15 minutes or longer
- Click "Save" to apply the policy org-wide
- Pair this with a maximum login attempts limit of 5 or fewer for full brute-force protection
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 NIS2 Directive NIS2-21.j DORA (SaaS Security) DORA-9.4
severity: medium Session Timeout Too Long fix difficulty: easy #
Reduce session timeout to 120 minutes or less via Session Settings
- Go to Setup > Security > Session Settings
- Locate the "Timeout Value" dropdown under "Session Settings"
- Select "2 hours" (120 minutes) or a shorter value
- Optionally enable "Force logout on session timeout" for stricter enforcement
- Click "Save" to apply the new timeout value
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-01 GDPR (SaaS Security) GDPR-32.1b.i HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.5 DORA (SaaS Security) DORA-9.5
severity: medium No Clickjack Protection fix difficulty: easy #
Enable clickjack protection for Salesforce pages via Session Settings
- Go to Setup > Security > Session Settings
- Scroll to the "Clickjack Protection" section
- Check "Enable clickjack protection for Setup pages"
- Check "Enable clickjack protection for non-Setup Salesforce pages"
- Optionally enable protection for customer Visualforce pages if applicable
- Click "Save" to apply the settings
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-01 GDPR (SaaS Security) GDPR-32.1b.i HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.5 DORA (SaaS Security) DORA-9.5
severity: medium Sessions Not Locked to Domain fix difficulty: easy #
Lock sessions to the domain they originated from to prevent session reuse across domains
- Go to Setup > Security > Session Settings
- Locate the "Lock sessions to the domain in which they were first used" option
- Check the box to bind each session to its originating domain
- Click "Save" to apply the setting
- Verify that Experience Cloud sites and custom domains continue to function as expected
Satisfies: ISO 27001:2022 A.8.5 NIST CSF 2.0 PR.AA-01 NIS2 Directive NIS2-21.i.5 DORA (SaaS Security) DORA-9.5
severity: medium No Forced Logout on Session Timeout fix difficulty: easy #
Force logout on session timeout so idle sessions are terminated rather than only warned
- Go to Setup > Security > Session Settings
- Locate the "Force logout on session timeout" option under Session Settings
- Check the box to terminate idle sessions instead of only displaying a warning
- Click "Save" to apply the setting
- Confirm an appropriate "Timeout Value" is also configured (120 minutes or less)
Satisfies: ISO 27001:2022 A.8.5 NIST CSF 2.0 PR.AA-01 NIS2 Directive NIS2-21.i.5 DORA (SaaS Security) DORA-9.5
severity: high Session Cookies Not HttpOnly fix difficulty: easy #
Mark session cookies HttpOnly so session IDs are not exposed to client-side script (XSS theft)
- Go to Setup > Security > Session Settings
- Locate the "Require HttpOnly attribute" option under Session Settings
- Check the box to set the HttpOnly attribute on session cookies
- Click "Save" to apply the setting
- Verify that any custom JavaScript that reads session cookies is updated accordingly
Satisfies: ISO 27001:2022 A.8.5 NIST CSF 2.0 PR.AA-01 NIS2 Directive NIS2-21.i.5 DORA (SaaS Security) DORA-9.5
severity: medium High Failed Logins fix difficulty: medium #
Investigate accounts with excessive failed logins and enable login IP restrictions to prevent brute-force attacks
- Go to Setup > Security > Login History to review failed login attempts for the flagged user
- Determine whether the failures indicate a brute-force attack or a legitimate locked-out user
- If suspicious activity, temporarily freeze the account under Setup > Users > Users
- Enable login IP ranges under Setup > Users > Profiles > (profile name) > Login IP Ranges to restrict access to known IP addresses
- Consider enabling Salesforce Shield Event Monitoring for ongoing anomaly detection
- Notify the user and reset their credentials if account compromise is suspected
Satisfies: ISO 27001:2022 A.8.5 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.5 NIST CSF 2.0 PR.AA-03 GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.d NIS2 Directive NIS2-21.j DORA (SaaS Security) DORA-9.4