PRO TIPS

Performing a Salesforce Security Review

A headshot for Max Hampton, a Prolocity Consultant

Max Hampton
PROserve Consultant

What is a Security Review?

Security reviews are wide-ranging reviews of your Salesforce org to ensure that you're following best practices in your configuration. Although the exact steps may vary depending on your org's needs,  they usually include checking for potential vulnerabilities (running system health checks and release updates), ensuring data protection measures are in place (managing data exports and backups), and confirming that security protocols are up to date (confirming user level access, login policies, and Multi-Factor Authentication). By conducting these reviews, you can strengthen your organization's security and protect your valuable data from potential threats. In this article, we'll walk you through some recommended steps.

Why should I perform a Security Review?

Regular security reviews are essential to safeguarding your Salesforce organization against potential threats and vulnerabilities. By assessing your security measures comprehensively, you can identify and address any weaknesses, ensuring the integrity, confidentiality, and availability of your valuable data. Proactively conducting these reviews helps mitigate risks, maintain compliance, and instill confidence in the security of your Salesforce environment.

Note that performing a security review assumes that the user has access to Setup, which usually means that the user is a System Administrator, and has at least a basic understanding of Salesforce, including Object/Record sharing, and the general data model.

If you want to know more, reach out–we're happy to help!

Outline of a Security Review

We will walk through each of these in a bit more detail, but generally speaking these are the key items we have identified to ensure Salesforce security. 

  1. Running the standard Salesforce System Health Check, which can detect potential vulnerabilities in your org
  2. Confirming Password Policies
  3. Checking for active user accounts that are not being used
  4. Reviewing your Salesforce license usage (including any additional/integration licenses you may be using)
  5. Ensuring compliance with Multi-Factor Authentication policies
  6. Ensuring your Data Model/Organization-Wide Defaults are correct and correlate to the scope of work you do within Salesforce
  7. Developing a Data Backup/Export plan to protect against data loss

System Health Check

The Health Check assesses your org's configuration against Salesforce's recommended settings for baseline security and produces a single score on a scale of 1-100%. When running the health check, you'll get a report of your org's current settings, presented against Salesforce's recommended values, with the option to adjust any settings that don't match Salesforce's recommendations.

To run a Health Check, do the following:

  • From Setup, search for Health Check
  • Salesforce will automatically scan your org for common configuration issues and present these broken into risk categories: High, Medium, or Low
  • Prolocity recommends you aim to achieve 90% if possible...
    • ...but use discretion when reviewing the items that negatively impact this score and make informed decisions. Some items, such as enabling Log in as User may be required in your environment for support purposes. Additionally, enabling some items like Clickjack protection are desirable, but can cause issues with third party integrations or packages, like the UnofficialSF Data Table component.
  • Click Edit on any of the items to be taken to the appropriate setup page to adjust your configuration. 
  • Once your configuration has been updated, you can return to the security review and refresh your page to see an updated score.
  • Items listed as Critical will have a higher impact on your score, so prioritize fixing those issues first. 
  • For example this Org currently allows for 10 invalid login attempts before locking the user out. Salesforce recommends 3.
A screenshot of the Health Check overview screen within Salesforce setup.

Password Policies

  • If you complete the Health Check, then you should have already reviewed your Password Policies. However it’s recommended to spend a little extra time here to make sure your password policies are as secure as possible.
  • Password Policies can be found by searching for them within Setup

If you do not use Single Sign On for your users, you can adjust password policies in Salesforce, such as the number of days between required password changes, or the required password length and complexity. Note that there are probably no truly right answers here; for instance, there is controversy over how often users should be required to change passwords (if at all).

A screenshot of the Password Policies screen within Salesforce setup.

Check for Active, but Idle User Accounts

Stale user accounts pose security risks for a number of reasons; first and foremost, those users may have left your organization without being properly deactivated, which means they could still have access to your organization. But even if the user is still at your organization, leaving an unneeded account active presents an opportunity for an attacker to compromise it and gain access to your data.

The goals of doing a review of user accounts are to note potential issues and

    • Determine the reasons why an idle user has not logged into Salesforce
    • Determine whether or not idle users still need a Salesforce license
    • Deactivate any users who no longer need access, which you can do by referring to this guide on deactivating users

Here are the steps to perform a user check:

  • Navigate to your Users list within Setup.
  • Make sure you are viewing an All Users list view.
  • If not already configured, make sure to add the Last Login field to your User list view.
    • Click Edit next to View: All Users to adjust the fields displayed
    • Add Last Login to the fields displayed
    • Save
  • You should now be able to view and sort by the last date/time your users logged into Salesforce and identify any users who have not logged into Salesforce recently
    • You can determine your own acceptable range but we recommend focusing on those that haven't logged in within the past three months
A screenshot showing how to edit the Users list view within Salesforce setup.

Review Licensing

