Skip to content
Smarter by Design.Simpler for Business

lb threat-protection ​

The lb threat-protection command manages the traffic protection settings of a vService: the threshold-based DDoS protections, the country and network type rules, the address reputation, the bot protection, the quarantine and the waiting room. Its panel equivalent is the Threat Protection tab of the vService.

There is no adding or deleting in this command

The protection record is born by itself when the vService is created. There are no add and delete sub-commands; the record is changed only with update, and with update-many the same setting is written to many vServices together.

Command Summary ​

TR7 WEB-CLI · lb threat-protection
# Tab after the command
admin@TR7LBWAF01> lb threat-protection
list show update update-many
 
admin@TR7LBWAF01> lb threat-protection list # list all of them
admin@TR7LBWAF01> lb threat-protection show <id> # show one
admin@TR7LBWAF01> lb threat-protection update id <id> …
admin@TR7LBWAF01> lb threat-protection update-many target <target> …
admin@TR7LBWAF01>  

The Common Structure of the Protection Families ​

All the threshold-based protections consist of the same five parts. Configuring a family means writing these parts in order.

Step 1 Turn on the protection
--<family>Protection true
Step 2 Determine the measurement window
--<family>Window.val 10 --<family>Window.unit s
Step 3 Put the threshold
--<family>Limit 1000 — if needed, a hard limit with --<family>HardLimit
Step 4 Select the action
--<family>Action <action>
Step 5 Give the detail of the action
The status code in blocking, the address in a redirect, the page in showing content.

The same action fields are repeated in every family: BlockStatusCode determines the code that will be returned in blocking, RedirectLoc and RedirectCode the redirect, and ContentProfile and ContentStatusCode the page that will be shown.

The Required Field ​

FieldStatusWhat it doesWhat is written after it
idRequiredDetermines the protection record of which vService will be changedThe id of the protection record; Tab lists them

The DDoS Protection Family ​

The whole family is turned on with a single switch; the exemptions are valid for all the sub-protections.

FieldWhat it doesWhat is written after it
--ddosProtectionTurns on the whole DDoS protection familytrue · false
--ddosTrustVerifiedBotsExempts the verified search engine bots from the DDoS protectiontrue · false
--ddosWhitelistCondDetermines in which condition the DDoS exemption will be appliedA condition expression
--ddosWhitelistEntries.N.typeSelects the type of the exemption entryAddress · network · ASN · country
--ddosWhitelistEntries.N.ipDetermines the address that will be exemptedAn IP address
--ddosWhitelistEntries.N.cidrDetermines the mask length of the network that will be exemptedA CIDR value
--ddosWhitelistEntries.N.asnDetermines the autonomous system that will be exemptedAn ASN value
--ddosWhitelistEntries.N.countryDetermines the country that will be exemptedA country value

Threshold Protection: the number of requests per source address ​

This protection watches the number of requests per source address measure. The names of the fields are written with the ddosSrcIpRequest prefix.

FieldWhat it doesWhat is written after it
--ddosSrcIpRequestProtectionTurns on this protection familytrue · false
--ddosSrcIpRequestWindow.valDetermines in which time window the measurement will be doneThe duration value and unit — the number part
--ddosSrcIpRequestWindow.unitDetermines in which time window the measurement will be doneThe duration value and unit — the unit part
--ddosSrcIpRequestLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosSrcIpRequestActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosSrcIpRequestHardLimitDetermines the hard threshold that is blocked directly when it is exceededA number
--ddosSrcIpRequestBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosSrcIpRequestRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosSrcIpRequestRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosSrcIpRequestContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosSrcIpRequestContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code

Threshold Protection: the number of connections per source address ​

This protection watches the number of connections per source address measure. The names of the fields are written with the ddosSrcIpConnection prefix.

FieldWhat it doesWhat is written after it
--ddosSrcIpConnectionProtectionTurns on this protection familytrue · false
--ddosSrcIpConnectionWindow.valDetermines in which time window the measurement will be doneThe duration value and unit — the number part
--ddosSrcIpConnectionWindow.unitDetermines in which time window the measurement will be doneThe duration value and unit — the unit part
--ddosSrcIpConnectionLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosSrcIpConnectionActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosSrcIpConnectionHardLimitDetermines the hard threshold that is blocked directly when it is exceededA number
--ddosSrcIpConnectionBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosSrcIpConnectionRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosSrcIpConnectionRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosSrcIpConnectionContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosSrcIpConnectionContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code

Threshold Protection: the total number of requests of the service ​

This protection watches the total number of requests of the service measure. The names of the fields are written with the ddosTotalRequest prefix.

FieldWhat it doesWhat is written after it
--ddosTotalRequestProtectionTurns on this protection familytrue · false
--ddosTotalRequestWindow.valDetermines in which time window the measurement will be doneThe duration value and unit — the number part
--ddosTotalRequestWindow.unitDetermines in which time window the measurement will be doneThe duration value and unit — the unit part
--ddosTotalRequestLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosTotalRequestActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosTotalRequestHardLimitDetermines the hard threshold that is blocked directly when it is exceededA number
--ddosTotalRequestBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosTotalRequestRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosTotalRequestRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosTotalRequestContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosTotalRequestContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code

Threshold Protection: the total number of connections of the service ​

This protection watches the total number of connections of the service measure. The names of the fields are written with the ddosTotalConnection prefix.

