Manual Chapter :
Modifying a DoS profile to improve application protection
Applies To:
Show VersionsBIG-IQ Centralized Management
- 7.0.0
Modifying a DoS profile to improve application protection
A DoS profile configured on the BIG-IQ Centralized Management system
prevents or monitors denial of service (DoS) attacks on web applications. Depending on your
configuration, the system detects DoS attacks based on transactions per second (TPS) on the
client side, stress-based server latency, heavy URLs, source location, suspicious browsers,
and failed CAPTCHA responses. Behavioral DoS (BADoS), a part of stress-based detection,
automatically discovers and mitigates DoS attacks using behavioral data.
Changes in your application's traffic might reduce the effectiveness of
your existing DoS profile. You can edit DoS profiles that protect your application's
security to add or remove attack detection and mitigation measures.
Edit DoS profile for application security
Your virtual server must include an HTTP
analytics profile before you can use the DoS profile Application Security
feature.
You can configure the conditions under which
the system determines that your application is under a DoS attack, and how the system
reacts to a suspected attack.
- Go to.This displays all monitored objects.
- Click the DoS Profile column header to sort objects by DoS profile.
- Click the name of the DoS profile you want to edit.The DoS Profile Properties screen opens.
- On the left, clickApplication Securityto expand the list.
- ClickPropertiesto display the General Settings screen and configure the application security general settings.
- In theApplication Securitysetting, selectEnabledto use application security protection and display additional properties.
- In theIP Address Whitelistsetting, specify the IP addresses that the system considers legitimate and does not examine when performing DoS prevention.
- To add an IP address to the whitelist, type it in the upper field, and clickAdd. The IP address is added to the whitelist in the lower field.
- To delete an IP address from the whitelist, select the IP address from the whitelist in the lower field, and clickRemove.
- In theGeolocationssetting, specify that you want to override the DoS profile's geolocation detection criteria threshold settings by selecting countries from which to allow or block traffic during a DoS attack.
- To allow traffic from a country, select the country and move it to theGeolocation Whitelist.
- To block traffic from a country, select the country and move it to theGeolocation Blacklist.
- Enable theTrigger iRulesetting if you have an iRule that manages DoS events in a customized manner.
- Enable theSingle Page Applicationsetting if your website is a single page application.
- Configure theURL Patternsto use. Each URL pattern defines a set of URLs which are logically the same URL with the varying part of the pattern acting as a parameter, such as/product/*php.
- To add the URL pattern to the list, type the URL pattern and clickAdd.
- To remove the URL pattern from the list, select the pattern from theURL Patternslist, and clickRemove.
- Enable theTraffic Scrubbingsetting if you want traffic scrubbing enabled during attacks by advertising BGP routes. This feature requires configuration of a scrubber profile. Change theAdvertisement Durationvalue if needed.
- Enable theRTBHsetting if you want to have remotely triggered black hole (RTBH) filtering of attacking BGP IP addresses by advertising the BGP routes. This feature requires configuration of the blacklist publisher. Change theAdvertisement Durationvalue if needed.
- Configure whetherPerformance Accelerationshould be used.
- To forgo performance acceleration, selectNone.
- To use performance acceleration, select the TCP fastL4 profile to use as the fast-path for acceleration.
- To configure the Proactive Bot Defense settings, clickProactive Bot Defense.PropertyDescriptionOperation ModeSpecifies the conditions under which the system detects and blocks bots. SelectOff,During Attacks, orAlways. IfOffis selected, no other settings are shown on this tab.Block requests from suspicious browsersStrengthens the bot defense by blocking suspicious browsers. By default, the system completely blocks highly suspicious browsers and uses CAPTCHA challenges for moderately suspicious browsers.
- Select theBlock Suspicious Browserscheck box to enable or disable blocking of suspicious browsers.
- Select theCAPTCHA Challengecheck box to enable or disable issuing a challenge. ClickCAPTCHA Response Settingsto select the responses to use.
Grace PeriodSpecifies time in seconds for the system to validate that browsers are not bots. During this period, the system does not block requests that were not validated. Modify the number or clickReset to Defaultto reset the value.Cross-Domain RequestsYou can add additional security by allowing only configured domains to reference resources of the site. From the list, select an option. You can also configure domains after selecting one of theCross-Domain Requestsoptions.Related Site DomainsSpecifies the domains that are part of the web site and protected by Proactive Bot Defense. Add domains by typing a domain in the text box and clickingAdd. Remove a domain by selecting it and clickingRemove.Related External DomainsSpecifies the external domains (those not part of your web site) that are allowed to reference resources in your website. Add domains by typing a domain in the field and clickingAdd. Remove a domain by selecting it in the text box and clickingRemove.URL WhitelistSpecifies URLs that are not blocked by Proactive Bot Defense. Requests may still be blocked by the TPS-based / Stress-based attack mitigation. Add URLs to the whitelist by typing a URL in the text box and clickingAdd. Remove a URL by selecting it and clickingRemove. - To configure the Bot Signatures settings, clickBot Signatures.PropertyDescriptionBot Signature CheckSelectEnabledto display settings. You cannot disable theBot Signature Checkproperty whileProactive Bot Detection,TPS-based DetectionwithBy Device IDselected, orStress-based DetectionwithBy Device IDselected, is enabled. To disable theBot Signature Checkproperty, you must first disable the previously listed properties. Alternatively, rather than disabling all bot signature checking by disablingBot Signature Check, you can disable categories of bot signatures individually.Malicious CategoriesandBenign CategoriesThese two category lists are handled similarly.For either category, selectNone,Report, orBlock. That setting is then applied to all the listed items in the category. The categories can also be individually changed to another value. If you change them individually, the value for theMalicious CategoriesorBenign Categorieschanges toCustom Configuration. A user cannot set all categories toNoneand keepProactive Bot Defenseenabled.Disabled Bot SignaturesSpecifies bot signatures that are available and disabled. To specify, move the bot signatures between theAvailable Signatureslist and theDisabled Signatureslist.
- To configure how mobile applications built with the Anti-Bot Mobile SDK are detected, and to define how requests from mobile application clients are handled, clickMobile Applications.PropertyDescriptionMobile App ProtectionSpecify whether to use mobile application DoS protection.
- SelectEnabledto use configuration of mobile application DoS protection. When this is enabled, requests from mobile applications built with the Anti-Bot Mobile SDK are detected and handled according to the settings.
- Clear theEnabledcheck box to have mobile application requests handled without DoS protection.
iOSSpecify the settings for iOS mobile applications.- To allow traffic on any iOS package, selectAllow Any Package Name. Apackage nameis the unique identifier of the mobile application, such ascom.f5.app1.
- To allow traffic from jailbroken iOS devices, selectAllow Jailbroken Devices.
- To allow traffic on specified packages, type the iOS package names to allow, and clickAdd. To remove a package from the list, select the package and clickRemove. This option is not available if you have chosenAllow Any Package Name. When this is set, all other packages are blocked with the mobile application response page text.
AndroidSpecify the settings for Android mobile applications.- To allow any application publisher, selectAllow Any Publisher. A publisher is identified by the certificate used to sign the application.
- To allow traffic from rooted Android devices, selectAllow Rooted Devices.
- To allow traffic on specified packages, select publisher certificates from theAvailable publisher certificatelist, and move them to theAssigned publisher certificateslist. All other certificates are blocked with the mobile application response page text. This option is not available if you have chosenAllow Any Publisher.
AdvancedSpecify advanced handling of requests from mobile applications.- When a CAPTCHA or client side integrity challenge needs to be presented, select the action to take.
- To have the traffic passed without incident, selectAlways passed.
- To have the traffic challenged for human behavior, selectChallenged for human behavior. When this is selected, the SDK checks for human interactions with the screen in the last few seconds. If none are detected, the traffic is blocked.
- To allow traffic from applications that are run on emulators, selectAllow Emulators.
- To configure settings for the detection of DoS attacks based on a high volume of incoming traffic, clickTPS-based Detection.PropertyDescriptionOperation ModeSpecifies how the system reacts when it detects an attack, and can beOff,Transparent, orBlocking. If it is set toOff, no other properties are shown.Thresholds ModeSpecifies how thresholds are configured.
- To configure each mitigation behavior threshold manually, selectManual.
- To use the system default mitigation threshold settings, selectAutomatic.
Thresholds Modeselection affects which threshold options are available in the other sections on this screen.By Source IPSpecifies the criteria that determine when the system treats the IP address as an attacker, and the mitigation method to be used for the attacking IP address.By Device IDSpecifies the criteria that determine when the system treats the device ID as an attacker, and the mitigation method to be used for the attacking device.By GeolocationSpecifies the criteria that determine when the system treats the geolocation as an attacker, and the mitigation method to be used for the attacking geolocation. The settings exclude blacklisted and whitelisted geolocations.By URLSpecifies the criteria that determine when the system treats the URL as an attacker, and the mitigation method to be used for the attacking URL. Heavy URL Protection can also be enabled, but needs to be configured. Click theClick to configurelink next to the option to do so.Site WideSpecifies the criteria that determine when the system determines an entire website is under attack, and the mitigation method to be used.Prevention DurationSpecifies the time spent in each mitigation step before moving (escalating or de-escalating) to the next mitigation step. - To configure settings for the detection of DoS attacks based on server stress, clickBehavioral and Stress-based Detection.PropertyDescriptionOperation ModeSpecifies how the system reacts when it detects a stress-based attack, and can beOff,Transparent, orBlocking. If it is set toOff, no other properties are shown.Thresholds ModeSpecifies how thresholds are configured.
- To configure each mitigation behavior threshold manually, selectManual.
- To use the system default mitigation threshold settings, selectAutomatic.
Thresholds Modeselection affects which threshold options are available in the other sections on this screen.By Source IPSpecifies the criteria that determine when the system treats the IP address as an attacker, and the mitigation method to be used for the attacking IP address.By Device IDSpecifies the criteria that determine when the system treats the device ID as an attacker, and the mitigation method to be used for the attacking device.By GeolocationSpecifies the criteria that determine when the system treats the geolocation as an attacker, and the mitigation method to be used for the attacking geolocation. The settings exclude blacklisted and whitelisted geolocations.By URLSpecifies the criteria that determine when the system treats the URL as an attacker, and the mitigation method to be used for the attacking URL. Heavy URL Protection can also be enabled, but needs to be configured. Click theClick to configurelink next to the option to do so.Site WideSpecifies the criteria that determine when the system determines an entire website is under attack, and the mitigation method to be used.Behavioral Detection and MitigationSpecifies the mitigation behavior, and when enabled, the selected level of mitigation to use.- For theBad Actor Detectionsetting, selectEnabledto perform traffic behavior, server capacity learning, and anomaly detection.
- For theSignature Detectionsetting, selectEnabledto perform signature detection. SelectUse approved signatures onlyto use only approved signatures.
- ForMitigation, select the type of mitigation to be used. Review the description of each mitigation type to select the best one for your environment,
Prevention DurationSpecifies the time spent in each mitigation step before moving (escalating or de-escalating) to the next mitigation step. - To configure settings for protecting heavy URLs during DoS attacks, clickHeavy URL Protection.Heavy URLs are those that have the potential to cause stress on the server, even with a low TPS count.PropertyDescriptionAutomatic DetectionSelectEnabledto automatically detect heavy URLs of the application, in addition to the URLs entered manually.Heavy URLsYou can configure a list of heavy URLs to protect, in addition to the automatically detected ones. Type a URL in the top field, and clickAdd. Optionally, for a BIG-IP device version 13.0 or later, enter a threshold value. To remove a URL from the list, select the URL from the text box, and clickRemoveIgnored URLsYou can configure a list of URLs that are excluded from automatic detection as heavy URLs. The system supports wildcards. Type a URL in the top field, and clickAdd. To remove a URL from the list, select the URL from the text box, and clickRemoveLatency ThresholdIfAutomatic Detectionis enabled, set theLatency Thresholdsetting to be the number of milliseconds for the system to use as the threshold for automatically detecting heavy URLs. The default value is1000milliseconds. ClickReset to Defaultto reset the value to 1000.
- To define the responses to use when issuing a challenge, clickCAPTCHA Response Settings.The exact format of a response body differs, depending on the version of the BIG-IP device. Test and verify that any custom response you create works with your installed BIG-IP version.
- For theFirst Response Type, selectDefaultto use the default response, or selectCustomto create your own first response body by entering it into theFirst Response Bodyarea.Here is an example first response body:This question is for testing whether you are a human visitor and to prevent automated spam submission. <br> %DOSL7.captcha.image% %DOSL7.captcha.change% <br> <b>What code is in the image?</b> %DOSL7.captcha.solution% <br> %DOSL7.captcha.submit% <br> <br> Your support ID is: %DOSL7.captcha.support_id%
- For theFailure Response Type, selectDefaultto use the default response, or selectCustomto create your own failure response body by entering it into theFailure Response Bodyarea.Here is an example failure response body:You have entered an invalid answer for the question. Please, try again. <br> %DOSL7.captcha.image% %DOSL7.captcha.change% <br> <b>What code is in the image?</b> %DOSL7.captcha.solution% <br> %DOSL7.captcha.submit% <br> <br> Your support ID is: %DOSL7.captcha.support_id%
- ClickRecord Trafficto configure settings for the recording of traffic (by performing a TCP dump) when a DoS attack is underway, to diagnose the attack vectors and attackers, observe whether and how it was mitigated, and draw conclusions for changing the DoS profile configuration.You can record traffic and collect the TCP dump files into the QuickView file so that F5 Support can use it for solving customer cases. The files have apcapextension and are located in this path on the BIG-IP device:/shared/dosl7/tcpdumps.PropertyDescriptionRecord Traffic During AttacksControls whether traffic recording is used. The default is disabled and causes other properties to be hidden. Note that the system records SSL traffic encrypted. SelectEnabledto specify that the system record traffic when a DoS attack is underway, and display settings.Maximum TCP Dump DurationSpecifies the maximum time, in seconds, for one dump cycle. Legal values are between 1 and 300. The default is 30 seconds.Maximum TCP Dump SizeSpecifies the maximum size, in MB, for a dump cycle. Legal values are between 1 and 50. The default is 10 MB.TCP Dump RepetitionSpecifies whether the system performs one dump, or multiple dumps, for each DoS attack.
- Save your work.
The settings are incorporated into the DoS
profile.
Next, you can view the attack details for an
ongoing DDoS attack to monitor the impact of your edited DoS Profile.