After you've reviewed your users, it makes sense to quickly check your licensing. Reviewing licensing has two goals; one, it helps save money to ensure that users who may no longer need access to Salesforce, or who have left your organization, are no longer active. And second, it can help ensure that you have sufficient licenses for planned user growth

  • Navigate to Company Information in Setup
  • Here you can view your total, used, and remaining license counts for each license type. 
  • The standard Salesforce license is important to keep an eye on. If you are a Nonprofit Salesforce customer, you will receive 10 licenses for free, but anything after those 10 will be charged for. 
  • If you are at or close to your license limit, you may need to consider purchasing additional licenses, which an admin can do via the Your Account app directly in Salesforce
A screenshot showing how to identify your current Salesforce license usage.
A screenshot showing how to add fields to the Users list view within Salesforce setup.

Multi-Factor Authentication

If you don't use a third-party single sign on like Google, Microsoft Azure, or Okta, Salesforce's terms of service require users who log in via the web browser or mobile apps to use Multi-Factor Authentication on Salesforce's end–usually using Salesforce Authenticator. Salesforce first added this to its usage policy several years ago and has, over time, ratcheted up technical enforcement by prompting users to set up an MFA method when they log in. As a result, almost all of your users should be compliant by now, but it is a good idea to check–especially because there are ways to grant exemptions to particular user accounts (usually integration users that are required for third-party tool integrations). Here's how to check to ensure users have set up MFA methods:

  • Navigate to the User listing in setup (you just did this to check login history)
  • Click Edit next to the list view drop-down menu
  • Add Time-Based One-Time Password App and Salesforce Authenticator columns to the list view
  • Ensure that each user has at least one method set up
A screenshot showing how to identify Multi-Factor Authentication login attempts.

Organization-Wide Defaults Configuration

Organization-Wide Defaults determining the baseline for record visibility in Salesforce. It is recommended that you ensure these Organization-Wide Defaults are configured correctly for your specific organization. For example, you can set Opportunities to be only viewable by their owners and their managers by setting the default visibility to Private, or make them visible to all users by making them Public Read Only. It's a good idea to review these defaults from time to time to make sure they meet your business and security needs. here's how to do so:

  • Navigate to Sharing Settings in Setup.
  • Here you can review all of your default visibility settings for each objects records in Salesforce. 
  • Ensure that the core objects you use in your Salesforce org are correctly configured to meet your own security and sharing needs. 
    • Public Read/Write - Any user in Salesforce will be able to see and edit records of this object
    • Public Read Only - Any user in Salesforce will be able to read records of this object
    • Private - Only the record owner and users higher in the role hierarchy can have access to records of this object

Note that making changes here, especially converting from Public to Private, will affect your users' ability to see or edit records that they may need access to! Consider very carefully testing any changes in a sandbox before making them in your production org to avoid headaches for users (and yourself!).

A screenshot showing how to access and manage Organization Wide Default Sharing Settings in Salesforce.

Data Exports/Backups

It is recommended that every Salesforce org have a Data export protocol and owner determined. Salesforce offers an internal Data Export tool. If you do not already have a backup tool or process implemented, you should start ASAP. You can also consult our PRO Tips article on Data Backup for more details. The first tool that many orgs use, however, is Salesforce's Data Export, which enables you to schedule a CSV-based export of all of your Salesforce data:

  • Navigate to Data Export in Setup
  • If you have not recently backup up your Salesforce data, it is recommended you first Export Now to take a full backup of your data
  • When configuring your export, you can choose which objects to include, as well as if you want to back up images, attachments, files, etc. We recommend including everything if you have never taken a backup before
    • Note, exporting images, attachments and files will significantly increase the number and size of backup files, and the amount of time it takes for the export to complete
  • Once your one-time backup is configured, click Save to begin the export
  • Once the export has completed, you will receive an email with a link to the files you will need to download (you can also access the download links by refreshing the Data Export home page)
    • Your backup will consist of at least one (many times multiple) zip files. Each file is capped at 500 MB
    • Each file will need to be downloaded and safely stored. We recommend saving a copy of the backup file to your computer as well as to a cloud based/online storage system such as google drive or Microsoft 365 if you have them
    • Note: you must download the file from Salesforce within 48 hours of completion of the export; after that time, the file will be deleted and you would have to run another export
A screenshot showing how to access and the Data Export tool in Salesforce.
  • Once your One-time backup has been downloaded and safely stored, we recommend that a scheduled backup is established. 
  • Set your Scheduled backup for a day and time when you know you can dedicate 10-15 minutes to managing it. 
    • For a scheduled backup, we recommend not including all files, images, attachments, and just including ALL object data to limit file number and size. 
  • You will receive an email every time the scheduled backup runs, linking you directly to the above page where you can download your files.
A screenshot showing how to schedule a weekly Data Export in Salesforce.

Conclusion

If you’ve made it this far, congratulations! You’ve taken some necessary steps to making sure your Salesforce organization is more secure and properly maintained. It’s a good idea to conduct a review like this at least twice a year (or more) to make sure nothing major has changed and so that you’re always in the know with your org's security. Stay tuned for our upcoming PROtips, where we will be taking a deeper dive into Health Checks and managing duplicate records in Salesforce!