FieldWhat it doesWhat is written after it
--ddosTotalConnectionProtectionTurns on this protection familytrue · false
--ddosTotalConnectionWindow.valDetermines in which time window the measurement will be doneThe duration value and unit — the number part
--ddosTotalConnectionWindow.unitDetermines in which time window the measurement will be doneThe duration value and unit — the unit part
--ddosTotalConnectionLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosTotalConnectionActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosTotalConnectionHardLimitDetermines the hard threshold that is blocked directly when it is exceededA number
--ddosTotalConnectionBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosTotalConnectionRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosTotalConnectionRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosTotalConnectionContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosTotalConnectionContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code

Threshold Protection: the number of error responses ​

This protection watches the number of error responses measure. The names of the fields are written with the ddosError prefix.

FieldWhat it doesWhat is written after it
--ddosErrorProtectionTurns on this protection familytrue · false
--ddosErrorWindow.valDetermines in which time window the measurement will be doneThe duration value and unit — the number part
--ddosErrorWindow.unitDetermines in which time window the measurement will be doneThe duration value and unit — the unit part
--ddosErrorLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosErrorActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosErrorBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosErrorRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosErrorRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosErrorContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosErrorContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code

Threshold Protection: the number of active source addresses ​

This protection watches the number of active source addresses measure. The names of the fields are written with the ddosActiveSources prefix.

FieldWhat it doesWhat is written after it
--ddosActiveSourcesProtectionTurns on this protection familytrue · false
--ddosActiveSourcesLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosActiveSourcesActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosActiveSourcesBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosActiveSourcesRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosActiveSourcesRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosActiveSourcesContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosActiveSourcesContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code

Rule-Based Protection: the country ​

The country-based rules are written with their own indexes and each one carries a separate measure and threshold.

FieldWhat it doesWhat is written after it
--ddosCountryProtectionTurns on this protection familytrue · false
--ddosCountryWindow.valDetermines in which time window the measurement will be doneThe duration value and unit — the number part
--ddosCountryWindow.unitDetermines in which time window the measurement will be doneThe duration value and unit — the unit part
--ddosCountryWhitelist.NDetermines the ones that will be exempted from this protectionThe values selected from the list
--ddosCountryRules.N.matchSelects whether the rule will be applied to the traffic that enters the list or to the traffic that does notThe matching form
--ddosCountryRules.N.countries.NDetermines the countries that the rule will coverCountry values
--ddosCountryRules.N.metricSelects which measure the rule will watchA measure value
--ddosCountryRules.N.limitDetermines the threshold of the measure that must not be exceededA number
--ddosCountryRules.N.actionSelects what will be done when the threshold is exceededAn action value
--ddosCountryRules.N.blockStatusCodeDetermines the status code that will be returned in blockingAn HTTP status code
--ddosCountryRules.N.redirectLocDetermines the address that will be gone to in a redirectAn address
--ddosCountryRules.N.redirectCodeDetermines the status code that will be used in a redirectAn HTTP status code
--ddosCountryRules.N.contentProfileSelects the page that will be used while showing contentA content page record
--ddosCountryRules.N.contentStatusCodeDetermines the status code that will be returned while showing contentAn HTTP status code
--ddosCountryRules.N.bwLimitMbitDetermines the bandwidth limitAn Mbit value
--ddosCountryRules.N.allowLearningAllows this rule to be applied in the learning modetrue · false

Rule-Based Protection: the network type ​

The network type based rules are written with their own indexes and each one carries a separate measure and threshold.

FieldWhat it doesWhat is written after it
--ddosNettypeProtectionTurns on this protection familytrue · false
--ddosNettypeWindow.valDetermines in which time window the measurement will be doneThe duration value and unit — the number part
--ddosNettypeWindow.unitDetermines in which time window the measurement will be doneThe duration value and unit — the unit part
--ddosNettypeWhitelist.NDetermines the ones that will be exempted from this protectionThe values selected from the list
--ddosNettypeRules.N.matchSelects whether the rule will be applied to the traffic that enters the list or to the traffic that does notThe matching form
--ddosNettypeRules.N.groups.NDetermines the network type groups that the rule will coverGroup values
--ddosNettypeRules.N.metricSelects which measure the rule will watchA measure value
--ddosNettypeRules.N.limitDetermines the threshold of the measure that must not be exceededA number
--ddosNettypeRules.N.actionSelects what will be done when the threshold is exceededAn action value
--ddosNettypeRules.N.blockStatusCodeDetermines the status code that will be returned in blockingAn HTTP status code
--ddosNettypeRules.N.redirectLocDetermines the address that will be gone to in a redirectAn address
--ddosNettypeRules.N.redirectCodeDetermines the status code that will be used in a redirectAn HTTP status code
--ddosNettypeRules.N.contentProfileSelects the page that will be used while showing contentA content page record
--ddosNettypeRules.N.contentStatusCodeDetermines the status code that will be returned while showing contentAn HTTP status code
--ddosNettypeRules.N.bwLimitMbitDetermines the bandwidth limitAn Mbit value
--ddosNettypeRules.N.allowLearningAllows this rule to be applied in the learning modetrue · false

The Address Reputation Protection ​

It applies an action according to the reputation category of the source address.

FieldWhat it doesWhat is written after it
--ipRepProtectionTurns on the address reputation protectiontrue · false
--ipRepWhitelistCondDetermines in which condition the reputation exemption will be appliedA condition expression
--ipRepWhitelistEntries.N.typeSelects the type of the exemption entryAddress · network · ASN
--ipRepWhitelistEntries.N.ipDetermines the address that will be exemptedAn IP address
--ipRepWhitelistEntries.N.cidrDetermines the mask length of the network that will be exemptedA CIDR value
--ipRepWhitelistEntries.N.asnDetermines the autonomous system that will be exemptedAn ASN value
--ipRepActions.N.categories.NSelects to which reputation categories the rule will be appliedCategory values
--ipRepActions.N.actionSelects what will be done in those categoriesAn action value
--ipRepActions.N.blockStatusCodeDetermines the status code that will be returned in blockingAn HTTP status code
--ipRepActions.N.redirectLocDetermines the address that will be gone to in a redirectAn address
--ipRepActions.N.redirectCodeDetermines the status code that will be used in a redirectAn HTTP status code
--ipRepActions.N.contentProfileSelects the page that will be used while showing contentA content page record
--ipRepActions.N.contentStatusCodeDetermines the status code that will be returned while showing contentAn HTTP status code
--ipRepActions.N.allowLearningAllows this rule to be applied in the learning modetrue · false

