DDoS Prevention for Access Environments

This section presents recommended settings and guidelines for DDoS prevention in an access environment.

The settings outlined in this appendix apply to the following configuration models:
  • PBRB - Policy Based Realm Bridging Model
  • SNB - SIP NAT Bridge Model
  • SSNHTN - Single SIP NAT Hosted in Trusted Network Model

Supported Platforms

Platform Flow Table Memory
AP6350 2000000 48G
AP6300 1000000 16G
AP4600 1000000 16G
AP6100 1000000 16G
AP1100 1000000 4G
VME 1000000 4G
AP3900 1000000 16G

Observations/Limitations

The settings outlined in this appendix are beneficial when facing malicious or non-malicious flood attacks, such as a REGISTER avalanche following a network outage. By limiting the amount of untrusted traffic to the SBC, the registration rate allowed will be throttled and the SBC will not be overrun by the high rate of registrations. However, there is an opportunity cost between the level of protection against a DDoS flood attack and the convergence time for this type of avalanche condition. For example, raising the percentage of untrusted bandwidth allowed will inevitably allow more untrusted traffic to traverse the SBC, and minimize the convergence time. The opportunity cost here is higher CPU usage during the flood, a result of higher demand on the processor due to the increased level of registrations it's required to process.

Additionally, when set as an option in the sip-configuration, reg-overload-protect requires the SBC temporarily promote a registering endpoint upon receipt of a 401/407 response from the "real" registrar. This temporary promotion is in advance of the real and final promotion, which takes place following the 200 OK response to a REGISTER request containing authentication credentials. During a registration avalanche from untrusted sources, temporary promotion based on the initial REGISTER request sent from a specific source helps minimize the amount of time it will take to promote the collective untrusted sources, to trusted sources, effectively restoring service in the event of an outage as quickly as possible. This is also referred to as: minimizing the convergence time. The addition of any SIP option relevant to DDoS, including reg-overload-protect, would require additional testing. For customers with specific convergence requirements, additional research must be conducted to arrive at an appropriate DDoS configuration prior to deployment.

A limitation of the configuration parameters described in this appendix is the handling of SIP message spoofing. When a trusted user is "spoofed" by another user or a defective trusted user sends many SIP messages, the CPU utilization of the SBC may spike to 100%. One safe-guard implemented as part of this appendix is the establishment of a setting for maximum-signaling-threshold, defined in the realm-configuration object. When set, this provides an entry level amount of protection by removing a violating source from the trusted queue once the defined threshold is exceeded. To further handle this scenario, there are additional advanced DDoS configurations that can be set. For example: if the desired outcome is to deny violating sources from the hardware level, the access-control-trust-level should be set to low in the realm-configuration object. This also requires the configuration of the untrusted-signal-threshold to properly demote offending untrusted users to the deny list. If one wishes to move an endpoint back into the untrusted queue the access-control-trust-level of "medium" should be used.

The DDoS configuration recommendations in this appendix are meant as a general baseline to help protect the SBC from DDoS. For more complete protection, DDoS configurations should be determined by the examining the applicable environment and customizing based on the environment driven traffic flows and load levels.

DDoS Access - Configuration Parameters

The following sections will discuss those DDoS parameter pertinent to the scope of this appendix. The parameters used to satisfy the requirements and scope of this appendix cannot be considered to be exhaustive. The parameters used are those which will be modified for this basic configuration. These parameters are in three configuration areas: Media Manager, Realm Configuration, and SIP Interface. The maximum signaling bandwidth per platform should be set to keep the CPU usage below 90%.

Media Manager

The following media-manager parameters have been calculated for each configuration model.

  • max-untrusted-signaling - Maximum percentage of the allocated max-signaling-bandwidth for untrusted traffic (%)
  • min-untrusted-signaling - Minimum percentage of the allocated max-signaling-bandwidth for untrusted traffic (%)
  • max-signaling-bandwidth - The maximum bandwidth that the SBC can withstand (bytes/sec)

These parameters are set to values that do not allow a SIP Register flood attack to increase the total CPU utilization percentage to over 89%. The background trusted traffic must not be adversely affected.

The recommended values for these media-manager parameters for each test scenario are listed by system model.

The following are Media Manager parameters that have platform specific defaults (not configurable, "show acl info" for details for each platform).
  • min-media-allocation
  • min-trusted-allocation
  • Deny-allocation

For this appendix, these defaults will be used and are indicated in the platform results later by system model.

Realm Configuration

The following realm-config parameters are used in the basic DDoS configuration.

