| 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 |