Session Initiation Protocol (SIP) is a signaling protocol that is typically used
to control communication sessions, such as voice and video calls over IP.
SIP DoS attack detection and prevention serves several functions:
- To detect and report on SIP packets based on
behavior characteristics of the sender or characteristics of the packets, without enforcing any
rate limits.
- To detect, report on, and rate limit SIP
packets based on behavior characteristics that signify specific known attack vectors.
- To identify Bad Actor IP addresses from which
attacks appear to originate, by detecting packets per second from a source, and to apply rate
limits to such IP addresses.
- To blacklist Bad Actor IP addresses, with
configurable detection times, blacklist durations, and blacklist categories, and allow such IP
addresses to be advertised to edge routers to offload blacklisting.
You can use a SIP DoS profile to specify the percentage increase over the system baseline,
which indicates that a possible attack is in process on a particular SIP method, or an increase
in anomalous packets. You can also rate limit packets of known vectors. For all SIP vectors
except sip-malformed, the system can manage thresholds automatically or manually. You can
manually set thresholds for malformed SIP packets.
You can specify an address list as a whitelist, that the DoS checks allow. Whitelisted
addresses are not subject to the checks configured in the DoS profile.
To protect a virtual server from SIP DoS attacks, you need to associate the virtual server with
a DoS profile that includes SIP security.
Important: You must also create a SIP
profile, and attach it to the virtual server being protected from SIP DoS attacks.
Task list
Detecting and preventing SIP DoS attacks
with a DoS profile
This task describes how to create a
new DoS profile and configure SIP settings to identify SIP attacks at the same time.
However, you can also add SIP attack detection settings to an existing DoS profile. The
BIG-IP® system handles SIP attacks that include malformed
packets, protocol errors, and malicious attack vectors. Protocol error attack detection
recognizes malformed and malicious packets, or packets that are employed to flood the
system with several different types of responses.
-
On the Main tab, click .
The DoS Profiles list screen opens.
-
Click Create.
The New DoS Profile screen opens.
-
In the Name field, type the name for the profile.
-
Click Finished.
The DoS Protection: DoS Profiles screen opens.
-
Click the name of the DoS profile you want to modify.
-
Select the Threshold Sensitivity.
Select Low, Medium, or
High. A lower setting means the automatic threshold
algorithm is less sensitive to changes in traffic and CPU usage, but will also
trigger fewer false positives.
-
If you have created a whitelist on the system, in the Default
Whitelist field, begin typing the name of the address list to
use as the whitelist, and select the list when the name appears.
-
To define an address list to use as a whitelist, on the right side of the
screen in the Shared Objects pane, click the + next to
Address Lists.
The Address List Properties pane opens.
-
To configure SIP security settings, on the menu bar, select
Protocol Security, and choose SIP
Security.
-
To change the threshold or rate increase for a particular SIP vector, in the
Attack Type column, click the vector name.
The vector properties pane opens on the right.
-
From the State list, choose the appropriate enforcement
option.
- Select
Mitigate to enforce the configured DoS vector by
examining packets, logging the results of the vector, learning patterns,
alerting to trouble, and mitigating the attack (watch, learn, alert, and
mitigate).
- Select Detect
Only to configure the vector, log the results of the vector
without applying rate limits or other actions, and alerting to trouble
(watch, learn, and alert).
- Select Learn Only to configure the vector, log
the results of the vector, without applying rate limits or other actions
(watch and learn).
- Select
Disabled to disable logging and enforcement of
the DoS vector (no stat collection, no mitigation).
-
For Threshold Mode, select whether to have the system
determine thresholds for the vector (Fully Automatic),
have partially automatic settings (Manual Detection / Auto
Mitigation), or, you can control the settings (Fully
Manual).
The settings differ depending on the option you select. Here, we describe the
settings for automatic threshold configuration. If you want to set thresholds
manually, select one of the manual options and refer to online Help for details
on the settings.
-
To allow the DoS vector thresholds to be automatically adjusted, for
Threshold Mode, select Fully
Automatic.
-
In the Attack Floor EPS field, type the number
of events per second of the vector type to allow at a minimum, before
automatically calculated thresholds are determined.
Because automatic thresholds take time to be reliably established,
this setting defines the minimum packets allowed before automatic
thresholds are calculated.
-
In the Attack Ceiling EPS field, specify the
absolute maximum allowable for packets of this type before automatically
calculated thresholds are determined.
Because automatic thresholds take time to be reliably established,
this setting rate limits packets to the events per second setting, when
specified. To set no hard limit, set this to
Infinite.
-
To detect IP address sources from which possible attacks originate, enable
Bad Actor Detection.
Note: Bad Actor
Detection is not available for every vector.
-
To automatically blacklist bad actor IP addresses, select Add Source
Address to Category.
Important: For this to work, you need to assign an IP Intelligence
policy to the appropriate context (device, virtual server, or route domain).
For the device, assign a global policy: . For the virtual server or route domain, assign the IP
Intelligence policy on the Security tab.
-
From the Category Name list, select the blacklist
category to which to add blacklist entries generated by Bad Actor
Detection.
-
In the Sustained Attack Detection Time field, specify
the duration in seconds after which the attacking endpoint is blacklisted. By
default, the configuration adds an IP address to the blacklist after one minute
(60 seconds).
-
In the Category Duration Time field, specify the length
of time in seconds that the address will remain on the blacklist. The default is
14400 seconds (4 hours).
-
To allow IP source blacklist entries to be advertised to edge routers so they
will null route their traffic, select Allow External
Advertisement.
Note: To advertise to
edge routers, you must configure a Blacklist Publisher and Publisher Profile
at .
-
Click Update to save your changes.
You have now configured a DoS profile
to provide custom responses to malformed SIP attacks, SIP flood attacks, and to allow
such attacks to be identified in system logs and reports.
Now you need to associate the DoS
profile with a virtual server to apply the settings in the profile to traffic on that
virtual server. When a SIP attack on a specific query type is detected, you can be
alerted with various system monitors.
Creating a SIP profile for SIP DoS
protection
You can create a SIP profile if
configuring SIP DoS protection.
-
On the Main tab, click .
The SIP profile list screen opens.
-
Click Create.
The New SIP Profile screen opens.
-
In the Name field, type a unique name for the
profile.
-
Next to Settings, select the
Custom check box.
-
Select the SIP Firewall check box.
When enabled, the SIP Security settings configured in the DoS Profile apply to
the virtual servers that use this profile.
-
Next to Log Settings, select the
Custom check box.
-
From the Log Publisher list, select a destination to
which the BIG-IP system sends log entries.
You can specify publishers for other DoS types in the same profile, for
example, for DNS, Network, or Application DoS Protection.
-
In the Log Settings area, from the Logging Profile list,
select a custom Logging profile.
-
Modify other settings, as required.
-
Click Update.
A SIP profile is now configured for
SIP DoS firewall features.
Assign this SIP profile to a virtual server, along with a DoS profile that includes
SIP security, to provide SIP protocol DoS protection on a virtual server.
Associating a DoS profile with a virtual server
You must first create a DoS profile
separately, to configure denial-of-service protection for applications, the DNS protocol, or the
SIP protocol. For application-level DoS protection, the virtual server requires an HTTP profile
(such as the default http).
You add denial-of-service protection to a virtual server to provide enhanced protection
from DoS attacks, and track anomalous activity on the BIG-IP®
system.
-
On the Main tab, click .
The Virtual Server List screen opens.
-
Click the name of the virtual server you want to modify.
-
On the menu bar, from the Security menu, choose Policies.
-
To enable denial-of-service protection, from the DoS Protection
Profile list, select Enabled, and then,
from the Profile list, select the DoS profile to
associate with the virtual server.
-
Click Update to save the changes.
DoS protection is now enabled, and the DoS Protection profile is associated with the
virtual server.