The Bot Protection ​

It scores the probability of the client being a bot and applies an action according to the score.

FieldWhat it doesWhat is written after it
--botProtectionTurns on the bot protectiontrue · false
--botFactors.NSelects from which criteria the bot score will be calculatedCriterion values
--botClientEvidenceTurns on the use of the evidence collected on the client sidetrue · false
--botTrustVerifiedBotsExempts the verified search engine bots from the bot protectiontrue · false
--botWhitelistCondDetermines in which condition the bot exemption will be appliedA condition expression
--botWhitelistEntries.N.typeSelects the type of the exemption entryAddress · network · ASN · value
--botWhitelistEntries.N.ipDetermines the address that will be exemptedAn IP address
--botWhitelistEntries.N.cidrDetermines the mask length of the network that will be exemptedA CIDR value
--botWhitelistEntries.N.asnDetermines the autonomous system that will be exemptedAn ASN value
--botWhitelistEntries.N.valueDetermines the value that will be exemptedA value
--botActions.N.thresholdDetermines from which bot score on the rule will be appliedA score value
--botActions.N.actionSelects what will be done at that scoreAn action value
--botActions.N.blockStatusCodeDetermines the status code that will be returned in blockingAn HTTP status code
--botActions.N.redirectLocDetermines the address that will be gone to in a redirectAn address
--botActions.N.redirectCodeDetermines the status code that will be used in a redirectAn HTTP status code
--botActions.N.contentProfileSelects the page that will be used while showing contentA content page record
--botActions.N.contentStatusCodeDetermines the status code that will be returned while showing contentAn HTTP status code
--botActions.N.allowLearningAllows this rule to be applied in the learning modetrue · false
--eventLogScoreFloorDetermines the lowest bot score that will be written to the event logA score value

The CAPTCHA Settings ​

It determines the appearance of the page that will be shown when the CAPTCHA action is selected and the verification time.

FieldWhat it doesWhat is written after it
--captchaTypeSelects the CAPTCHA typeA CAPTCHA type
--captchaSizeSelects the CAPTCHA sizeA size value
--captchaBgColorDetermines the background color of the CAPTCHA pageA color value
--captchaTextColorDetermines the text color of the CAPTCHA pageA color value
--captchaDifficultySelects the CAPTCHA difficulty levelA difficulty value
--captchaLanguageSelects the CAPTCHA languageA language value
--captchaTitleDetermines the tab title of the CAPTCHA pageThe title text
--captchaThemeSelects the theme of the CAPTCHA pageA theme value
--captchaVerifiedTtl.valDetermines how long the verification will stay validA number
--captchaVerifiedTtl.unitDetermines the unit of the verification timeA unit

The Quarantine ​

It makes the sources that exceed the threshold be taken into a separate behavior for a while.

FieldWhat it doesWhat is written after it
--quarantineCaptchaFailTurns on the failed CAPTCHA attempts leading to the quarantinetrue · false
--quarantineCaptchaFailThresholdDetermines after how many failed attempts it will be taken into the quarantineA number
--quarantineCaptchaFailWindow.valDetermines the window in which the failed attempts are countedA number
--quarantineCaptchaFailWindow.unitDetermines the unit of the windowA unit
--quarantineTrackingTypeSelects according to what the quarantine will be trackedA tracking type
--quarantineManualTrackingKeys.NDetermines the variables that will be used in the manual trackingSmart variables
--quarantineTime.valDetermines how long the quarantine will lastA number
--quarantineTime.unitDetermines the unit of the quarantine timeA unit
--quarantineActionSelects what will be done to the request in the quarantineAn action value
--quarantineRedirectLocDetermines the redirect address in the quarantineAn address
--quarantineContentProfileSelects the page that will be shown in the quarantineA content page record
--quarantineStatusCodeDetermines the status code that will be returned in the quarantineAn HTTP status code

The Waiting Room ​

It queues the visitors above the capacity and lets them in at the determined rate.

FieldWhat it doesWhat is written after it
--waitingRoomTurns on the waiting roomtrue · false
--waitingRoomCapacityDetermines how many visitors will be let in at the same timeA number
--waitingRoomCondDetermines in which traffic the waiting room will be appliedA condition expression
--waitingRoomPageRules.N.condDetermines which waiting page will be shown in which conditionA condition expression
--waitingRoomPageRules.N.pageProfileSelects the page that will be shown in that conditionA content page record
--waitingRoomContentProfileSelects the page that will be shown in the waiting roomA content page record
--waitingRoomEntryRateDetermines the rate of letting in from the waiting roomA number
--waitingRoomIdleTimeout.valDetermines after how long without an action the visitor will be droppedA number
--waitingRoomIdleTimeout.unitDetermines the unit of this timeA unit
--waitingRoomRefreshSecDetermines every how many seconds the waiting page will be refreshedSeconds
--waitingRoomTrustVerifiedBotsMakes the verified bots not be taken into the waiting roomtrue · false

The Learning Mode ​

It observes the traffic without applying the rules and produces threshold suggestions.

