Data leak prevention concepts
Data leak prevention examines network traffic for data patterns you specify. You define whatever patterns you want the FortiGate unit to look for in network traffic. The DLP feature is broken down into a number of parts.
A DLP sensor is a package of filters. To use DLP, you must enable it in a security policy and select the DLP sensor to use. The traffic controlled by the security policy will be searched for the patterns defined in the filters contained in the DLP sensor. Matching traffic will be passed or blocked according to how you configured the filters.
Each DLP sensor has one or more filters configured within it. Filters can examine traffic for known files using DLP fingerprints, for files of a particular type or name, for files larger than a specified size, for data matching a specified regular expression, or for traffic matching an advanced rule or compound rule.
You can configure the action taken when a match is detected. The actions include:
- Log Only
- Quarantine IP address
Log Only is enabled by default.
DLP Filter Actions
No action is taken if filter even if filter is triggered
The FortiGate unit will take no action on network traffic matching a rule with this action. The filter match is logged, however. Other matching filters in the same sensor may still operate on matching traffic.
Traffic matching a filter with the block action will not be delivered. The matching message or download is replaced with the data leak prevention replacement message.
Quarantine IP Address/ Source IP ban
Starting in FortiOS 5.2, the quarantine, as a place where traffic content was held in storage where it couldn’t interact with the network or system was removed, but the term quarantine was kept to describe keeping selected source IPs from interacting with the network and protected systems. This source IP ban is kept in the kernel rather than in any specific application engine and can be queried by APIs. The features that can use the APIs to access and use the banned source IP addresses are antivirus, DLP, DoS and IPS. Both IPv4 and IPv6 version are included in this feature.
If the quarantine-ip action is used, the additional variable of expiry time will become available. This variable determines for how long the source IP adddress will be blocked. In the GUI it is shown as a field before minutes. In the CLI the option is called
expiry and the duration is in the format
<###d##h##m>. The maximum days value is 364. The maximum hour value is 23 and the maximum minute value is 59. The default is 5 minutes.
Configure using the CLI
To configure the DLP sensor to add the source IP address of the sender of a protected file to the quarantine or list of banned source IP addresses edit the DLP Filter, in the CLI. as follows:
config dlp sensor
edit <sensor name>
edit <id number of filter>
set action quarantine-ip
set expiry 5m
A number of preconfigured sensors are provided with your FortiGate unit. These can be edited or added to more closely match your needs.
Some of the preconfigured sensors with filters ready to go are:
- Credit-Card - This sensor logs the traffic, both files and messages, that contain credit card numbers in the formates used by American Express, MasterCard and Visa.
- SSN-Sensor - This sensor logs the traffic, both files and messages, that contain Social Security Numbers with the exception of those that are WebEx invitation emails.
|These rules affect only unencrypted traffic types. If you are using a FortiGate unit that can decrypt and examine encrypted traffic, you can enable those traffic types in these rules to extend their functionality if required.|
|Before using the rules, examine them closely to ensure you understand how they will affect the traffic on your network.|
DLP document fingerprinting
One of the DLP techniques to detect sensitive data is fingerprinting (also called document fingerprinting). Most DLP techniques rely on you providing a characteristic of the file you want to detect, whether it’s the file type, the file name, or part of the file contents. Fingerprinting is different in that you provide the file itself. The FortiGate unit then generates a checksum fingerprint and stores it. The FortiGate unit generates a fingerprint for all files detected in network traffic, and it is compared to all of the fingerprints stored in its fingerprint database. If a match is found, the configured action is taken.
The document fingerprint feature requires a FortiGate unit with internal storage. The document fingerprinting menu item does not appear on models without internal storage.
Any type of file can be detected by DLP fingerprinting and fingerprints can be saved for each revision of your files as they are updated.
To use fingerprinting you select the documents to be fingerprinted and then add fingerprinting filters to DLP sensors and add the sensors to firewall policies that accept the traffic to which to apply fingerprinting.
Fingerprint scanning allows you to create a library of files for the FortiGate unit to examine. It will create checksum fingerprints so each file can be easily identified. Then, when files appear in network traffic, the FortiGate will generate a checksum fingerprint and compare it to those in the fingerprint database. A match triggers the configured action.
You must configure a document source or uploaded documents to the FortiGate unit for fingerprint scanning to work.
The FortiGate unit must have access to the documents for which it generates fingerprints. One method is to manually upload documents to be fingerprinted directly to the FortiGate unit. The other is to allow the FortiGate unit to access a network share that contains the documents to be fingerprinted.
If only a few documents are to be fingerprinted, a manual upload may be the easiest solution. If many documents require fingerprinting, or if the fingerprinted documents are frequently revised, using a network share makes user access easier to manage.
Fingerprinting by document source
To configure a fingerprint document source
- Go to Security Profiles > Advanced > DLP Fingerprint.
- In the Document Sources section, select Create New.
- Configure the settings:
|Name||Enter a descriptive name for the document source.|
|Server Type||This refers to the type of server share that is being accessed. The default is Windows Share but this will also work on Samba shares.|
|Server Address||Enter the IP address of the server.|
|User Name||Enter the user name of the account the FortiGate unit uses to access the server network share.|
|Password||Enter the password for the account being used to access the network share.|
|Path||Enter the path to the document folder.|
|Filename Pattern||You may enter a filename pattern to restrict fingerprinting to only those files that match the pattern. To fingerprint all files, enter an asterisk (“*”).|
|Sensitivity Level||Select a sensitivity level. The sensitivity is a tag for your reference that is included in the log files. It does not change how fingerprinting works.|
|Scan Periodically||To have the files on the document source scanned on a regular basis, select this option. This is useful if files are added or changed regularly. Once selected, you can choose Daily, Weekly, or Monthly update options.The Hour and Min fields are for determining, in a 24 hour clock, the time that the source shares will be scanned.|
|Advanced||Expand the Advanced heading for additional options.|
|Fingerprint files in subdirectories||By default, only the files in the specified path are fingerprinted. Files in subdirectories are ignored. Select this option to fingerprint files in subdirectories of the specified path.|
|Remove fingerprints for deleted files||Select this option to retain the fingerprints of files deleted from the document source. If this option is disabled, fingerprints for deleted files will be removed when the document source is rescanned.|
|Keep previous fingerprints for modified files||Select this option to retain the fingerprints of previous revisions of updated files. If this option is disabled, fingerprints for previous version of files will be deleted when a new fingerprint is generated.|
- Select OK.
Fingerprinting manually by document
To configure manual document fingerprints
- Go to Security Profiles > Advanced > DLP Fingerprint.
- In the Manual Document Fingerprints section, select Create New.
- Use the Browse feature for the File field to select the file to be fingerprinted. The selection will be limited to network resourses
- Choose a Sensitivity level. The default choices are Critical, Private and Warning, but more can be added in the CLI.
- If the file is an archive containing other files, select Process files inside archive if you also want the individual files inside the archive to have fingerprints generated in addition to the archive itself.
- Select OK.
The file is uploaded and a fingerprint generated.
This filter-type checks for files exceeding a configured size. All files larger than the specified size are subject to the configured action. The value of the field is measured in Kilobytes.
File filters use file filter lists to examine network traffic for files that match either file names or file types. For example, you can create a file filter list that will find files called secret.* and also all JPEG graphic files. You can create multiple file filter lists and use them in filters in multiple DLP sensors as required.
Specify File Types is a DLP option that allows you to block files based on their file name or their type.
- File types are a means of filtering based on an examination of the file contents, regardless of the file name. If you block the file type Archive (zip), all zip archives are blocked even if they are renamed with a different file extension. The FortiGate examines the file contents to determine what type of file it is and then acts accordingly.
- File Name patterns are a means of filtering based purely on the names of files. They may include wildcards (*). For example, blocking *.scr will stop all files with an scr file extension, which is commonly used for Windows screen saver files. Files trying to pass themselves off as Windows screen saver files by adopting the file-naming convention will also be stopped.
- Files can specify the full or partial file name, the full or partial file extension, or any combination. File pattern entries are not case sensitive. For example, adding
*.exeto the file pattern list also blocks any files ending with
- Files are compared to the enabled file patterns from top to bottom, in list order.
|File filter detects files within archives for FortiOS 5.0.8, 5.2.0 and later. If you set the file type as
Watermarking is essentially marking files with a digital pattern to mark the file as being proprietary to a specific company. Fortinet has a utility that will apply a digital watermark to files. The utility adds a small (approx. 100 byte) pattern to the file that is recognised by the DLP Watermark filter. the pattern is invisible to the end user.
When watermarking a file it should be verified that the pattern matches up to a category found on the FortiGate firewall. For example, if you are going to watermark a file with the sensitivity level of “Secret” you should verify that “Secret” is a sensitivity level that has been assigned in the FortiGate unit.
If you are using watermarking on your files you can use this filter to check for watermarks that correspond to sensitivity categories that you have set up.
The Corporate Identifier is to make sure that you are only blocking watermarks that your company has place on the files, not watermarks with the same name by other companies.
Before planning on using watermarking software it is always best to verify that the software will work with your OS. Currently, the only utility available to watermark files is within the FortiExplorer software and that is only only available for the Windows operating system. There was an older version of software that is for Linux and is Commandline only, but is has been discontinued.
The Watermark tool does not work with every file type. The following file types are supported by the watermark tool:
Currently the DLP only works with Fortinet’s watermarking software.
Using the FortiExplorer Watermark tool
The FortiExplorer software can be downloaded from the Fortinet Support Site.
- Choose whether to "Apply Watermark To:"
- Select File
- Entire Directory
- Fill in the fields:
- Select File
This Field has a browse icon next to it which will allow the user to browse to and select a single file or directory to apply the water mark to.
- Sensitivity Level
This field is a drop down menu that lists the available sensitivity levels that the FortiGate can scan for
This is a unique identifier string of characters to identify the company that the document belongs to.
- Output Directory
This Field has a browse icon next to it which will allow the user to browse to a directory where the altered file will be placed. If the output directory is the same as the source directory the original file will be overwritten. If the output directory is different than the source directory then the watermarked version of the file will be place there and the unaltered original will be left in the source directory.
- Select Apply Watermark to start the process.
The FortiGate unit checks network traffic for the regular expression specified in a regular expression filter. The regular expression library used by Fortinet is a variation of a library called PCRE (Perl Compatible Regular Expressions). A number of these filters can be added to a sensor making a sort of ‘dictionary’ subset within the sensor.
Some other, more limited DLP implementations, use a list of words in a text file to define what words are searched for. While the format used here is slightly different than what some people are used to, the resulting effect is similar. Each Regular Expression filter can be thought of as a more versatile word to be searched against. In this dictionary (or sensor), the list of words is not limited to just predefined words. It can include expressions that can accommodate complex variations on those words and even target phrases. Another advantage of the individual filter model of this dictionary over the list is that each word can be assigned its own action, making this implementation much more granular.
This filter is a binary one. If the file going through the policy is encrypted the action is triggered.
Examining specific services
To assist in optimizing the performance of the firewall, the option exists to select which services/protocol traffic will be checked for the targeted content.This setting gives you a tool to save the resources of the FortiGate unit by only using processing cycles on the relevant traffic. Just check the boxes associated with the service / protocol that you want to have checked for filter triggers.