The engine settings affect all requests and responses that the App Firewall processes. They include the following items:
- Cookie name—The name of the cookie that stores the NetScaler 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 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 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 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 App Firewall. When using the command line, you configure Reset Learned Data by using the reset appfw learning data 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 > **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 > App Firewall > Signatures, by selecting the signatures file, clicking the right mouse button and selecting Auto Update Settings.
Normally, the default values for the 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 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 > App Firewall
- In the details pane, click Change Engine Settings.
- In the 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