Sophos Mac Endpoint: How to Configure JAMF Privacy Preferences for 10.15+ Compatibility

Note: This information is provided as-is for the benefit of the Community. Please contact Sophos Professional Services if you require assistance with your specific environment.


Overview

This article describes the steps to configure JAMF to allow configure permissions for Sophos Mac Endpoint on macOS 10.15+

Applies to the following Sophos products and versions
Sophos Central Mac Endpoint 10.0.0 and above,
Sophos Central Intercept X 10.0.0 and above,
Sophos Central Device Encryption 1.5.2 and above,
Sophos Anti-Virus for Mac OS X 9.9.7 and above

Technical Context

With macOS 10.13, Apple introduced a new security level that required each 3rd party vendor's kernel extension to be approved. This required Team ID to be allowed, also known as the Apple Developer ID.

With macOS 10.15, Apple added a new default behavior that prevented applications from writing to the disk.

The information below covers both topics:

  1. Allowing the Sophos Team ID (2H5GFH3774)
  2. Granting the disk access for each required process

To alert and inform users, Sophos implement a notification popup. The endpoint will check after each reboot (and continuously every 30 minutes) if the system permissions are compatible.

  • This following steps can also be applied to machines running macOS 10.14.x. You may want to prepare your devices to be ready for an upgrade to macOS 10.15+. The instructions below can be followed to prepare device profiles for a future macOS 10.15+ upgrade.

Note: In Sophos for Mac 9.9.5, a notice is displayed if required permissions are not fully enabled. On October 31st, an issue was found where the notice is triggered if the permissions have been added via an MDM profile, as Apple records these in a different location. Sophos is actively working on updating the detection to correct this.

What to do

There are 2 steps required to configure compatibility for macOS 10.15.x (Catalina) and below.
Note: One additional step is required if you want to apply the profile to a macOS 11 (Big Sur) device.

  • Grant full disk access for Sophos components
  • Allow the Sophos kernel extensions
  • (Big Sur - macOS 11) Configure the system extension at the last step. 

Grant full disk access for Sophos components

  1. Open JAMF and log in.
  2. Go to Computers > Configuration Profiles
  3. Create a new Configuration Profile, or select an existing one
  4. Select Privacy Preferences Policy Control (near the bottom of the list)
  5. Click the + beside App Access



  6. In Identifier and Code Requirement put in all the entries listed below, and for Identifier type, select BundleID.
    Note: Sophos does not recommend using the path based format

    Identifier Code Requirement Valid Since Product
    com.sophos.endpoint.scanextension identifier "com.sophos.endpoint.scanextension" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.2 All
    com.sophos.liveresponse identifier "com.sophos.liveresponse" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.1 Central only
    com.sophos.SophosMDR identifier "com.sophos.SophosMDR" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.1 Central with MDR only
    com.sophos.autoupdate identifier "com.sophos.autoupdate" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 OPM only
    com.sophos.macendpoint.CleanD identifier "com.sophos.macendpoint.CleanD" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 All
    com.sophos.SophosScanAgent identifier "com.sophos.SophosScanAgent" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 All
    com.sophos.macendpoint.SophosServiceManager identifier "com.sophos.macendpoint.SophosServiceManager" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 All
    com.sophos.endpoint.uiserver identifier "com.sophos.endpoint.uiserver" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 Central only
    com.sophos.SDU4OSX identifier "com.sophos.SDU4OSX" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 All
    com.sophos.endpoint.SophosAgent identifier "com.sophos.endpoint.SophosAgent" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 All
    com.sophos.SophosAntivirus identifier "com.sophos.SophosAntiVirus" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 All
    com.Sophos.macendpoint.SophosSXLD identifier "com.Sophos.macendpoint.SophosSXLD" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774" v10.0.0 All
  7. In Code Requirement, this can also be self-generated. Run the following on a Mac with version 10.0.0 (Sophos Central) and above:
     
    codesign --display -r - <app path from table above>
  8. Once it has been added, permissions can be selected accordingly. Each one should be given "All Files" / "SystemPolicyAllFiles" as the access.
  9. Save and deploy the configuration as needed.

Allow the Sophos Kernel Extensions

The same profile can be used, but the option "Approved Kernel Extensions" needs to be selected. If this is not configured yet, select the "open" button at the center to begin the configuration.

During configuration, 3 kernel extensions will need to be added, as well as the Sophos Team ID [2H5GFH3774]

Note: Please ensure that "Allow users to approve kernel extensions" is unchecked.

Referring to the screenshot above, add the following kernel extensions:

  • com.sophos.nke.swi
  • com.sophos.kext.sfm
  • com.sophos.kext.oas

Make sure to save your changes.

(Big Sur - macOS 11) Configure the system extension