FieldWhat it doesWhat is written after it
--learningModeTurns on the learning mode; it observes without the rules being appliedtrue · false
--learningLookback.valDetermines how far back the learning will lookA number
--learningLookback.unitDetermines the unit of the look-back timeA unit
--learningTrustedCountries.NDetermines the countries that will be trusted in the learningCountry values
--learningTrustedNettypeGroups.NDetermines the network type groups that will be trusted in the learningGroup values
--learningTuneOnlyMakes the learning produce only a threshold suggestiontrue · false
--learningIntervalDetermines at which interval the learning evaluation will be doneAn interval value

Bildirimler ​

It determines how and to whom the protection events will be notified.

FieldWhat it doesWhat is written after it
--notifySuggestionsMuteMutes the learning suggestion notificationstrue · false
--notifyStateBandDetermines on which status changes a notification will be producedA status band value
--advancedNotifications.N.scopeSelects in which scope the advanced notification will be countedA scope value
--advancedNotifications.N.maskV4Determines with which mask the IPv4 addresses will be groupedThe mask length
--advancedNotifications.N.maskV6Determines with which mask the IPv6 addresses will be groupedThe mask length
--advancedNotifications.N.countTypeSelects what will be countedA counting type
--advancedNotifications.N.reportFileTypes.NSelects the report formats that will be added to the notificationFile format values
--advancedNotifications.N.window.valDetermines the window of the countingA number
--advancedNotifications.N.window.unitDetermines the unit of the windowA unit
--advancedNotifications.N.limitDetermines the threshold at which a notification will be producedA number
--notifyCountryMatchSelects how the country filter will be appliedThe matching form
--notifyCountryList.NDetermines the countries that will be used in the filterCountry values
--notifyNettypeMatchSelects how the network type filter will be appliedThe matching form
--notifyNettypeList.NDetermines the network type groups that will be used in the filterGroup values
--notifyEmail.NDetermines the email addresses to which the notification will be sentAn email address
--notifySms.NDetermines the phone numbers to which the notification will be sentA phone number
--notifySnmpTurns on the notification being sent as an SNMP traptrue · false
--notifyUiTurns on the notification being shown in the interfacetrue · false

Examples ​

TR7 WEB-CLI · A) The request threshold per source address
admin@TR7LBWAF01> lb threat-protection update id <id> \
--ddosProtection true --ddosSrcIpRequestProtection true \
--ddosSrcIpRequestWindow.val 10 --ddosSrcIpRequestWindow.unit s \
--ddosSrcIpRequestLimit 200 --ddosSrcIpRequestAction <action> \
--ddosSrcIpRequestBlockStatusCode 429
admin@TR7LBWAF01>  
TR7 WEB-CLI · B) A country rule and an exemption
admin@TR7LBWAF01> lb threat-protection update id <id> \
--ddosCountryProtection true --ddosCountryRules.0.countries.0 <country> \
--ddosCountryRules.0.metric <measure> --ddosCountryRules.0.limit 500 --ddosCountryRules.0.action <action> \
--ddosWhitelistEntries.0.type <type> --ddosWhitelistEntries.0.ip 10.0.0.0 --ddosWhitelistEntries.0.cidr 8
admin@TR7LBWAF01>  
TR7 WEB-CLI · C) The bot protection and the learning mode
# observe first; the rules are not applied, a suggestion is produced
admin@TR7LBWAF01> lb threat-protection update id <id> \
--botProtection true --botActions.0.threshold 70 --botActions.0.action <action> \
--learningMode true --learningTuneOnly true
admin@TR7LBWAF01>  

Bulk Update ​

update-many applies the same change to many protection records at once. The writing order is the same on every resource.

Step 1 Select the target
The only required field is target: selected for the records selected from the list, all for the entire collection.
Step 2 Add the fields to be written
Only the fields that can be written to many records with the same value are present; the fields specific to the record, such as the id, the name and the vService id, do not take place in this command.
Step 3 Mark the targets from the list
When target selected is written and no id is given, a selection list with checkboxes opens.
Step 4 Confirm
A warning stating how many records will be affected appears; nothing is written until the confirmation word is typed.
FieldStatusValue
targetRequiredselected — the records selected from the list · all — the whole collection
--ids.NConditionalThe target ids for target selected. It is not suggested in the Tab list: the targets are marked from the selection list. In a script and in a pipeline it is written manually.
--onErrorOptionalabort (default) — if even one of the targets does not pass the validation, nothing is written · skip — the targets that pass are written

Writable Fields ​

TR7 WEB-CLI · update-many · Tab output
# Tab after the command
admin@TR7LBWAF01> lb threat-protection update-many
--info target
 
# Tab after the target field
admin@TR7LBWAF01> lb threat-protection update-many target
all selected
 
