Enable IPS packet logging
Packet logging saves the network packets containing the traffic matching an IPS signature to the attack log. The FortiGate unit will save the logged packets to wherever the logs are configured to be stored, whether memory, internal hard drive, a FortiAnalyzer unit, or the FortiGuard Analysis and Management Service.
You can enable packet logging in the filters. Use caution in enabling packet logging in a filter. Filters configured with few restrictions can contain thousands of signatures, potentially resulting in a flood of saved packets. This would take up a great deal of space, require time to sort through, and consume considerable system resources to process. Packet logging is designed as a focused diagnostic tool and is best used with a narrow scope.
Although logging to multiple FortiAnalyzer units is supported, packet logs are not sent to the secondary and tertiary FortiAnalyzer units. Only the primary unit receives packet logs.
To enable packet logging for a filter
1. Create a filter in an IPS sensor.
2. After creating the filter, right-click the filter, and select Enable under Packet Logging.
3. Select the IPS sensor in the security policy that allows the network traffic the FortiGate unit will examine for the signature.
For information on viewing and saving logged packets, see “Configuring packet logging options”.
IPS logging changes
IPS operations severely affected by disk logging are moved out of the quick scanning path, including logging, SNMP trap generation, quarantine, etc.
Scanning processes are dedicated to nothing but scanning, which results in more evenly distributed CPU usage. Slow (IPS) operations are taken care of in a dedicated process, which usually stays idle.
IPS examples
Configuring basic IPS protection
Small offices, whether they are small companies, home offices, or satellite offices, often have very simple needs. This example details how to enable IPS protection on a FortiGate unit located in a satellite office. The satellite office contains only Windows clients.
Creating an IPS sensor
Most IPS settings are configured in an IPS sensor. IPS sensors are selected in firewall policies. This way, you can create multiple IPS sensors, and tailor them to the traffic controlled by the security policy in which they are selected. In this example, you will create one IPS sensor.
To create an IPS sensor— web-based manager
1. Go to Security Profiles > Intrusion Protection.
2. Select the Create New icon in the top of the Edit IPS Sensor window.
3. In the Name field, enter basic_ips.
4. In the Comments field, enter IPS protection for Windows clients.
5. Select OK.
6. Select the Create New drop-down to add a new component to the sensor and for the Sensor Type choose Filter Based.
7. In the Filter Options choose the following: a. For Severity: select all of the options b. For Target: select Client only.
c. For OS: select Windows only.
8. For the Action leave as the default.
9. Select OK to save the filter.
10. Select OK to save the IPS sensor.
To create an IPS sensor — CLI
config ips sensor edit basic_ips
set comment “IPS protection for Windows clients” config entries
edit 1
set location client set os windows
end
end
Selecting the IPS sensor in a security policy
An IPS sensor directs the FortiGate unit to scan network traffic only when it is selected in a security policy. When an IPS sensor is selected in a security policy, its settings are applied to all the traffic the security policy handles.
To select the IPS sensor in a security policy — web-based manager
1. Go to Policy > Policy > Policy.
2. Select a policy.
3. Select the Edit icon.
4. Enable the IPS option.
5. Select the basic_ips profile from the list.
6. Select OK to save the security policy.
To select the IPS sensor in a security policy — CLI
config firewall policy edit 1
set utm-status enable
set ips-sensor basic_ips end
All traffic handled by the security policy you modified will be scanned for attacks against Windows clients. A small office may have only one security policy configured. If you have multiple policies, consider enabling IPS scanning for all of them.
Using IPS to protect your web server
Many companies have web servers and they must be protected from attack. Since web servers must be accessible, protection is not as simple as blocking access. IPS is one tool your FortiGate unit has to allow you to protect your network.
In this example, we will configure IPS to protect a web server. As shown below, a FortiGate unit protects a web server and an internal network. The internal network will have its own policies and configuration but we will concentrate on the web server in this example.
A simple network configuration
The FortiGate unit is configured with:
- a virtual IP to give the web server a unique address accessible from the Internet.
- a security policy to allow access to the web server from the Internet using the virtual IP.
To protect the web server using intrusion protection, you need to create an IPS sensor, populate it with filters, then enable IPS scanning in the security policy.
To create an IPS sensor
1. Go to Security Profiles > Intrusion Protection.
2. Select Create New.
3. Enter web_server as the name of the new IPS sensor.
4. Select OK.
The new IPS sensor is created but it has no filters, and therefore no signatures are included.
The web server operating system is Linux, so you need to create a filter for all Linux server signatures.
To create the Linux server filter
1. Go to Security Profiles > Intrusion Protection.
2. Select the web_server IPS sensor and select the Edit icon.
3. In the Pattern Based Signatures and Filters section, select Create New.
4. For Sensor Type, select Filter Based.
5. For Filter Options.
6. In the Filter Options choose the following: a. For Severity: select all of the options b. For Target: select server only.
c. For OS: select Linux only.
7. Select OK.
The filter is saved and the IPS sensor page reappears. In the filter list, find the Linux Server filter and look at the value in the Count column. This shows how many signatures match the current filter settings. You can select the View Rules icon to see a listing of the included signatures.
To edit the security policy
1. Go to Policy & Objects > IPv4 Policy select security policy that allows access to the web server, and select the Edit icon.
2. Enable IPS option and choose the web_server IPS sensor from the list.
3. Select OK.
Since IPS is enabled and the web_server IPS sensor is specified in the security policy controlling the web server traffic, the IPS sensor examines the web server traffic for matches to the signatures it contains.
Create and test a packet logging IPS sensor
In this example, you create a new IPS sensor and include a filter that detects the EICAR test file and saves a packet log when it is found. This is an ideal first experience with packet logging because the EICAR test file can cause no harm, and it is freely available for testing purposes.
Create an IPS senor
1. Go to Security Profiles > Intrusion Protection.
2. Select Create New.
3. Name the new IPS sensor EICAR_test.
4. Select OK.
Create an entry
1. Select the Create New.
2. For Sensor Type choose Specify Signatures.
3. Rather than search through the signature list, use the name filter by selecting the search icon over the header of the Signature column.
4. Enter EICAR in the Search field.
5. Highlight the Virus.Test.File signature by clicking on it.
6. Select Block All as the Action.
7. Enable Packet Logging.
8. Select OK to save the IPS sensor.
You are returned to the IPS sensor list. The EICAR test sensor appears in the list.
Add the IPS sensor to the security policy allowing Internet access
1. Go to Policy & Objects > IPv4 Policy.
2. Select the security policy that allows you to access the Internet.
3. Select the Edit icon.
4. Turn ON Log Allowed Traffic.
a. Select All Sessions
5. Enable the IPS option.
6. Choose EICAR test from the available IPS sensors.
7. Select OK.
With the IPS sensor configured and selected in the security policy, the FortiGate unit blocks any attempt to download the EICAR test file.
Test the IPS sensor
1. Using your web browser, go to http://www.eicar.org/anti_virus_test_file.htm.
2. Scroll to the bottom of the page and select eicar.com from the row labeled as using the standard HTTP protocol.
3. The browser attempts to download the requested file and,
- If the file is successfully downloaded, the custom signature configuration failed at some point. Check the custom signature, the IPS sensor, and the firewall profile.
- If the download is blocked with a high security alert message explaining that you’re not permitted to download the file, the EICAR test file was blocked by the FortiGate unit antivirus scanner before the IPS sensor could examine it. Disable antivirus scanning and try to download the EICAR test file again.
- If no file is downloaded and the browser eventually times out, the custom signature successfully detected the EICAR test file and blocked the download.
Viewing the packet log
1. Go to Log&Report > Security Log > AntiVirus.
2. Locate the log entry that recorded the blocking of the EICAR test file block. The Message field data will be tools: EICAR.AV.Test.File.Download.
3. Select the View Packet Log icon in the Packet Log column.
4. The packet log viewer is displayed.
Configuring a Fortinet Security Processing module
The Example Corporation has a web site that is the target of SYN floods. While they investigate the source of the attacks, it’s very important that the web site remain accessible. To enhance the ability of the company’s FortiGate-100D to deal with SYN floods, the administrator will install an ASM-CE4 Fortinet Security Processing module and have all external access to the web server come though it.
The security processing modules not only accelerate and offload network traffic from the FortiGate unit’s processor, but they also accelerate and offload security and content scanning. The ability of the security module to accelerate IPS scanning and DoS protection greatly enhances the defense capabilities of the FortiGate-100D.
Assumptions
As shown in other examples and network diagrams throughout this document, the Example Corporation has a pair of FortiGate-100D units in an HA cluster. To simplify this example, the cluster is replaced with a single FortiGate-100D.
An ASM-CE4 is installed in the FortiGate-100D. The network is configured as shown below.
Network configuration
The Example Corporation network needs minimal changes to incorporate the ASM-CE4. Interface amc-sw1/1 of the ASM-CE4 is connected to the Internet and interface amc-sw1/1 is connected to the web server.
Since the main office network is connected to port2 and the Internet is connected to port1, a switch is installed to allow both port1 and amc-sw1/1 to be connected to the Internet.
The FortiGate-100D network configuration
The switch used to connect port1 and amc-sw1/1 to the Internet must be able to handle any SYN flood, all of the legitimate traffic to the web site, and all of the traffic to and from the Example Corporation internal network. If the switch can not handle the bandwidth, or if the connection to the service provider can not provide the required bandwidth, traffic will be lost.
Security module configuration
The Fortinet security modules come configured to give equal priority to content inspection and firewall processing. The Example Corporation is using a ASM-CE4 module to defend its web server against SYN flood attacks so firewall processing is a secondary consideration.
Use these CLI commands to configure the security module in ASM slot 1 to devote more resources to content processing, including DoS and IPS, than to firewall processing.
config system amc-slot edit sw1
set optimization-mode fw-ips set ips-weight balanced
set ips-p2p disable
set ips-fail-open enable set fp-disable none
set ipsec-inb-optimization enable set syn-proxy-client-timer 3
set syn-proxy-server-timer 3 end
These settings do not disable firewall processing. Rather, when the security module nears its processing capacity, it will chose to service content inspection over firewall processing.
IPS Sensor
You can group signatures into IPS sensors for easy selection when applying to firewall policies. You can define signatures for specific types of traffic in separate IPS sensors, and then select those sensors in profiles designed to handle that type of traffic. For example, you can specify all of the web-server related signatures in an IPS sensor, and that sensor can then be applied to a firewall policy that controls all of the traffic to and from a web server protected by the unit.
The FortiGuard Service periodically updates the pre-defined signatures, with signatures added to counter new threats. Since the signatures included in filters are defined by specifying signature attributes, new signatures matching existing filter specifications will automatically be included in those filters. For example, if you have a filter that includes all signatures for the Windows operating system, your filter will automatically incorporate new Windows signatures as they are added.
Each IPS sensor consists of two parts: filters and overrides. Overrides are always checked before filters.
Each filter consists of a number of signatures attributes. All of the signatures with those attributes, and only those attributes, are checked against traffic when the filter is run. If multiple filters are defined in an IPS Sensor, they are checked against the traffic one at a time, from top to bottom. If a match is found, the unit takes the appropriate action and stops further checking.
A signature override can modify the behavior of a signature specified in a filter. A signature override can also add a signature not specified in the sensor’s filters. Custom signatures are included in an IPS sensor using overrides.
The signatures in the overrides are first compared to network traffic. If the IPS sensor does not find any matches, it then compares the signatures in each filter to network traffic, one filter at a time, from top to bottom. If no signature matches are found, the IPS sensor allows the network traffic.
The signatures included in the filter are only those matching every attribute specified. When created, a new filter has every attribute set to all which causes every signature to be included in the filter. If the severity is changed to high, and the target is changed to server, the filter includes only signatures checking for high priority attacks targeted at servers.