getbotprofileResult Structure Definition

The getbotprofileResult structure defines the return type for getbotprofile API.

Syntax



Members

rc

If the method succeeds, rc is 0 else rc > 0. Values above 0x8000 indicate Warnings.

message

If the method succeeds, message is NULL else message contains Error/Warning message.

botprofileList

List of botprofiles


botprofile Structure Definition

The botprofile structure defines the actual return type values for getbotprofile API.

Syntax



Members

name

Name of the bot management profile.

signature

Name of object containing bot static signature details.

errorurl

URL that Bot protection uses as the Error URL.

trapurl

URL that Bot protection uses as the Trap URL.

comment

Any comments about the purpose of profile, or other useful information about the profile.

builtin

Flag to determine if bot profille is built-in or not

whitelist

Enable white-list bot detection.

blacklist

Enable black-list bot detection.

ratelimit

Enable rate-limit bot detection.

devicefingerprint

Enable device-fingerprint bot detection

devicefingerprintaction

Action to be taken for device-fingerprint based bot detection.

ipreputation

Enable IP-reputation bot detection.

trap

Enable trap bot detection.

signaturenouseragentheaderaction

Actions to be taken if no User-Agent header in the request (Applicable if Signature check is enabled).

spoofedreqaction

Actions to be taken on a spoofed request (A request spoofing good bot user agent string).

signaturemultipleuseragentheaderaction

Actions to be taken if multiple User-Agent headers are seen in a request (Applicable if Signature check is enabled). Log action should be combined with other actions

trapaction

Action to be taken for bot trap based bot detection.

tps

Enable TPS.

blacklist2

Blacklist binding. Maximum 32 bindings can be configured per profile for Blacklist detection.

whitelist2

Whitelist binding. Maximum 32 bindings can be configured per profile for Whitelist detection.

ratelimit2

Rate-limit binding. Maximum 30 bindings can be configured per profile for rate-limit detection. For SOURCE_IP type, only one binding can be configured, and for URL type, only one binding is allowed per URL, and for SESSION type, only one binding is allowed for a cookie name. To update the values of an existing binding, user has to first unbind that binding, and then needs to bind again with new values.

ipreputation2

IP reputation binding. For each category, only one binding is allowed. To update the values of an existing binding, user has to first unbind that binding, and then needs to bind again with the new values.

captcharesource

Captcha action binding. For each URL, only one binding is allowed. To update the values of an existing URL binding, user has to first unbind that binding, and then needs to bind the URL again with new values. Maximum 30 bindings can be configured per profile.

tps2

TPS binding. For each type only binding can be configured. To update the values of an existing binding, user has to first unbind that binding, and then needs to bind again with new values.

type

Type of the black-list entry.

type2

Type of the white-list entry.

enabled

Enabled or disbaled black-list binding.

enabled2

Enabled or disabled white-list binding.

value

Value of the bot black-list entry.

value2

Value of bot white-list entry.

actioN

One or more actions to be taken if bot is detected based on this Blacklist binding. Only LOG action can be combined with DROP or RESET action.

type3

Type of TPS binding.

threshold

Maximum number of requests that are allowed from (or to) a IP, Geolocation, URL or Host in 1 second time interval.

percentage

Maximum percentage increase in the requests from (or to) a IP, Geolocation, URL or Host in 30 minutes interval.

actioN2

One to more actions to be taken if bot is detected based on this TPS binding. Only LOG action can be combined with DROP, RESET, REDIRECT, or MITIGIATION action.

enabled3

Enabled or disabled TPS binding.

category

IP Repuation category. Following IP Reuputation categories are allowed: *IP_BASED - This category checks whether client IP is malicious or not. *BOTNET - This category includes Botnet C&C channels, and infected zombie machines controlled by Bot master. *SPAM_SOURCES - This category includes tunneling spam messages through a proxy, anomalous SMTP activities, and forum spam activities. *SCANNERS - This category includes all reconnaissance such as probes, host scan, domain scan, and password brute force attack. *DOS - This category includes DOS, DDOS, anomalous sync flood, and anomalous traffic detection. *REPUTATION - This category denies access from IP addresses currently known to be infected with malware. This category also includes IPs with average low Webroot Reputation Index score. Enabling this category will prevent access from sources identified to contact malware distribution points. *PHISHING - This category includes IP addresses hosting phishing sites and other kinds of fraud activities such as ad click fraud or gaming fraud. *PROXY - This category includes IP addresses providing proxy services. *NETWORK - IPs providing proxy and anonymization services including The Onion Router aka TOR or darknet. *MOBILE_THREATS - This category checks client IP with the list of IPs harmful for mobile devices. *WINDOWS_EXPLOITS - This category includes active IP address offering or distributig malware, shell code, rootkits, worms or viruses. *WEB_ATTACKS - This category includes cross site scripting, iFrame injection, SQL injection, cross domain injection or domain password brute force attack. *TOR_PROXY - This category includes IP address acting as exit nodes for the Tor Network. *CLOUD - This category checks client IP with list of public cloud IPs. *CLOUD_AWS - This category checks client IP with list of public cloud IPs from Amazon Web Services. *CLOUD_GCP - This category checks client IP with list of public cloud IPs from Google Cloud Platform. *CLOUD_AZURE - This category checks client IP with list of public cloud IPs from Azure. *CLOUD_ORACLE - This category checks client IP with list of public cloud IPs from Oracle. *CLOUD_IBM - This category checks client IP with list of public cloud IPs from IBM. *CLOUD_SALESFORCE - This category checks client IP with list of public cloud IPs from Salesforce.

