The engine settings affect all requests and responses that the Web App Firewall processes. They include the following items:
- 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-encrypt 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 then 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 cumulative total 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 would cause the cumulative total sizes 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.
- 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 line or the GUI to configure your Web App Firewall. When using the command line, you configure Reset Learned Data by using the reset appfw learningdata command, which takes no parameters and has no other functions. You configure Signatures 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 GUI, you configure Reset Learned Data in Security > **Web App Firewall > Engine Settings; the **Reset Learned Data button 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 might need 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 GUI
- Navigate to Security > Web App Firewall
- In the details pane, click Change Engine Settings.
- In the Web App Firewall Engine Settings dialog box, set the following parameters:
Cookie Post Encrypt Prefix
Maximum Session Lifetime
Logging Header Name
Import Size Limit
Learn Messages Rate Limit
Log Malformed Request
Use Secret Key
Learn Message Rate Limit
- Signatures Auto Update
- Click OK.