# write -- and Tab: all the writable fields
admin@TR7LBWAF01> lb threat-protection update-many target all --
--ids.N                                      --onError                                    --ddosProtection
--ddosTrustVerifiedBots                      --ddosWhitelistCond                          --ddosWhitelistEntries.N.type
--ddosWhitelistEntries.N.ip                  --ddosWhitelistEntries.N.cidr                --ddosWhitelistEntries.N.asn
--ddosWhitelistEntries.N.country             --ddosCountryProtection                      --ddosCountryWindow
--ddosCountryWhitelist.N                     --ddosCountryRules.N.match                   --ddosCountryRules.N.countries.N
--ddosCountryRules.N.metric                  --ddosCountryRules.N.limit                   --ddosCountryRules.N.action
--ddosCountryRules.N.blockStatusCode         --ddosCountryRules.N.redirectLoc             --ddosCountryRules.N.redirectCode
--ddosCountryRules.N.allowLearning           --ddosCountryRules.N.contentProfile          --ddosCountryRules.N.contentStatusCode
--ddosCountryRules.N.bwLimitMbit             --ddosNettypeProtection                      --ddosNettypeWindow
--ddosNettypeWhitelist.N                     --ddosNettypeRules.N.match                   --ddosNettypeRules.N.groups.N
--ddosNettypeRules.N.metric                  --ddosNettypeRules.N.limit                   --ddosNettypeRules.N.action
--ddosNettypeRules.N.blockStatusCode         --ddosNettypeRules.N.redirectLoc             --ddosNettypeRules.N.redirectCode
--ddosNettypeRules.N.allowLearning           --ddosNettypeRules.N.contentProfile          --ddosNettypeRules.N.contentStatusCode
--ddosNettypeRules.N.bwLimitMbit             --ddosSrcIpRequestProtection                 --ddosSrcIpRequestWindow
--ddosSrcIpRequestLimit                      --ddosSrcIpRequestAction                     --ddosSrcIpRequestBlockStatusCode
--ddosSrcIpRequestRedirectLoc                --ddosSrcIpRequestRedirectCode               --ddosSrcIpRequestContentProfile
--ddosSrcIpRequestContentStatusCode          --ddosSrcIpRequestHardLimit                  --ddosSrcIpConnectionProtection
--ddosSrcIpConnectionWindow                  --ddosSrcIpConnectionLimit                   --ddosSrcIpConnectionAction
--ddosSrcIpConnectionBlockStatusCode         --ddosSrcIpConnectionRedirectLoc             --ddosSrcIpConnectionRedirectCode
--ddosSrcIpConnectionContentProfile          --ddosSrcIpConnectionContentStatusCode       --ddosSrcIpConnectionHardLimit
--ddosErrorProtection                        --ddosErrorWindow                            --ddosErrorLimit
--ddosErrorAction                            --ddosErrorBlockStatusCode                   --ddosErrorRedirectLoc
--ddosErrorRedirectCode                      --ddosErrorContentProfile                    --ddosErrorContentStatusCode
--ddosTotalRequestProtection                 --ddosTotalRequestWindow                     --ddosTotalRequestLimit
--ddosTotalRequestAction                     --ddosTotalRequestBlockStatusCode            --ddosTotalRequestRedirectLoc
--ddosTotalRequestRedirectCode               --ddosTotalRequestContentProfile             --ddosTotalRequestContentStatusCode
--ddosTotalRequestHardLimit                  --ddosTotalConnectionProtection              --ddosTotalConnectionWindow
--ddosTotalConnectionLimit                   --ddosTotalConnectionAction                  --ddosTotalConnectionBlockStatusCode
--ddosTotalConnectionRedirectLoc             --ddosTotalConnectionRedirectCode            --ddosTotalConnectionContentProfile
--ddosTotalConnectionContentStatusCode       --ddosTotalConnectionHardLimit               --ddosActiveSourcesProtection
--ddosActiveSourcesLimit                     --ddosActiveSourcesAction                    --ddosActiveSourcesBlockStatusCode
--ddosActiveSourcesRedirectLoc               --ddosActiveSourcesRedirectCode              --ddosActiveSourcesContentProfile
--ddosActiveSourcesContentStatusCode         --ipRepProtection                            --ipRepWhitelistCond
--ipRepWhitelistEntries.N.type               --ipRepWhitelistEntries.N.ip                 --ipRepWhitelistEntries.N.cidr
--ipRepWhitelistEntries.N.asn                --ipRepActions.N.categories.N                --ipRepActions.N.action
--ipRepActions.N.blockStatusCode             --ipRepActions.N.redirectLoc                 --ipRepActions.N.redirectCode
--ipRepActions.N.contentProfile              --ipRepActions.N.allowLearning               --ipRepActions.N.contentStatusCode
--botProtection                              --botFactors.N                               --botClientEvidence
--botTrustVerifiedBots                       --botWhitelistCond                           --botWhitelistEntries.N.type
--botWhitelistEntries.N.ip                   --botWhitelistEntries.N.cidr                 --botWhitelistEntries.N.asn
--botWhitelistEntries.N.value                --botActions.N.threshold                     --botActions.N.action
--botActions.N.blockStatusCode               --botActions.N.redirectLoc                   --botActions.N.redirectCode
--botActions.N.contentProfile                --botActions.N.allowLearning                 --botActions.N.contentStatusCode
--eventLogScoreFloor                         --captchaDifficulty                          --captchaLanguage
--captchaTitle                               --captchaTheme                               --captchaVerifiedTtl
--quarantineCaptchaFail                      --quarantineCaptchaFailThreshold             --quarantineCaptchaFailWindow
--quarantineTrackingType                     --quarantineManualTrackingKeys.N             --quarantineTime
--quarantineAction                           --quarantineRedirectLoc                      --quarantineContentProfile
--quarantineStatusCode                       --waitingRoom                                --waitingRoomCapacity
--waitingRoomCond                            --waitingRoomPageRules.N.cond                --waitingRoomPageRules.N.pageProfile
--waitingRoomContentProfile                  --waitingRoomEntryRate                       --waitingRoomIdleTimeout
--waitingRoomRefreshSec                      --waitingRoomTrustVerifiedBots               --learningMode
--learningLookback                           --learningTrustedCountries.N                 --learningTrustedNettypeGroups.N
--learningTuneOnly                           --learningInterval                           --notifyStateBand
--notifySuggestionsMute                      --advancedNotifications.N.scope              --advancedNotifications.N.maskV4
--advancedNotifications.N.maskV6             --advancedNotifications.N.countType          --advancedNotifications.N.reportFileTypes.N
--advancedNotifications.N.window             --advancedNotifications.N.limit              --notifyCountryMatch
--notifyCountryList.N                        --notifyNettypeMatch                         --notifyNettypeList.N
--notifyEmail.N                              --notifySms.N                                --notifySnmp
--notifyUi                                   --info
admin@TR7LBWAF01>  