actioN3

One or more actions to be taken if bot is detected based on this IP Reputation binding. Only LOG action can be combinded with DROP, RESET, REDIRECT or MITIGATION action.

enabled4

Enabled or disabled IP-repuation binding.

type4

Rate-limiting type Following rate-limiting types are allowed: *SOURCE_IP - Rate-limiting based on the client IP. *SESSION - Rate-limiting based on the configured cookie name. *URL - Rate-limiting based on the configured URL. *GEOLOCATION - Rate-limiting based on the configured country name. *JA3_FINGERPRINT - Rate-limiting based on client SSL JA3 fingerprint.

url

URL for the resource based rate-limiting.

cookiename

Cookie name which is used to identify the session for session rate-limiting.

rate

Maximum number of requests that are allowed in this session in the given period time.

limittype

Rate-Limiting traffic Type

condition

Expression to be used in a rate-limiting condition. This expression result must be a boolean value.

timeslice

Time interval during which requests are tracked to check if they cross the given rate.

actioN4

One or more actions to be taken when the current rate becomes more than the configured rate. Only LOG action can be combined with DROP, REDIRECT, RESPOND_STATUS_TOO_MANY_REQUESTS or RESET action.

enabled5

Enable or disable rate-limit binding.

url2

URL for which the Captcha action, if configured under IP reputation, TPS or device fingerprint, need to be applied.

waittime

Wait time in seconds for which ADC needs to wait for the Captcha response. This is to avoid DOS attacks.

graceperiod

Time (in seconds) duration for which no new captcha challenge is sent after current captcha challenge has been answered successfully.

muteperiod

Time (in seconds) duration for which client which failed captcha need to wait until allowed to try again. The requests from this client are silently dropped during the mute period.

requestsizelimit

Length of body request (in Bytes) up to (equal or less than) which captcha challenge will be provided to client. Above this length threshold the request will be dropped. This is to avoid DOS and DDOS attacks.

retryattempts

Number of times client can retry solving the captcha.

actioN5

One or more actions to be taken when client fails captcha challenge. Only, log action can be configured with DROP, REDIRECT or RESET action.

enabled6

Enable or disable the captcha binding.

log

Enable logging for Whitelist binding.

logmessage

Message to be logged for this binding.

comment2

Any comments about this binding.

trapinsertionurl

Bind the trap URL for the configured request URLs. Maximum 30 bindings can be configured per profile.

url3

Request URL regex pattern for which Trap URL is inserted.

enabled7

Enable or disable the request URL pattern.

devicefingerprintmobile

Enabling bot device fingerprint protection for mobile clients

headlessbrowserdetection

Enable Headless Browser detection.

logexpression

Log expression binding.

name2

Name of the log expression object.

expression

Expression whose result to be logged when violation happened on the bot profile.

enabled8

Enable or disable the log expression binding.

clientipexpression

Expression to get the client IP.

kmjavascriptname

Name of the JavaScript file that the Bot Management feature will insert in the response for keyboard-mouse based detection. Must begin with a letter, number, or the underscore character (_), and must contain only letters, numbers, and the hyphen (-), period (.) hash (#), space ( ), at (@), equals (=), colon (:), and underscore characters. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my javascript file name" or 'my javascript file name').

kmdetection

Enable keyboard-mouse based bot detection.

kmdetectionexpr

Keyboard-mouse based detection binding. For each name, only one binding is allowed. To update the values of an existing binding, user has to first unbind that binding, then needs to bind again with new vlaues. Maximum 30 bindings can be configured per profile.

enabled9

Enable or disable the keyboard-mouse based binding.

name3

Name of the keyboard-mouse expression object.

expression2

JavaScript file for keyboard-mouse detection, would be inserted if the result of the expression is true.

kmeventspostbodylimit

Size of the KM data send by the browser, needs to be processed on ADC

verboseloglevel

Bot verbose Logging. Based on the log level, ADC will log additional information whenever client is detected as a bot.

countrycode

Country name which is used for geolocation rate-limiting.

dfprequestlimit

Number of requests to allow without bot session cookie if device fingerprint is enabled

sessioncookiename

Name of the SessionCookie that the Bot Management feature uses for tracking. Must begin with a letter or number, and can consist of from 1 to 31 letters, numbers, and the hyphen (-) and underscore (_) symbols. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cookie name" or 'my cookie name').

sessiontimeout

Timeout, in seconds, after which a user session is terminated.

addcookieflags

Add the specified flags to bot session cookies. Available settings function as follows: * None - Do not add flags to cookies. * HTTP Only - Add the HTTP Only flag to cookies, which prevents scripts from accessing cookies. * Secure - Add Secure flag to cookies. * All - Add both HTTPOnly and Secure flags to cookies.

_nextgenapiresource


See Also