# Policies

This page contains the list of existing scan policies, summary information regarding to these scan policies, and allows you to operate on these existing scan policies.

Scan policies contain the settings and the customized specifications according to our needs and determine the scope of the scan.

FSProtect scanning engine consists of submodules that have different responsibilities and allows users to create a customizable scan procedure according to the user need.

By default, there is one pre-defined scan policy named as **Default Policy**.

Scan policies are allow user to;

* Enable or disable the scan modules.
* Define exclusions for scans.
* Define exclusions for vulnerabilities.
* Define thresholds for vulnerabilities.
* Enable or disable the checker engines for vulnerabilities.

<figure><img src="/files/SPhyPdDWES7weC31ZrlH" alt=""><figcaption><p>Scan Policies</p></figcaption></figure>

Tooltip provider that is above and right side on the table allows us to;

* **Search**: Search in the scan policies table according to their names.
* **Export**: Exports all scan policies and respective information that is listed in this table as a CSV file.

### **New Policy (Active Directory /** Azure)&#x20;

Creates a new scan policy by cloning one of the existing scan policies. You can select the type of the policy after clicking new policy button.

<figure><img src="/files/Nlg2GwXhV4uIiDCsQpfn" alt=""><figcaption><p>New Policy Selection</p></figcaption></figure>

The checkboxes that can be found on the left side of the list can be used to perform bulk operations on the selected scan policies.

Allowed operations are;

* **Export:** Export the selected scan policies
* **Export All:** Export all scan policies from the table
* **Delete:** Delete the selected scan policies

![Creating new Policy](/files/AlGASb8BBIpQaSmGJWcf)

New Policy can be created from Base Policy that is a virtual policy with default settings, all modules enabled, no general exclusions, all vulnerabilities enabled and no vulnerability exclusions.

### Export/Import

Export/Import functionality can be used to save scan policies to a JSON file and importing them back.

#### Exporting Policies

**Bulk Export**

* Navigate to the Policies section in the application.
* Select the policies you wish to export by checking the boxes next to them.
* Click on the Bulk Actions drop-down menu and select Export .
* Choose whether to export all policies or only the selected ones.
* The selected policies will be downloaded as a ZIP file containing individual JSON files.

<figure><img src="/files/6Jja9HQ0cIzq7hFLIPED" alt=""><figcaption><p>Bulk Export</p></figcaption></figure>

**Individual Policy Export**

* Locate the policy you want to export in the Policies list.
* Click on the three-dot menu (...) next to the policy.
* Select Export from the drop-down menu.
* The policy will be downloaded as a JSON file.

<figure><img src="/files/S9a3JOukFUiK4h4OYE3l" alt=""><figcaption><p>Individual Export</p></figcaption></figure>

#### **Importing Policies**

Access the Import Policy Interface:

* Navigate to the Policies section.
* Click on the Import Policy button located at the top-right corner of the screen (refer to Image 2 ).

Upload the Policy File:

<figure><img src="/files/yatpEcnHQdGHVFsp6P8u" alt=""><figcaption><p>Upload Policy</p></figcaption></figure>

In the Import Policy dialog box:

* Click on the Upload your policy file area to select the JSON or ZIP file containing the policy(ies).

After uploading the file:

<figure><img src="/files/SBc30mutzJHUTM0arTAn" alt=""><figcaption><p>Import Policy Next Step</p></figcaption></figure>

* The system will display the GUID and name of imported policy that can be renamed if needed
* Enter a new name for the policy in the text field provided.
* Click Save to complete the import process.
* New policy will be imported with new random GUID.

## General Information

**Name**: Name of the scan policy.

**Modules**: Names of the enabled modules, that are defined in the scan policy.

## General Operation

<figure><img src="/files/rNdXBGfIGLUAsQzIJJMU" alt=""><figcaption></figcaption></figure>

Three-dot button on the each row allows us to perform following operations on a scan policy;

**Edit**: Redirects the user to the **Edit Scan Policy** page. The **Edit Scan Policy** page allows the user to change all the configurations and specifications belong to the scan policy.

**Clone**: Creates a duplicate of the selected policy with the same configurations, allowing you to edit and save it as a new policy.

**Delete**: Deletes the selected scan policy.

### **General Exclusions**

Exclusions allow users to restrict the scanning of specific entities on the scan scope.

<figure><img src="/files/t4gRx2w4wvp5P3v37uj3" alt=""><figcaption><p>Defining Exclusions</p></figcaption></figure>