There are 179 fields in the command; the list above is the same as what appears when -- is written and Tab is pressed on the device. What each one does and what is written after it is in the table below.

The fields that are condition-bound in the single command (those that open according to the value of another field) are listed here without a condition: in the bulk update every target is validated separately according to its own record, and if the field is not active on a target it is skipped only on that target.

FieldWhat it doesWhat is written after it
--ids.NDetermines the targets of the bulk updateThe protection record ids
--onErrorDetermines what will happen if a target does not pass the validationabort writes nothing (default) · skip writes the targets that pass
--ddosProtectionTurns on the whole DDoS protection familytrue · false
--ddosTrustVerifiedBotsExempts the verified search engine bots from the DDoS protectiontrue · false
--ddosWhitelistCondDetermines in which condition the DDoS exemption will be appliedA condition expression
--ddosWhitelistEntries.N.typeSelects the type of the exemption entryAddress · network · ASN · country
--ddosWhitelistEntries.N.ipDetermines the address that will be exemptedAn IP address
--ddosWhitelistEntries.N.cidrDetermines the mask length of the network that will be exemptedA CIDR value
--ddosWhitelistEntries.N.asnDetermines the autonomous system that will be exemptedAn ASN value
--ddosWhitelistEntries.N.countryDetermines the country that will be exemptedA country value
--ddosCountryProtectionTurns on this protection familytrue · false
--ddosCountryWindowDetermines in which time window the measurement will be doneThe duration value and unit
--ddosCountryWhitelist.NDetermines the ones that will be exempted from this protectionThe values selected from the list
--ddosCountryRules.N.matchSelects whether the rule will be applied to the traffic that enters the list or to the traffic that does notThe matching form
--ddosCountryRules.N.countries.NDetermines the countries that the rule will coverCountry values
--ddosCountryRules.N.metricSelects which measure the rule will watchA measure value
--ddosCountryRules.N.limitDetermines the threshold of the measure that must not be exceededA number
--ddosCountryRules.N.actionSelects what will be done when the threshold is exceededAn action value
--ddosCountryRules.N.blockStatusCodeDetermines the status code that will be returned in blockingAn HTTP status code
--ddosCountryRules.N.redirectLocDetermines the address that will be gone to in a redirectAn address
--ddosCountryRules.N.redirectCodeDetermines the status code that will be used in a redirectAn HTTP status code
--ddosCountryRules.N.allowLearningAllows this rule to be applied in the learning modetrue · false
--ddosCountryRules.N.contentProfileSelects the page that will be used while showing contentA content page record
--ddosCountryRules.N.contentStatusCodeDetermines the status code that will be returned while showing contentAn HTTP status code
--ddosCountryRules.N.bwLimitMbitDetermines the bandwidth limitAn Mbit value
--ddosNettypeProtectionTurns on this protection familytrue · false
--ddosNettypeWindowDetermines in which time window the measurement will be doneThe duration value and unit
--ddosNettypeWhitelist.NDetermines the ones that will be exempted from this protectionThe values selected from the list
--ddosNettypeRules.N.matchSelects whether the rule will be applied to the traffic that enters the list or to the traffic that does notThe matching form
--ddosNettypeRules.N.groups.NDetermines the network type groups that the rule will coverGroup values
--ddosNettypeRules.N.metricSelects which measure the rule will watchA measure value
--ddosNettypeRules.N.limitDetermines the threshold of the measure that must not be exceededA number
--ddosNettypeRules.N.actionSelects what will be done when the threshold is exceededAn action value
--ddosNettypeRules.N.blockStatusCodeDetermines the status code that will be returned in blockingAn HTTP status code
--ddosNettypeRules.N.redirectLocDetermines the address that will be gone to in a redirectAn address
--ddosNettypeRules.N.redirectCodeDetermines the status code that will be used in a redirectAn HTTP status code
--ddosNettypeRules.N.allowLearningAllows this rule to be applied in the learning modetrue · false
--ddosNettypeRules.N.contentProfileSelects the page that will be used while showing contentA content page record
--ddosNettypeRules.N.contentStatusCodeDetermines the status code that will be returned while showing contentAn HTTP status code
--ddosNettypeRules.N.bwLimitMbitDetermines the bandwidth limitAn Mbit value
--ddosSrcIpRequestProtectionTurns on this protection familytrue · false
--ddosSrcIpRequestWindowDetermines in which time window the measurement will be doneThe duration value and unit
--ddosSrcIpRequestLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosSrcIpRequestActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosSrcIpRequestBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosSrcIpRequestRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosSrcIpRequestRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosSrcIpRequestContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosSrcIpRequestContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code
--ddosSrcIpRequestHardLimitDetermines the hard threshold that is blocked directly when it is exceededA number
--ddosSrcIpConnectionProtectionTurns on this protection familytrue · false
--ddosSrcIpConnectionWindowDetermines in which time window the measurement will be doneThe duration value and unit
--ddosSrcIpConnectionLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosSrcIpConnectionActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosSrcIpConnectionBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosSrcIpConnectionRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosSrcIpConnectionRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosSrcIpConnectionContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosSrcIpConnectionContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code
--ddosSrcIpConnectionHardLimitDetermines the hard threshold that is blocked directly when it is exceededA number
--ddosErrorProtectionTurns on this protection familytrue · false
--ddosErrorWindowDetermines in which time window the measurement will be doneThe duration value and unit
--ddosErrorLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosErrorActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosErrorBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosErrorRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosErrorRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosErrorContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosErrorContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code
--ddosTotalRequestProtectionTurns on this protection familytrue · false
--ddosTotalRequestWindowDetermines in which time window the measurement will be doneThe duration value and unit
--ddosTotalRequestLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosTotalRequestActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosTotalRequestBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosTotalRequestRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosTotalRequestRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosTotalRequestContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosTotalRequestContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code
--ddosTotalRequestHardLimitDetermines the hard threshold that is blocked directly when it is exceededA number
--ddosTotalConnectionProtectionTurns on this protection familytrue · false
--ddosTotalConnectionWindowDetermines in which time window the measurement will be doneThe duration value and unit
--ddosTotalConnectionLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosTotalConnectionActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosTotalConnectionBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosTotalConnectionRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosTotalConnectionRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosTotalConnectionContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosTotalConnectionContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code
--ddosTotalConnectionHardLimitDetermines the hard threshold that is blocked directly when it is exceededA number
--ddosActiveSourcesProtectionTurns on this protection familytrue · false
--ddosActiveSourcesLimitDetermines the threshold that must not be exceeded within the windowA number
--ddosActiveSourcesActionSelects what will be done when the threshold is exceededActions such as block · redirect · show content · CAPTCHA · quarantine
--ddosActiveSourcesBlockStatusCodeDetermines the status code that will be returned in the block actionAn HTTP status code
--ddosActiveSourcesRedirectLocDetermines the address that will be gone to in the redirect actionAn address
--ddosActiveSourcesRedirectCodeDetermines the status code that will be used in the redirect actionAn HTTP status code
--ddosActiveSourcesContentProfileSelects the page that will be used in the show content actionThe lb page record
--ddosActiveSourcesContentStatusCodeDetermines the status code that will be returned in the show content actionAn HTTP status code
--ipRepProtectionTurns on the address reputation protectiontrue · false
--ipRepWhitelistCondDetermines in which condition the reputation exemption will be appliedA condition expression
--ipRepWhitelistEntries.N.typeSelects the type of the exemption entryAddress · network · ASN
--ipRepWhitelistEntries.N.ipDetermines the address that will be exemptedAn IP address
--ipRepWhitelistEntries.N.cidrDetermines the mask length of the network that will be exemptedA CIDR value
--ipRepWhitelistEntries.N.asnDetermines the autonomous system that will be exemptedAn ASN value
--ipRepActions.N.categories.NSelects to which reputation categories the rule will be appliedCategory values
--ipRepActions.N.actionSelects what will be done in those categoriesAn action value
--ipRepActions.N.blockStatusCodeDetermines the status code that will be returned in blockingAn HTTP status code
--ipRepActions.N.redirectLocDetermines the address that will be gone to in a redirectAn address
--ipRepActions.N.redirectCodeDetermines the status code that will be used in a redirectAn HTTP status code
--ipRepActions.N.contentProfileSelects the page that will be used while showing contentA content page record
--ipRepActions.N.allowLearningAllows this rule to be applied in the learning modetrue · false
--ipRepActions.N.contentStatusCodeDetermines the status code that will be returned while showing contentAn HTTP status code
--botProtectionTurns on the bot protectiontrue · false
--botFactors.NSelects from which criteria the bot score will be calculatedCriterion values
--botClientEvidenceTurns on the use of the evidence collected on the client sidetrue · false
--botTrustVerifiedBotsExempts the verified search engine bots from the bot protectiontrue · false
--botWhitelistCondDetermines in which condition the bot exemption will be appliedA condition expression
--botWhitelistEntries.N.typeSelects the type of the exemption entryAddress · network · ASN · value
--botWhitelistEntries.N.ipDetermines the address that will be exemptedAn IP address
--botWhitelistEntries.N.cidrDetermines the mask length of the network that will be exemptedA CIDR value
--botWhitelistEntries.N.asnDetermines the autonomous system that will be exemptedAn ASN value
--botWhitelistEntries.N.valueDetermines the value that will be exemptedA value
--botActions.N.thresholdDetermines from which bot score on the rule will be appliedA score value
--botActions.N.actionSelects what will be done at that scoreAn action value
--botActions.N.blockStatusCodeDetermines the status code that will be returned in blockingAn HTTP status code
--botActions.N.redirectLocDetermines the address that will be gone to in a redirectAn address
--botActions.N.redirectCodeDetermines the status code that will be used in a redirectAn HTTP status code
--botActions.N.contentProfileSelects the page that will be used while showing contentA content page record
--botActions.N.allowLearningAllows this rule to be applied in the learning modetrue · false
--botActions.N.contentStatusCodeDetermines the status code that will be returned while showing contentAn HTTP status code
--eventLogScoreFloorDetermines the lowest bot score that will be written to the event logA score value
--captchaDifficultySelects the CAPTCHA difficulty levelA difficulty value
--captchaLanguageSelects the CAPTCHA languageA language value
--captchaTitleDetermines the tab title of the CAPTCHA pageThe title text
--captchaThemeSelects the theme of the CAPTCHA pageA theme value
--captchaVerifiedTtlDetermines how long the verification will stay validA duration value (the number and the unit together)
--quarantineCaptchaFailTurns on the failed CAPTCHA attempts leading to the quarantinetrue · false
--quarantineCaptchaFailThresholdDetermines after how many failed attempts it will be taken into the quarantineA number
--quarantineCaptchaFailWindowDetermines the window in which the failed attempts are countedA duration value (the number and the unit together)
--quarantineTrackingTypeSelects according to what the quarantine will be trackedA tracking type
--quarantineManualTrackingKeys.NDetermines the variables that will be used in the manual trackingSmart variables
--quarantineTimeDetermines how long the quarantine will lastA duration value (the number and the unit together)
--quarantineActionSelects what will be done to the request in the quarantineAn action value
--quarantineRedirectLocDetermines the redirect address in the quarantineAn address
--quarantineContentProfileSelects the page that will be shown in the quarantineA content page record
--quarantineStatusCodeDetermines the status code that will be returned in the quarantineAn HTTP status code
--waitingRoomTurns on the waiting roomtrue · false
--waitingRoomCapacityDetermines how many visitors will be let in at the same timeA number
--waitingRoomCondDetermines in which traffic the waiting room will be appliedA condition expression
--waitingRoomPageRules.N.condDetermines which waiting page will be shown in which conditionA condition expression
--waitingRoomPageRules.N.pageProfileSelects the page that will be shown in that conditionA content page record
--waitingRoomContentProfileSelects the page that will be shown in the waiting roomA content page record
--waitingRoomEntryRateDetermines the rate of letting in from the waiting roomA number
--waitingRoomIdleTimeoutDetermines after how long without an action the visitor will be droppedA duration value (the number and the unit together)
--waitingRoomRefreshSecDetermines every how many seconds the waiting page will be refreshedSeconds
--waitingRoomTrustVerifiedBotsMakes the verified bots not be taken into the waiting roomtrue · false
--learningModeTurns on the learning mode; it observes without the rules being appliedtrue · false
--learningLookbackDetermines how far back the learning will lookA duration value (the number and the unit together)
--learningTrustedCountries.NDetermines the countries that will be trusted in the learningCountry values
--learningTrustedNettypeGroups.NDetermines the network type groups that will be trusted in the learningGroup values
--learningTuneOnlyMakes the learning produce only a threshold suggestiontrue · false
--learningIntervalDetermines at which interval the learning evaluation will be doneAn interval value
--notifyStateBandDetermines on which status changes a notification will be producedA status band value
--notifySuggestionsMuteMutes the learning suggestion notificationstrue · false
--advancedNotifications.N.scopeSelects in which scope the advanced notification will be countedA scope value
--advancedNotifications.N.maskV4Determines with which mask the IPv4 addresses will be groupedThe mask length
--advancedNotifications.N.maskV6Determines with which mask the IPv6 addresses will be groupedThe mask length
--advancedNotifications.N.countTypeSelects what will be countedA counting type
--advancedNotifications.N.reportFileTypes.NSelects the report formats that will be added to the notificationFile format values
--advancedNotifications.N.windowDetermines the window of the countingA duration value (the number and the unit together)
--advancedNotifications.N.limitDetermines the threshold at which a notification will be producedA number
--notifyCountryMatchSelects how the country filter will be appliedThe matching form
--notifyCountryList.NDetermines the countries that will be used in the filterCountry values
--notifyNettypeMatchSelects how the network type filter will be appliedThe matching form
--notifyNettypeList.NDetermines the network type groups that will be used in the filterGroup values
--notifyEmail.NDetermines the email addresses to which the notification will be sentAn email address
--notifySms.NDetermines the phone numbers to which the notification will be sentA phone number
--notifySnmpTurns on the notification being sent as an SNMP traptrue · false
--notifyUiTurns on the notification being shown in the interfacetrue · false
--infoWrites what the command will do without running itIt does not take a value; it is written on its own

