Configuring Tiered Protection with FastPPS
The most effective approach to DDoS protection is a tiered defense architecture, in which surgical filtering of traffic entering the protected network is performed by an on-premise device at the network border, while mitigation mechanisms at the upstream telecom operator level prevent the channel from being saturated.
Always on protection at the upstream telecom operator side can cause problems and negatively affect legitimate traffic, so it should be activated only when necessary. For this scenario it is needed to configure interaction between the defense layers - cloud protection.
Let’s consider the case when both the operator and its client use FastPPS for traffic cleaning. For convenience, we introduce the following terms:
- FastPPS CPE — FastPPS, installed at the client’s network border.
- FastPPS ISP — FastPPS, installed at the upstream telecom operator.
When an attack is detected, FastPPS CPE starts traffic cleaning itself. If the attack’s volume is close to the available channel bandwidth, FastPPS CPE sends a BGP announcement to FastPPS ISP. The announcement contains the prefixes traffic to which FastPPS ISP should clean. Upon receiving the prefixes, FastPPS ISP starts sending BGP announcements to its neighbours, informing them that traffic to these prefixes should be sent to FastPPS ISP for cleaning. After the attack is over, the announcements are withdrawn, and the traffic continues to move along its original route. It is advisable to configure BGP interaction between FastPPS CPE and FastPPS ISP through an alternate channel, since if common channel is saturated, the signal may not be sent.
A detailed look at the configuration of such interaction between FastPPS CPE and FastPPS ISP is below.
Configuring FastPPS CPE
Configuring BGP Interaction
-
FastPPS CPE needs to have permission to establish BGP connections.
-
Create a BGP neighbour FastPPS ISP.
2.1. In the BGP neighbour settings specify the network parameters of FastPPS ISP, such as IP address and AS number. The rest of parameters is optional and configured as needed. It is recommended to specify high TTL value for IP packets, since FastPPS ISP may be located far away.
2.2. Specify one of the system
.signaling.lists in the announcement policy for this BGP neighbour. Signaling lists can be populated according to different criteria, list selection depends on the scenario. As an example we usesystem.policy.signaling.prefixeslist. Special nexthop and community are defined as needed, according to the requirements of FastPPS ISP.
Configuring Protection Policies
-
Set autodetection thresholds for the announcement exchange control.
1.1. Set
BGP.Signaling.Input{Pps,Bps}.Onthresholds at “Autodetection” tab of FastPPS CPE protection policy. When the traffic exceeds these thresholds, the destination prefixes from the protection policy routing rules will be added tosystem.policy.signaling.prefixeslist.1.2. Set
BGP.Signaling.Input{Pps,Bps}.Offthresholds at “Autodetection” tab of FastPPS CPE protection policy.When the traffic drops below these thresholds, the destination prefixes from the protection policy routing rules will be removedsystem.policy.signaling.prefixeslist. -
If necessary, take action to reduce flapping. After completing the described steps, FastPPS CPE is ready to interact with FastPPS ISP.
Configuring FastPPS ISP
Configuring BGP Interaction
-
Give FastPPS ISP permission to establish BGP connections.
-
Create BGP neighbour FastPPS CPE. Specify the network parameters of FastPPS CPE, such as IP address and AS number. Activate the checkbox “Get prefixes under protection”, if necessary, specify maximum number of prefixes that FastPPS CPE can send. The rest of parameters is optional and configured as needed. It is recommended to specify high TTL value for IP packets, since FastPPS CPE may be located far away.
-
Create BGP neighbours that FastPPS ISP will send BGP announcements for traffic redirection.
3.1. Specify the network device parameters in the BGP neighbour settings.
3.2. Specify one of the system
.protected.lists in the announcement policy for these BGP neighbours. This list will be automatically populated with prefixes announced by FastPPS CPE. Lists for prefix protection are selected according to the scenario. As an example we usesystem.protected.prefixeslist. Special nexthop and community are defined as needed.3.3. To prevent flapping specify
system.policy.prefixes.list in the announcement policy for these BGP neighbours.
Configuring Protection Policies
-
There is no need to set the thresholds for
system.protected.prefixeslist announcement control in the policies responsible for FastPPS CPE traffic. It will be automatically announced to all BGP neighbours for which it was added to the announcement policy, while BGP announcement is active and the list is not empty. -
Specify autodetection thresholds to prevent flapping.
2.1. Set
BGP.Input{Pps,Bps}.Onthresholds at “Autodetection” tab of the policy responsible for FastPPS CPE traffic. When the traffic exceeds these thresholds, the destination prefixes from the protection policy routing rules will be added tosystem.policy.prefixeslist.2.2. Set
BGP.Input{Pps,Bps}.Offthresholds at “Autodetection” tab of the policy responsible for FastPPS CPE traffic. When the traffic drops below these thresholds, the destination prefixes from the protection policy routing rules will be removed fromsystem.policy.prefixeslist.
After completing these steps FastPPS ISP is ready to interact with FastPPS CPE.
Flapping
When incoming traffic on FastPPS CPE approaches the bandwidth, a BGP announcement towards FastPPS ISP is created. Upon receiving the announcement, FastPPS ISP reroutes the traffic to itself. As a result, the traffic rate on FastPPS CPE may drop below the threshold, and the BGP announcement towards FastPPS ISP is automatically removed. FastPPS ISP will detect that the announcement is removed, and stop routing the traffic to itself. The traffic will again start flowing to FastPPS CPE, will exceed the threshold again and so on. This process is called flapping. There are several mechanics created to reduce flapping effect on the protection efficiency in FastPPS.
Recommendations for Reducing Flapping on FastPPS CPE Side
One can increase the “Number of analysed intervals” at “Autodetection” tab of the FastPPS CPE protection policy. This will not completely exclude flapping, but its frequency will be reduced due to longer time waiting between the traffic rate reduction below the autodetection threshold and the BGP announcement removal. The number of analysed intervals is chosen empirically for a specific FastPPS CPE-FastPPS ISP pair and depends on the average duration of observed attacks.
Recommendations to Reduce Flapping on FastPPS ISP Side
When BGP announcement with prefixes, traffic to which must needs protection,
is received from FastPPS CPE, these prefixes are automatically added to the
system.protected.prefixes list. FastPPS ISP sends this list to BGP neighbours
informing that the traffic of these prefixes must be routed to it. Thus traffic
is routed to FastPPS ISP policies responsible for FastPPS CPE protection and
the traffic is recorded to the counters of these policies.
To avoid flapping, FastPPS can keep the traffic on itself. To enable this logic in
the policies responsible for FastPPS CPE protection:
-
Specify autodetection thresholds
BGP.Input{Pps,Bps}.{On,Off}. -
In the BGP announcement policy of BGP neighbours, besides
system.protected.prefixes, additionally specifysystem.policy.prefixes.
In this case the attacked prefixes will continue to be announced to BGP neighbours,
even when FastPPS CPE stops announcing, until the traffic on FastPPS ISP drops below
BGP.Input{Pps,Bps}.Off threshold.
To remove traffic from FastPPS ISP protection manually, the client must log in to FastPPS ISP Web interface and turn off BGP announcement in the policies responsible for the client’s service protection.
It must be noted that FastPPS CPE often BGP announces /32 prefixes, while FastPPS ISP
announces prefixes of larger subnets, for example /24. Thus, autodetection thresholds
BGP.Signaling.Input{Pps,Bps}.{On,Off} on FastPPS CPE and autodetection thresholds
BGP.Input{Pps,Bps}.{On,Off} on FastPPS ISP should have comparable values. In
the opposite case, if the attack is not performed on the whole subnet, but only on a specific
IP-address, the thresholds may be exceeded on FastPPS CPE, but not on FastPPS ISP and
flapping still occurs.