Following table describes the unique identifier for each Active Directory entity type; (See description of the Identifiers)

|        Entity Type        |                   Identifier                   |
| :-----------------------: | :--------------------------------------------: |
|         **Domain**        |                     FSName                     |
|        **Computer**       |                     FSName                     |
|          **User**         |                     FSName                     |
|         **Group**         |                     FSName                     |
|          **GPO**          |                     FSName                     |
|          **MSA**          |                     FSName                     |
|          **GMSA**         |                     FSName                     |
|       **LocalUser**       |                     FSName                     |
|       **LocalGroup**      |                     FSName                     |
|           **OU**          |                     FSName                     |
| **Certificate Authority** |                     FSName                     |
|  **Certificate Template** |                     FSName                     |
|        **Hostname**       |    DNS Hostname of the target client/server    |
|           **IP**          |     IP address of the target client/server     |
|        **IP Range**       | IP address range of the target clients/servers |

Following table describes the unique identifier for each Azure entity type; (See description of the Identifiers):

|       Entity Type       | Identifier |
| :---------------------: | :--------: |
|        **Tenant**       |   FSName   |
|         **User**        |   FSName   |
|        **Group**        |   FSName   |
|        **Device**       |   FSName   |
|     **Application**     |   FSName   |
|  **Service Principal**  |   FSName   |
|         **Role**        |   FSName   |
| **Administrative Unit** |   FSName   |

`Important Note:` If you have not any existing scan or the entity you want to exclude has not been identified before, you can just enter the `FSName` of the entity and Save. (See FSName formats)

### **Vulnerability Policies**

Vulnerability based scan policy configurations allows users to;

* Enable or disable the control mechanism of the each vulnerability.
* Define threshold values for the supported vulnerabilities.
* Define vulnerability specific exclusions to ignore a vulnerability on a specific entity or relation.

<figure><img src="/files/TD9945Kv8i2U9IYglY3C" alt=""><figcaption><p>Vulnerability Policies</p></figcaption></figure>

\
The search box, Status radio buttons, and Exclusion radio buttons can be used to filter or search a specific group of vulnerability policies.

The checkboxes that can be found on the left side of the list can be used to perform bulk operations on the selected vulnerability policies.

Allowed operations are;

* **Enable All**: Enables control mechanism of the selected vulnerability policies.
* **Disable All**: Disables control mechanism of the selected vulnerability policies.
* **Clear Exclusions**: Deletes all defined exclusions of the selected vulnerability policies.

<figure><img src="/files/mfQElA7epq4gH2Aqarvq" alt=""><figcaption><p>Vulnerability Policies</p></figcaption></figure>

### **Vulnerability Exclusions**

Vulnerability-based exclusions allow users to exclude or ignore the detected vulnerabilities on specific entities or relations.

Vulnerability-based exclusions vary according to the type of vulnerability.

Vulnerability-based exclusions are categorized as;

* Object Exclusions
* Object To Object Exclusions
* Object Relation Object Exclusions

#### **Object Exclusions**

Object-based exclusions are defined for the vulnerabilities that are caused by issues on a single entity.

`Inactive Users` vulnerability is an example of these types of vulnerabilities.

To specify the entity, `FSName` of the regarding entity must be submitted to the input field. If you have not any existing scan or the entity you want to exclude has not been identified before, you can just enter the `FSName` of the entity and Save. In addition, submitting the input fields as `Any` excludes the all objects from this vulnerability.

The information tooltip shows the detailed definitions about the specifications.

Following figure shows the guideline of defining an exclusion over these types of vulnerabilities;

<figure><img src="/files/JKnWYOM6jQLigILj4IRz" alt=""><figcaption><p>Defining Exclusion on Object</p></figcaption></figure>

In addition, following actions can be used for ;

* Delete: Delete selected exclusion item from the current vulnerability policy.
* Clone:  Duplicate selected exclusion item to the current vulnerability policy.
* Apply To Others: Apply(add/delete) selected exclusion item to other vulnerability policies.

#### **Object To Object Exclusions**

Object to object based exclusions are defined for the vulnerabilities that are caused by issues on existence of a constant and specific relation between two objects.

`Admin Sessions on Non-Domain Controller Servers` vulnerability is an example of these types of vulnerabilities.

To specify the entities, `FSName` of the regarding entities must be submitted to the input fields. If you have not any existing scan or the entity you want to exclude has not been identified before, you can just enter the `FSName` of the entity and Save. In addition, submitting the input fields as `Any` excludes the all objects from this vulnerability.

