Portscan Detection and Prevention
Use Threat Detection to identify port scan activity. You can use the system to detect port scans and issue events when they are found. Optionally, you can configure the system to prevent port scans by automatically blocking scanners. When preventing port scans, the system sends you events and also blocks the attacker for a duration period that you set.
Pre-Defined Sensitivity Levels for Portscan Detection
When configuring detection settings, you select from the following pre-defined sensitivity levels. Except for Custom, each level has pre-set values for each protocol for the number of ports (TCP/UDP), protocols (IP), or hosts (TCP/UDP/IP/ICMP) that must be scanned within a set time interval (in seconds). Also, all types of scan/sweep are enabled.
Exceeding the number within the interval can indicate a scanning attack. Portscan events are generated only when the port/protocol/host numbers are exceeded for the moving time interval window.
-
Low—This level uses the shortest time window for portscan detection, coupled with high counts for port/protocol/host. Thus, you should see portscan events for the most aggressive scanners only. Select this sensitivity level to suppress false positives, but remember that some types of portscans (slow scans, filtered scans) might be missed. For more detail on how low sensitivity detection works, see Detection in the Low Sensitivity Level.
-
Interval (TCP/UDP/IP/ICMP)—60 seconds.
-
TCP/UDP portscan Number of Ports—120.
-
TCP/UDP portsweep Number of Hosts—180.
-
IP protocol scan Number of Protocols—30.
-
IP protocol sweep Number of Hosts—25.
-
ICMP host sweep Number of Hosts—50.
-
-
Medium—This level uses moderate values for both the interval and port/protocol/host counts. However, very active hosts such as network address translators and proxies might generate false positives. Add such hosts to the ignore scanner list. This is the default sensitvity level and a good place to start.
-
Interval (TCP/UDP/IP/ICMP)—90 seconds.
-
TCP/UDP portscan Number of Ports—90.
-
TCP/UDP portsweep Number of Hosts—150.
-
IP protocol scan Number of Protocols—15.
-
IP protocol sweep Number of Hosts—20.
-
ICMP host sweep Number of Hosts—30.
-
-
High—This level uses a much longer time window for portscan detection, coupled with lower counts for port/protocol/host. With this level, you are most likely to see events for even the least aggressive port scans/sweeps, so you are more likely to notice all attackers. On the other hand, this level would likely result in the most portscan events issued, and potentially the highest number of false positives.
-
Interval (TCP/UDP/IP/ICMP)—600 seconds (10 minutes).
-
TCP/UDP portscan Number of Ports—60.
-
TCP/UDP portsweep Number of Hosts—100.
-
IP protocol scan Number of Protocols—10.
-
IP protocol sweep Number of Hosts—10.
-
ICMP host sweep Number of Hosts—20.
-
-
Custom—If you want to configure any setting differently than one of the pre-defined sensitivity levels, or disable a particular type of scan/sweep, the level automatically switches to custom. If you want to adjust the options, first select the level that most closely matches what you want, then edit the values as appropriate.
Detection in the Low Sensitivity Level
If you select the low sensitivity level, the system tracks negative responses for TCP, UDP, and ICMP initial packets. Only if the number of unsuccessful connections is more than the rejection threshold (10% in low sensitivity) and the port/IP protocol count is more than the configured threshold, an alert is triggered. This mitigates false positives.
If there is a mix of allowed and blocked traffic, the number of rejected ports or hosts is calculated based on the difference between allowed and blocked traffic. In the case of only blocked traffic, the rejection threshold is not considered.
These criteria are not used for UDP/ICMP connections on interfaces configured in inline sets.
For example, in low sensitivity mode, the port count threshold is 120. Thus, the rejection count threshold is 10% of 120, which is 12. Following are examples of how the system would issues portscan events under this configuration:
-
An attacker initiates connections with 131 ports of the target and the target positively acknowledges all the initiations. Port count = 131, which is greater than the threshold, but a portscan alert is not triggered because there are no negative acknowledgements.
-
An attacker initiates connections with 131 ports of the target and the target positively acknowledges 121 initiations and negatively acknowledges 10 initiations. Port count = 131, which is greater than the threshold, but reject port count = 10, which is lesser than the rejection threshold. Therefore, a portscan alert is not triggered.
-
An attacker initiates connections with 134 ports of the target and the target positively acknowledges 121 initiations and negatively acknowledges 13 initiations. Port count = 134, which is greater than the threshold, reject port count = 13 is also higher than the rejection threshold. Therefore a portscan alert is triggered.