The same profile configuration can be used.

  1. From the Options, select “System Extensions”.
    1. This step is similar to the ones above, but for the new system extensions
  2. The following empty template will be displayed
  3. For the display name, specify the following entries
    1. com.sophos.endpoint.networkextension
    2. com.sophos.endpoint.scanextension
  4. Add 1 entry for each. Make sure that the System Extension Types are set to “Allowed System Extensions
    1. The picture displays a complete profile example. For the Team Identifier, specify the Sophos Team ID [ 2H5GFH3774 ]
  5. Reference the following screenshot for an example of the Options overview
  6. Don't forget to save your changes

Alternate method

Note: Sophos does not guarantee the security of third party applications and they should be used at your own risk.

There is a utility called PPPC Utility on Github which allows you to build a configuration profile for Privacy Preferences. It can be located here: https://github.com/jamf/PPPC-Utility.  To use this, follow the guidance on the link, and drag and drop the Sophos items into it.

This profile can then be loaded into JAMF.

Related videos

Special thanks to  

How to Configure JAMF Privacy Preferences for 10.15 Compatibility

Sophos Approve Endpoint KEXT

How to make a Sophos Central macOS installation package in Jamf Pro

How to make an installation script for Sophos Central macOS endpoint deployment in Jamf Pro

How to deploy Sophos Central macOS endpoint via Jamf Remote

 

Related information


JAMF Pro keys for 10.0.2 EAP to pre-approve the proxy configuration

Special thanks to   for sharing this!

Within the same Configuration Profile, add a Content Filter payload (this requires Jamf Pro 10.26+) with the following keys and values configured:

Filter Name SophosWebNetworkExtension
Identifier com.sophos.endpoint.network
Network Filter Bundle Identifier com.sophos.endpoint.networkextension
Network Filter Designated Requirement identifier "com.sophos.endpoint.networkextension" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774"

Note that the Filter Name can be anything, but it is required.

Once the complete, the payload should look like this:

Content Filter payload




Updated 12/9/2020 -Added notes that provide the keys for 10.0.2 EAP to pre-approve the proxy configuration - For the display name, specify the following entries: com.sophos.endpoint.networkextension, com.sophos.endpoint.scanextension - Updated screenshot and note for "Allow the Sophos Kernel Extensions" - Added entry for "com.sophos.endpoint.scanextension" and added a column for "Valid since" to include relevant version info
[edited by: FloSupport at 9:45 PM (GMT -8) on 23 Feb 2021]
Parents
  • Hi,

    I am sorry to hear that you are having issues with these actions.
    If the profiles aren't working and you still getting the popups - the first thing we need to check is that the permissions have been applied.

    Verify full disk access
    command: sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db "select client,auth_value from access" | grep -i sophos | sort
    expected output:
    /Library/Sophos Managed Detection and Response/SophosMDR|2
    com.sophos.SDU4OSX|2
    com.sophos.SophosScanAgent|2
    com.sophos.autoupdate|2
    com.sophos.endpoint.scanextension|2
    com.sophos.endpoint.uiserver|2
    com.sophos.liveresponse|2
    com.sophos.macendpoint.CleanD|2
    com.sophos.macendpoint.SophosServiceManager|2

    Verify status of system extensions
    command: systemextensionsctl list | grep -i sophos
    expected output:
    * * 2H5GFH3774 com.sophos.endpoint.networkextension (1.0/2) networkextension [activated enabled]
    * * 2H5GFH3774 com.sophos.endpoint.scanextension (1.0/1.0) com.sophos.endpoint.scanextension [activated enabled]

    The one thing that can't be easily checked is if the network proxy configuration has been allowed. Please check the section above: JAMF Pro keys for 10.0.2 EAP to pre-approve the proxy configuration for steps to allow it.

    As a note, Apple requires Terminal to have full disk access to run these commands. 

    RichardP

    Snr. New Product Introduction Engineer | CISSP | Sophos Technical Support
    Support Videos | Product Documentation | @SophosSupport | Sign up for SMS Alerts
    If a post solves your question use the 'Verify Answer' link.

  • I have followed all instructions above and the Profiles have been applied successfully via JAMF, can you please explain why I am not receiving the correct output from the Terminal commands you have posted above?

    Terminal has Full Disk Access, Profiles have applied. I've attached screenshots of our profile in JAMF, in Sys Prefs and the Terminal output from your commands. 

    Sophos Support have not provided any solutions. 




  • Could you post the result of this command as well:

    defaults read /Library/SystemExtensions/db.plist

    Edit:

    The result of the sqlite3 command show only policies that were user approved once (This does not include preapproved permissions.). Could you please check your list of included services. Maybe there are whitespaces at the start/end of the requirements

  • The policies (for system extension) are applied correctly. The only config that differs from my setup is the fact that your users are allowed to override this. Could you try turning this setting off and see how it behaves? In JAMF it is called 'Allow users to approve system extensions'.

  • I've unchecked this now. 

    Do I also need to uncheck these options?

Reply Children
No Data