Task List
|
Task # |
Task |
Performed by |
|---|---|---|
|
1 |
Prepare Defender for Endpoint for use with CI Sync |
Azure Admin |
|
1b |
(Optional): Grant Additional Permissions to the App Registration to enrich Defender Device Data from Entra ID |
Azure Admin |
|
2 |
Understand the CI Sync RecVer Database |
SQL DBA
|
|
3
|
Create a Source System Connection using the CI Sync Agent Config Utility with a SQL RecVer DB |
Infrastructure SME
|
|
3
|
Or, Create a Source System Connection using the CI Sync Agent Config Utility with a MongoDB RecVer DB (if supported) |
Infrastructure SME
|
|
4 |
Finalise Settings in the CI Sync SaaS UI |
CI Sync Admin |
|
5 |
Perform Updates in ServiceNow (if required) |
ServiceNow Admin |
|
6 |
Understand the data CI Sync sends to ServiceNow from Defender for Endpoint |
ServiceNow Admin
|
|
7 |
Do Not Synchronize Installed Software from two different source systems |
CI Sync Admin |
Task 1: Prepare Defender for Endpoint for use with CI Sync
Context Notes
In Azure ADD (AAD) an App Registration is used to define a Service Principal for the purpose of authenticating a source application to a destination system/application.
The App Registration created in this section relates to the Defender for Endpoint Source Connection created within the CI Sync Agent.
This Defender for Endpoint specific App Registration is different (and unrelated) to the App Registration for the CI Sync Agent itself that was create in S3 - Create an Entra ID App Registration for CI Sync Agent Authentication)
-
In the Azure Portal, navigate to Azure Active Directory -> App Registrations and click New Registration
-
On the Register an application form complete as follows:
-
Enter the Name (Note: Syncfish recommend using “CI Sync Agent Connector for Defender for Endpoint”)
-
Under Supported account types select “Accounts in this organizational directory only ({Your Domain/Tenant Name} only - Single tenant)”
-
Click Register
-
-
Navigate to API permissions and click Add Permission
-
Click on APIs my organization uses, then select WindowsDefenderATP
-
Click on Application permissions
-
In the Select permissions filter, location and select each of the following:
-
Machine.Read.All
-
Software.Read.All
-
Vulnerability.Read.All
-
User.Read.All
-
-
Finally, click the Add permission button
-
You should now be back on the API Permissions form showing the list of permissions you selected (see screen shot below to validate you have selected the required permissions).
-
Now, Click Grant admin consent for {Your Domain Name}
-
-
Click Yes to confirm granting Admin Consent. The resulting screen should look as shown below.
-
Using the left-hand menu, navigate and select Certificates & secrets. Select “Client secrets (0)” in the middle of the form and then click the “New client secret” button.
-
Enter a unique Description for the secret associated with this CI Sync Agent Connector for Defender for Endpoint App Registration (e.g. “CI Sync Agent Connector for Defender for Endpoint Client Secret”).
-
Then, select a suitable Expires duration based on your organisational policy. Finally click the Add button.
Guidance Note
It is recommended you set a reminder prior to the expiry date of the Secret (i.e. a reminder to regenerate in Azure and then update the secret in the CI Sync Agent Config Utility).
-
The form now displays the generated secret value (shown in the Value field)
-
Use the copy option to make a copy of the value in the Value field.
-
Data Capture Note
-
The Value is only available while you remain on this screen. You must make a copy of the Value before leaving this form.
-
Make sure you copy the “Value” and NOT the “Secret ID”.
Make sure the secret stored securely and in a way that can be shared with the CI Sync Admin so they can use it when the follow the instructions later in this page.
-
Return to the Overview page for the App Registration.
-
Use the copy option to make a copy of the “Application (client) ID” GUID value and the “Directory (tenant) ID” GUID value.
-
You have now granted the App Registration object (i.e. the CI Sync Agent Connector for Defender for Endpoint) read permissions to MS Defender for Endpoint which will allow you to use the CI Sync User Interface to schedule synchronization jobs using that same Defender for Endpoint as a synchronization source.
Data Capture Summary
As a reminder, you should have captured the following information when completing the above steps.
-
The Secret Value (from Step 14 above). This is the Client Secret value.
-
The Application (client) ID (from Step 15 directly above).
-
The Directory (tenant) ID (also from Step 15 directly above).
Make sure any secrets or sensitive information is stored securely and in a way that can be shared with the CI Sync Admin.
The above information will be needed by the CI Sync Admin when they follow the instructions in Task 3 further below.
Task 1b (Optional): Grant Additional Permissions to the App Registration to enrich Defender Device Data from Entra ID
The API for MS Defender for Endpoint returns limited attributes about each endpoint device.
For example, the API does not return Manufacturer or Model information for each device record.
To compensate for this, CI Sync provides an option to enrich the Defender device records with attribute data from Entra ID. Note: This only works for devices that are AAD enrolled.
If you wish to use this feature (i.e. to enable enrichment of device records from the device data stored in Entra ID) you must grant additional permissions to the App Registration created above in Task 1.
The instructions to grant the additional permissions are included below.
-
In the Azure Portal, navigate to Azure Active Directory -> App Registrations.
-
Locate the Application Registration created above in Task 1.
-
Navigate to API permissions, click Add Permission and click Microsoft Graph.
-
Click Application permissions
-
Locate the Device collection, and select Device.Read.All
-
Click the Add Permission button at the bottom of the page
-
On API Permissions page, Click Grant admin consent for {Your Domain Name}
Task 2: Understand the CI Sync RecVer Database
This “task” is solely about understanding the purpose of the CI Sync RecVer database and making decisions on where to host it and how the CI Sync Agent will authenticate to it.
You may also need to make a decision on which database technology to use for the RecVer Database. The CI Sync Agent supports both MS SQL and MongoDB for the RecVer database (however there are some restirctions on which database technology you can use depending on the source system itself).
Understanding the above topics and making the relevant decisions before you create the source system connection (via the CI Sync Agent Config Utility) will make it quicker/easier to execute the remaining tasks in this guide.
Task 3 (SQL): Create a Source System Connection using the CI Sync Agent Config Utility with a SQL RecVer DB
As explained in the Guidance Notes above there are two options to facilitate the creation of the RecVer database and assigning permissions to it for the CI Sync (Agent). The table below elaborates the two options.
|
Option |
Description |
Details |
|
MS SQL Setup Option 1 |
Automatically using the CI Sync Agent Config Utility |
|
|
MS SQL Setup Option 2 |
Manually via a SQL Database Administrator (DBA) |
|
Expand the instructions below for either Option 1 or Option 2.
Option 1: Use the Config Utility to automatically create the RecVer database
Expand the instructions below if your SQL DBA will manually setup the RecVer database (and set the required permissions to the RecVer SQL DB).
Option 2: Use your SQL Database Administrator (DBA) to manually create the RecVer database in advance
Expand the instructions below if your SQL DBA will manually setup the RecVer database (and set the required permissions to the RecVer SQL DB).
Task 3 (Mongo): Or, Create a Source System Connection using the CI Sync Agent Config Utility with a MongoDB RecVer DB (if supported)
This task is not applicable because CI Sync does not support a Mongodb RecVer DB for the source system covered by this guide.
Task 3 (Optional): Supplementary Instructions for Certificate Based Authentication
Task 4: Finalise Settings in the CI Sync SaaS UI
-
Login to your CI Sync SaaS instance at https://YourCo.syncfish.app
-
In the CI Sync UI, navigate to Settings > Connections.
-
Find the new source system connection you just added in the list of Source Connections (the screen shot above is a sample only).
-
Find your specific Source System Connection in the list and click the Update hyperlink (on the right hand side of the screen).
-
The connection Settings Form is presented. Update as follows:
-
Enter an Alias (optional) - the alias is only used in the CI Sync SaaS UI to show a friendly name in various UI forms.
-
Set the Environment/s the new source connection can be used for.
-
In most cases a Source System Connection is used for both Test and Production sync jobs (as distinct from the Destination Connections which can only be either Test or Production).
-
The Environment value is used to filter the connections dropdown list when you are creating a sync job.
-
-
-
While you are on this page you can/should check whether there are any connection specific settings you may want to adjust either now or at some point in the future. Connection specific settings (or just Connection Settings) allow you to override the default data sync rules for your CI Sync instance.
-
Read the following details to understand more about CI Sync Connection Settings:
-
Scroll further down to the Additional Settings section on the page to see any available Connection Settings. Below is an example of the sorts of settings you might notice.
-
The settings are specific to each source connection so the screen shot is an example only.
-
Syncfish recommend you read the following documentation before overriding any of the default settings:
-
Read the CI SyncDefault Configuration Guides. The pages in that tree provide comprehensive information about the default behaviour of the CI Sync data sync rules, the options available for overriding those rules and typical reasons why you might want to do this.
-
Read Understanding the use of CI Sync Connection Settings. This page explains how the Connection Settings should be used, how to modify settings via the CI Sync UI and how to test any setting changes in non-production prior to production.
-
-
Finally, if you are ready to modify any of the Connection Settings, visit Connection Setting Guides and locate the specific Source System page/s in that tree. The individual pages in that tree provide detailed information about each setting.
-
-
After making any changes on this page, scroll to the bottom of the page, Check the consent checkbox and Click the Save connection button.
You have now completed all tasks to add your new Source Connection in the CI Sync Agent.
Please do one of the following:
-
Either add any additional source connections (using the relevant pages under Add Source Systems to On-Prem Agent)
-
Or if you haven’t do so already, then follow the instructions inS6 - Configure your ServiceNow for CI Sync.
Task 5: Perform Updates in ServiceNow (if required)
Guidance Note
Syncfish recommend the person setting up the source system described in this guide discusses this particular task with their ServiceNow system administrator.
A ServiceNow administrator will need to perform these steps.
Syncfish recommend following these instructions in your non-production ServiceNow environment for testing synchronizations from MS Defender for Endpoint.
Only once exhaustive testing in non-production is complete, repeat this process in your ServiceNow production environment.
Context
CI Sync synchronizes IT assets including their installed software with known CVEs from Defender for Endpoint.
CI Sync relies upon two custom tables in ServiceNow.
-
One table is used to store the CVE records.
-
A second table stores the link between CIs and the CVEs.
Syncfish provides a ServiceNow updateset to prepare your ServiceNow instance for CI Sync. The updateset does the following:
-
Creates the custom tables mentioned above.
-
Applies the ACL on the custom tables and assigns the ACL to the ServiceNow role called “Asset” (which is one of the roles granted to the CI Sync Integration Account created during S6 - Configure your ServiceNow for CI Sync).
Task Steps
Follow these steps to apply the updateset provided by Syncfish:
-
Download the update set from Syncfish at the below URL: https://downloads.syncfish.app/servicenow/cisync-cmdb-vulnerabilities.xml
-
Login to your ServiceNow instance with Admin permissions.
-
Open a browser and navigate to your ServiceNow instance
-
In the left nav menu search for “Retrieved Update Sets” and click to open
-
Right click on the column heading row and select “Import XML”
-
Select “Choose File”
-
Select the downloaded file “cisync-cmdb-vulnerabilities.xml”
-
Click to open the Update Set
-
Click “Preview Update Set”
-
If there are no preview errors, Click “Close”.
-
Click “Commit Update Set”.
-
Your ServiceNow instance is now ready to receive CVE data from MS Defender for Endpoint via sync jobs from CI Sync.
Task 6: Understand the data CI Sync sends to ServiceNow from Defender for Endpoint
Synchronizing data from Microsoft Defender for Endpoint allows organisations to view and act upon vulnerabiltiies associated with CIs from within ServiceNow. Organisations can create dashboards based on the data sync’d by CI Sync and can also create workflows to automate the allocation of remediation tasks to the operational teams responsible for groups of CIs.
Syncfish recommend reading the details in this section to understand the records and attributes CI Sync sends to ServiceNow using Defender for Endpoint as the source system.
Set the Common Vulnerability Scoring System (CVSS) threshold for CI Sync jobs
CI Sync allows you to set a minimum CVE severity threshold to control the severity of CVEs synchronized into ServiceNow. That is, you can define which CVEs are not worth synchronizing into ServiceNow based on the CVSS threshold value.
You should review and set the desired CVSS threshold value before running your first sync job from Defender for Endpoint.
The following pages are specifically related:
Understand the record sets, related lists and attributes populated by CI Sync
Please refer to the MS Defender for Endpoint Data Sync Rules for detailed information about various default rules used by CI Sync source system connnector for MS Defender for Endpoint.
The following pages are specifically related:
-
Rule 1 - Defender for Endpoint Record Sets for Assets and Related Child Records
-
Rule 2 - Mapping of Defender for Endpoint Asset Types to ServiceNow CMDB CI Classes
-
Rule 3 - ServiceNow Master Data Tables updated by CI Sync for Defender for Endpoint
-
Rule 4 - Mapping of Defender for Endpoint Attributes/Fields into CMDB CI Classes
-
Rule 9 - Enrich Defender for Endpoint Device Data (Payloads) from Entra ID
Sample screen shots of the resulting data
Below are screen shots showing the resulting data in ServiceNow thanks to CI Sync synchronizing the above record sets.
Screen Shot 1: An IT asset created by CI Sync showing related CVEs and associated software applications identified by Defender for Endpoint.
Screen Shot 2: An individual CVE master record showing the CVE details and the related list of all impacted CIs (including the related software applications).
NOTE: You can locate the generated data from the ServiceNow navigation menu.
Optional: Add Related Lists to existing CI forms
Below are the steps to modify a ServiceNow CI form to expose “CVE Instances” for related CIs.
-
Login to your ServiceNow instance with Admin permissions.
-
Navigate to the CI form for a CI Class relevant to CVEs (e.g. navigate to a Windows Server CI).
-
Right-click in the heading area of the form, then click Configure and then Related Lists from the sub-menus.
-
Identify the Related List you want to expose on the CI form using the table further below (i.e. the table that shows the Related Lists populated by CI Sync).
-
Click the Related List and then click add (the selection arrow) to move the item to the Selected column and then click Save.
Table showing the Related Lists (per CI Class) populated by CI Sync for the source system in this guide.
|
CI Class |
Related List
|
Related List Name as it appears in the ServiceNow UI when adding it to a CI Form
|
|
Apple Macs |
CVE Instance |
CVE Instance → CMDB CI |
|
Windows PC |
CVE Instance |
CVE Instance → CMDB CI |
|
Windows Servers |
CVE Instance |
CVE Instance → CMDB CI |
How CI Sync uses the CVE Status value so you can establish a remediation workflow
In addition to creating the record sets and related lists described above, CI Sync sets a dedicated CVE Status attribute on each CVE associated with a given CI and the associated software appplication. This can be a highly valuable feature allowing organisations to define an end-to-end workflow for remediating detected CVEs.
Here’s how it works:
-
When CI Sync first creates the CVE record against each CI, the status value is set to “Unresolved”. See the screen shot below.
-
Organisations can use this “Unresolved” status to create one/more remediation tasks to the relevant operational teams.
-
Syncfish recommend the status be set to “Resolved Pending” once the team has remediated the CVE/s on the related CI.
-
Resolved Pending indicates the team is waiting for Microsoft Defender for Endpoint to separately detect the CVE has been addressed and therefore can be removed from the asset in the Defender for Endpoint portal.
-
-
At this point the Microsoft Defender for Endpoint portal has removed the CVE against the asset.
-
The subsequent CI Sync job will detect the CVE has been removed by Microsoft Defender for Endpoint and CI Sync will change the status value to “Resolved Confirmed” against the CI.
Other synchronization behaviours
-
CI Sync only creates CVE definition records for records that have current occurrences across the devices inventory being synchronized from MS Defender.
-
CI Sync won't attempt to delete the CVE definition records when there are no more instances of that CVE across the devices inventory being synchronized from MS Defender.
-
CI Sync doesn’t delete the records that link the CVE records to the CIs.
Task 7: Do Not Synchronize Installed Software from two different source systems
Customers should be aware that if you synchronize Installed Software (i.e. the installed software applications for the same IT asset) from two different source systems (e.g. from Intune and Defender, or from Lansweeper and Defender, or InTune and SCCM, etc etc) for the same device you will end up with duplicate software instance records in your CMDB.
The cause of this issue is the naming convention of Installed Software is inconsistent between different source systems, and therefore CI Sync cannot reliably correlate the Installed Software per CI within the CMDB. By way of example:
-
In InTune, “Microsoft Teams” is stored as “MSTeams” (and there is no Manufacturer attribute in InTune).
-
However, in Defender for Endpoint, “Microsoft Teams” is stored as “Teams”.
Important Recommendation from Syncfish
Syncfish do NOT recommend synchronizing Installed Software from two different source systems.
Below are some notes to action this in advice in the CI Sync Web UI:
-
When you are creating a sync job via the CI Sync UI and reach the Selections page, do not select “Software” or “Software Installs” from a given source system if you have already selected Installed Software on another source system sync job.
The screen shot below shows a sample of the Selection page for InTune as the source system for a CI Sync job. If you have selected Software Installs for InTune you should not select Software Installs for a Microsoft Defender for Endpoint sync job (as shown on the subsequent screen shot below)
The screen shot shows the Selection page for Microsoft Defender for Endpoint as the source system for a CI Sync job. You should NOT select Software Installs via Microsoft Defender for Endpoint because you have selected Software Installs via the InTune source system.
The same logic/approach applies to any other source system that offers Installed Software, such as SCCM or Lansweeper. The key message is: do NOT recommend synchronizing Installed Software from two different source systems.