The engine settings affect all requests and responses that the Citrix Web App Firewall processes. Following are the settings:
- Cookie name—The name of the cookie that stores the Citrix ADC session ID.
- Session timeout—The maximum inactive period allowed. If a user session shows no activity for this length of time, the session is terminated and the user is required to reestablish it by visiting a designated start page.
- Cookie post-encrypts prefix—The string that precedes the encrypted portion of any encrypted cookies.
- Maximum session lifetime—The maximum amount of time, in seconds, that a session is allowed to remain live. After this period is reached, the session is terminated and the user is required to reestablish it by visiting a designated start page. This setting cannot be less than the session timeout. To disable this setting, so that there is no maximum session lifetime, set the value to zero (0).
- Logging header name—The name of the HTTP header that holds the Client IP, for logging.
- Undefined profile—The profile applied when the corresponding policy action evaluates as undefined.
- Default profile—The profile applied to connections that do not match a policy.
- Import size limit—The maximum byte count of all files imported to the appliance, including signatures, WSDLs, schemas, HTML, and XML error pages. During an import, if the size of the imported object causes the cumulative count of all imported files to exceed the configured limit, the import operation fails. And the appliance displays the following error message: “ERROR: Import failed - exceeding the configured total size limit on the imported objects”.
- Learn message rate limit—The maximum number of requests and responses per second that the learning engine is to process. Any additional requests or responses over this limit are not sent to the learning engine.
- Entity decoding—Decode HTML entities when running Web App Firewall checks.
- Log malformed request—Enable logging of malformed HTTP requests.
- Use configurable secret key—Use a configurable secret key for Web App Firewall operations. This secret key is used for signing and verifying data. When “useConfigurableSecretKey” is turned ON, you must use the key enabled in the “set ns encryptionParams” parameter.
- Reset learned data—Remove all learned data from the Web App Firewall. Restarts the learning process by collecting fresh data.
Two settings, Reset Learned Data and Signatures Auto-Update, are found in different places depending on whether you use the command interface or the Citrix ADC GUI to configure your Citrix Web App Firewall. When using the command interface, you configure Reset Learned Data by using the reset appfw learning data command. This takes no parameters and has no other functions. You can configure the signature auto-Update in the set appfw settings command. The -signatureAutoUpdate parameter enables or disables auto-updating of the signatures, and -signatureUrl configures the URL which hosts the updated signatures file.
When using the Citrix ADC GUI, you configure Reset Learned Data in Security > Web App Firewall > Engine Settings. The Reset Learned Data option is at the bottom of the dialog box. You configure Signatures Auto-Update for each set of signatures in Security > Web App Firewall > Signatures, by selecting the signatures file, clicking the right mouse button and selecting Auto Update Settings.
Normally, the default values for the Web App Firewall settings are correct. If the default settings cause a conflict with other servers or cause premature disconnection of your users, however, you have to modify them.
The Web App Firewall session limit is configurable using the following command:
> set appfw settings -sessionLimit 500000 Done Default value:100000 Max value:500000 per PE
To configure engine settings by using the command line interface
At the command prompt, type the following commands:
set appfw settings [-sessionCookieName <name>] [-sessionTimeout <positiveInteger> ] [-sessionLifetime <positiveInteger>][-clientIPLoggingHeader <headerName> ] [-undefaction <profileName>] [-defaultProfile <profileName>] [-importSizeLimit <positiveInteger>] [-logMalformedReq ( ON | OFF )] [-signatureAutoUpdate ( ON | OFF )] [-signatureUrl <expression>] [-cookiePostEncryptPrefix <string>] [-entityDecoding ( ON | OFF )] [-useConfigurableSecretKey ( ON | OFF )][-learnRateLimit <positiveInteger>]
save ns config
set appfw settings -sessionCookieName citrix-appfw-id -sessionTimeout 3600 -sessionLifetime 14400 -clientIPLoggingHeader NS-AppFW-Client-IP -undefaction APPFW_RESET -defaultProfile APPFW_RESET -importSizeLimit 4096 save ns config
To configure engine settings by using the Citrix ADC GUI
- Navigate to Security > Web App Firewall
- In the details pane, click Change Engine Settings under Settings.
- In the Web App Firewall Engine Settings dialog box, set the following parameters:
- Cookie Name
- Session Timeout
- Cookie Post Encrypt Prefix
- Maximum Session Lifetime
- Logging Header Name
- Undefined Profile
- Default Profile
- Import Size Limit
- Learn Messages Rate Limit
- Entity Decoding
- Log Malformed Request
- Use Secret Key
- Learn Message Rate Limit
- Signatures Auto Update