Fields that exist in the single command but not here, and the reasons:

FieldWhy it is not here
idThe id that targets a single record; in the bulk command target and --ids.N take its place

Target Selection and Confirmation ​

TR7 WEB-CLI · selection list and confirmation
admin@TR7LBWAF01> lb threat-protection update-many target selected --ddosProtection true
 
?  Target objects
    space: mark · ctrl+a: all · enter: confirm
    Filter: (filter by typing) · esc: cancel
 
  [x] <record-1>
  [x] <record-2>
  [ ] <record-3>
    2 selected / 3
 
⚠  2 objects will be updated
    <record-1>, <record-2>
 
Type "yes" to confirm: yes
admin@TR7LBWAF01>  
TR7 WEB-CLI · the whole collection and writing in a script
# the whole collection: the list does not open, the confirmation comes directly
admin@TR7LBWAF01> lb threat-protection update-many target all --botProtection true
⚠  This operation will update ALL the objects in the collection
Type "yes" to confirm:
 
# in a script or in a pipeline: the targets are written by hand, the list does not open
admin@TR7LBWAF01> lb threat-protection update-many target selected \
--ids.0 <kimlik-1> --ids.1 <kimlik-2> --ddosProtection true --onError skip
admin@TR7LBWAF01>  

The screen language depends on the user

The texts in the selection list and on the confirmation screen come according to the language preference of the signed-in user. The confirmation word is yes in the English interface and evet in the Turkish interface.

The detailed behavior of bulk update — which fields can be written in bulk and the report returned for each target — is on the API Commands page.

Things to Know ​

  • The record is born together with the vService. There is no add and delete in this command; the protection settings are changed by updating the existing record.
  • The protection is turned on in two steps. First the main switch of the family (--ddosProtection), then the own switch of the related sub-protection has to be turned on.
  • The exemptions belong to the family. The DDoS exemption list is valid for all the threshold protections; the address reputation and the bot protection have their own exemption lists.
  • The learning mode does not apply the rules. While --learningMode true, the traffic is observed and threshold suggestions are produced; --learningTuneOnly true makes only a suggestion be produced. If a rule is wanted to run during the learning as well, the allowLearning field of that rule is turned on.
  • If the action detail is not written, the default behavior is valid. When the block code, the redirect address or the content page is not given, the action runs with the default of the system.
  • The protection has to be on in the vService as well. Unless the lb service record has --threatProtection true written in it, these settings do not come into play.