Parameter Access Realm Core Realm
access-control-trust-level low High
invalid-signal-threshold 1 0
average-rate-limit 0 0
maximum-signal-threshold 4000 0
untrusted-signal-threshold 1 0

The maximum-signal-threshold of 4000 is very high so as not to impact service. It should be reduced to a number close to the maximum number of signaling messages from one client within the tolerance-window on the realm, which by default is 30 seconds. Base the threshold on an actual trace to account for the extraneous messages that are normally not considered, and make sure to account for network loss and/or renegotiations.

DDoS-2 show commands

DDoS-2 is supported for platforms: Acme Packet 4600, Acme Packet 6100, Acme Packet 6300, and Acme Packet 6350. DDoS-2 increases the number of trusted endpoints to a maximum of 500K for Acme Packet 4600/6100/6300 and 750K for Acme Packet 6350. It also increases the number of denied endpoints to a maximum 96K for Acme Packet 6350 and 64K for Acme Packet 4600/6100/6300

The command show acl info provides information about present usage of the HASH table.
ORACLE#show acl info

Access Control List Statistics:

                |   # of entries  |   % utilization   |   Reserved Entry Count
-----------------------------------------------------------------------
Denied          |          0                0.0%                 32000
Trusted         |          3                0.0%                  8000
Media           |          2                0.0%                 64000
Untrusted       |          1                0.1%                  2000
Dynamic Trusted |       4800                1.9%                250000
INTFC           |          2                 -                  -
-----------------------------------------------------------------------
Total CAM space used = 8 of 126976 (99.99% free)
Total HASH-table space used = 4800 of 250000 (98.08% free)
---------------------------------------------------------------------
The command show acl all presents endpoints allocation per TM-flow. In the example below we can see 5 endpoints per TM-flow:
ORACLE#trusted entries:
intf:vlan src-IP       dest-IP/mask  port prot type    index  recv   drop
0/0:0     0.0.0.0      177.1.1.100        ICMP static  65537  0      0
1/0:0     0.0.0.0      188.1.1.200        ICMP static  65539  0      0
1/0:0     0.0.0.0      188.1.1.200   5060 UDP  static  65541  333676 0
dynamic trusted entries sharing IFD 0x1e600:
0/0:0     14.0.2.130   177.1.1.100   5060 UDP  dynamic 132096 2      0
0/0:0     14.0.10.130  177.1.1.100   5060 UDP  dynamic 133120 
0/0:0     14.0.18.130  177.1.1.100   5060 UDP  dynamic 134144
0/0:0     14.0.26.130  177.1.1.100   5060 UDP  dynamic 135168
0/0:0     14.0.34.130  177.1.1.100   5060 UDP  dynamic 136192
dynamic trusted entries sharing IFD 0x1e601:
0/0:0     14.0.2.132   177.1.1.100   5060 UDP  dynamic 132097 2       0
0/0:0     14.0.10.132  177.1.1.100   5060 UDP  dynamic 133121
0/0:0     14.0.18.132  177.1.1.100   5060 UDP  dynamic 134145
0/0:0     14.0.26.132  177.1.1.100   5060 UDP  dynamic 135169
0/0:0     14.0.34.132  177.1.1.100   5060 UDP  dynamic 136193
dynamic trusted entries sharing IFD 0x1e602:
0/0:0     14.0.2.134   177.1.1.100   5060 UDP  dynamic 132098 2       0
0/0:0     14.0.10.134  177.1.1.100   5060 UDP  dynamic 133122
0/0:0     14.0.18.134  177.1.1.100   5060 UDP  dynamic 134146
0/0:0     14.0.26.134  177.1.1.100   5060 UDP  dynamic 135170
0/0:0     14.0.34.134  177.1.1.100   5060 UDP  dynamic 136194

DDoS Configuration Settings per Platform in Access Environments

Changes under media-manager require system reboot to take effect. Be sure to follow precautions to reboot SBC(s) to unnecessary service outage during this execution.

Acme Packet 1100 720 Flow Table 4G memory –copper single GigE

The following table lists the five parameters germane to DDoS Configuration Settings Access Environments for the Acme Packet 1100 and their settings in the Not-denied and denied realms.

Parameter Not Denied realm Denied realm
access-control-trust-level Medium low
invalid-signal-threshold 2 1
maximum-signal-threshold 25 25
untrusted-signal-threshold 10 1
nat-trust-threshold 0 0
deny-period 30 1800

The media-manager configuration should be set as suggested in the following table for the Acme Packet 1100.