The information tooltip shows the detailed definitions like source and destination about the specifications.

Following figure shows the guideline of defining an exclusion over these types of vulnerabilities;

<figure><img src="/files/y74XFzXsolyswrw5ZFGM" alt=""><figcaption><p>Defining an Exclusion on Object to Object Relation</p></figcaption></figure>

In addition, following actions can be used for ;

* Delete: Delete selected exclusion item from the current vulnerability policy.
* Clone:  Duplicate selected exclusion item to the current vulnerability policy.
* Apply To Others: Apply(add/delete) selected exclusion item to other vulnerability policies.

#### **Object-Relation-Object Exclusions**

Object-relation-object based exclusions are defined for the vulnerabilities that are caused by issues on the existence of dynamic and various relations between two objects. (See [Relations](broken://pages/jMscwqxlzJflL7TPk2Qv))

`Dangerous Access Control Entries on Users` vulnerability is an example of these types of vulnerabilities.

To specify the entities, `FSName` of the regarding entities must be submitted to the input fields.

To specify the relation names, `relation name` of the regarding relation between entities must be submitted to the input field.

If you have not any existing scan or the entity or relation you want to exclude has not been identified before, you can just enter the `FSName` of the entity and Save. In addition, submitting the input fields as `Any` excludes the all objects from this vulnerability.

The information tooltip shows the detailed definitions like source, destination and relation about the specifications.

Following figure shows the guideline of defining an exclusion over these types of vulnerabilities;

In addition, following actions can be used for ;

* Delete: Delete selected exclusion item from the current vulnerability policy.
* Clone:  Duplicate selected exclusion item to the current vulnerability policy.
* Apply To Others: Apply(add/delete) selected exclusion item to other vulnerability policies.

<figure><img src="/files/zQINp7BjRWJus9F5Fqyg" alt=""><figcaption><p>Defining an Exlusion as Object-Relation-Object</p></figcaption></figure>

#### **Apply To Others**

The "Apply to Others" button allows us to add or delete the selected exclusion item to the other vulnerability policies that have the same exclusion definition type.

To be able to apply the selected exclusion item to the other vulnerability policies, the current vulnerability policy must not have unsaved changes.&#x20;

As an example, the following figure shows how to add the selected exclusion item from the "Dangerous Access Control Entries on Users" vulnerability policy to "Dangerous Access Control Entries on Privileged/Admin Objects vulnerability policy;

<figure><img src="/files/FseuUoBHy4crvwKDWqEB" alt=""><figcaption><p>Apply to Others (Add) </p></figcaption></figure>

As another example, the following figure shows how to delete the selected exclusion item from the  "Dangerous Access Control Entries on Privileged/Admin Objects vulnerability policy;

<figure><img src="/files/lBfxv6Jij8RUmrYNeBmz" alt=""><figcaption><p>Apply to Others (Delete)</p></figcaption></figure>

### Vulnerability Policy Export/Import

Vulnerability export/import functionality can be used to export and import only vulnerability settings which have enabled/disabled vulnerabilities and exclusions in them

<figure><img src="/files/v9iHtcYvo3VhKIomFxOX" alt=""><figcaption><p>Import / Export Vulnerability Policies</p></figcaption></figure>

**Exporting Vulnerability Policies**

* Navigate to the Vulnerability Policies Section
* Go to the Vulnerability tab within the policies section
* Click on the Export Vulnerability Policies button located at the top-right corner of the screen.
* The system will prompt you to download the exported file, which will typically be in JSON format (e.g., Default Policy-vulnerability-policies.json).

**Importing the Vulnerability Policy File**

* Click on the Import Vulnerability Policies button located at the top-right corner of the screen.
* In the Import Policy dialog box, click on the "upload your policy file" area to select the JSON file containing the vulnerability policy.
* After uploading the file, click "Save" to complete the import process.
* Imported policies are fully populated with their defined settings.

<figure><img src="/files/0poMb6b9naiNN7uIfIcm" alt=""><figcaption><p>Policy import Example</p></figcaption></figure>

{% content-ref url="/pages/UWcmL2EesJMMbPDA8gml" %}
[AD Policies](/fsprotect/scans/policies/policies.md)
{% endcontent-ref %}

{% content-ref url="/pages/8ZakcdQJ7I7Y87ncPqAb" %}
[Azure Policies](/fsprotect/scans/policies/azure-policies.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.forestall.io/fsprotect/scans/policies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
