Technical Tip: IPS Sequence of Inspection and How to Exempt/Override Individual IPS Signatures
Description
- It is not possible to change the underlying default action for a given signature (e.g. system-wide change), but it is possible to override that action within each IPS sensor configuration.
- The 'default' or 'g-default' profiles cannot be modified, so the recommendation is to clone these defaults to a new IPS sensor or create a brand new sensor profile instead.
- Available actions for IPS filter/signature rules include Allow (aka Pass), Monitor, Block, Reset, Default and Quarantine. See the following KB article for more information: Technical Tip: IPS profile actions and corresponding actions in logs.
- See also the following KB article discussing how the Default action for IPS Signatures is decided by the FortiGuard team: Technical Tip: IPS default action selection criteria.
Within the list of IPS signatures that have Information-level Severity, the Eicar.Virus.Test.File can be found. Note that the default action is Pass:


At this point, the Eicar.Virus.Test.File is actually present twice in the IPS sensor: once in the original Information Severity filter rule (with the default action of Pass), and a second time in the signature-based rule with the Block action.
In general, IPS rules within a sensor are assessed from top to bottom, with the first matching rule being chosen once the IPS Engine has identified a matching signature (i.e. very similar to how Firewall Policies are assessed). The order of IPS rules can also be adjusted in a very similar way to Firewall Policies (i.e. drag and reorder in the GUI or use the move <id> [before | after] <id> command in the CLI), so it is very important that administrators check the order of these IPS rules.
In the above example, the Severity Filter-based rule (which has a default Pass/Allow action for Eicar.Virus.Test.File) was placed above the Signature-based rule for Eicar.Virus.Test.File. Because of this, traffic matching this signature will be allowed through the FortiGate without an IPS event log being generated. In order to override this behavior and apply the desired Block action, the order of the rules must be changed so that the Eicar.Virus.Test.File Signature-based rule is placed above the Filter-based rule:

The following are some additional recommendations for further tuning IPS sensors/matching rules:
- As noted above, IPS rules are assessed top to bottom. Once traffic has been identified as matching a given signature AND once that signature has been matched to a rule in the IPS sensor, the action specified by that rule is taken and no further rules are assessed.
- In the above example, traffic matching Eicar.Virus.Test.File rule would match the specific Signature rule (since it was moved to the top), and a Block action is taken. The Severity Information rule below is skipped at this point.
- It is a good idea to reorder rules such that the most-likely matching filters/signatures are placed near the top of the list. This can help reduce the amount of time spent on IPS assessment, which can speed up decision making while also reducing CPU usage.
- Additionally, it is best practice to be selective about the signatures being added to IPS sensors, as the FortiGate must load those signatures into memory. This means that adding more signatures to the sensor (e.g. due to broad filters or adding many individual signatures) will result in an increase in memory/RAM usage.
- In the event of false-positive matches (e.g. known-good traffic triggering a signature), it can be a good idea to override the signature and apply the Monitor action. This allows traffic to pass through while also generating an IPS log entry for later review.
Related Articles:
Technical Note: Exempting IP addresses from IPS sensor scanning