Parameter value
max-signaling-packets 10000
max-untrusted-signaling 7
min-untrusted-signaling 4
tolerance-window 30

Acme Packet 3900 16K Flow Table 16G memory – copper single GigE

The following table lists the five parameters germane to DDoS Configuration Settings Access Environments for the Acme Packet 3900 and their settings in the Not-denied and denied realms.

Parameter Not Denied realm Denied realm
access-control-trust-level Medium low
invalid-signal-threshold 2 1
maximum-signal-threshold 25 25
untrusted-signal-threshold 10 1
nat-trust-threshold 0 0
deny-period 30 1800

The media-manager configuration should be set as suggested in the following table for the Acme Packet 3900.

Parameter value
max-signaling-packets 40000
max-untrusted-signaling 7
min-untrusted-signaling 7
tolerance-window 30

Acme Packet 4600 1000000 Flow Table 16G memory –copper single GigE

The following table lists the five parameters germane to DDoS Configuration Settings Access Environments for the Acme Packet 4600 and their settings in the Not-denied and denied realms.

Parameter no-Denied Denied
access-control-trust-level Medium low
invalid-signal-threshold 2 1
maximum-signal-threshold 25 25
untrusted-signal-threshold 10 2
nat-trust-threshold 0 0
deny-period 30 1800

The media-manager configuration should be set as suggested in the following table for the Acme Packet 4600.

Parameter value
max-signaling-bandwidth 2651610
max-untrusted-signaling 15
min-untrusted-signaling 12
app-signaling-bandwidth 0
tolerance-window 30

Acme Packet 6100 1000000 Flow Table 16G memory –copper single GigE

The following table lists the five parameters germane to DDoS Configuration Settings Access Environments for the Acme Packet 6100 and their settings on the core and peer realms.

parameter Core realm-config Peer Realm-config
access-control-trust-level high low
average-rate-limit 0 0
invalid-signal-threshold 0 1
maximum-signal-threshold 0 4000
untrusted-signal-threshold 0 1

The media-manager configuration should be set as suggested in the following table for the Acme Packet 6100 in the respective model.

Parameter PBRB Model SSNHTN Model SNB Model
max-signaling-bandwidth 7070960 7070960 7070960
max-untrusted-signaling 1 1 1
min-untrusted-signaling 1 1 1
tolerance-window 30 30 30

Acme Packet 6300 1000000 Flow Table 16G memory - copper single GigE

The following table lists the five parameters germane to DDoS Configuration Settings Access Environments for the Acme Packet 6300 and their settings on the core and peer realms.

parameter Core realm-config Peer Realm-config
access-control-trust-level high low
average-rate-limit 0 0
invalid-signal-threshold 0 1
maximum-signal-threshold 0 4000
untrusted-signal-threshold 0 1

The media-manager configuration should be set as suggested in the following table for the Acme Packet 6300 in the respective model.

Parameter PBRB Model SSNHTN Model SNB Model
max-signaling-bandwidth 7070960 7070960 7070960
max-untrusted-signaling 1 1 1
min-untrusted-signaling 1 1 1
tolerance-window 30 30 30

Acme Packet 6350 2000000 Flow Table 48GB memory -copper single GigE

The following table lists the five parameters germane to DDoS Configuration Settings Access Environments for the Acme Packet 6350 and their settings on the core and peer realms.

parameter Core realm-config Peer Realm-config
access-control-trust-level high low
average-rate-limit 0 0
invalid-signal-threshold 0 1
maximum-signal-threshold 0 4000
untrusted-signal-threshold 0 2

The media-manager configuration should be set as suggested in the following table for the Acme Packet 6350 in the respective model.

Parameter PBRB Model SSNHTN Model SNB Model
max-signaling-bandwidth 7070960 7070960 7070960
max-untrusted-signaling 15 13 12
min-untrusted-signaling 14 12 11
tolerance-window 30 30 30

VME 720 Flow Table 4G memory

The following table lists the five parameters germane to DDoS Configuration Settings Access Environments for the VME and their settings in the Not-denied and denied realms.

Parameter Not Denied realm Denied realm
access-control-trust-level Medium low
invalid-signal-threshold 2 1
maximum-signal-threshold 25 25
untrusted-signal-threshold 10 1
nat-trust-threshold 0 0
deny-period 30 1800

The media-manager configuration should be set as suggested in the following table for the VME.

Parameter value
max-signaling-bandwidth 100000
max-untrusted-signaling 7
min-untrusted-signaling 4
tolerance-window 30