July 7, 2021
- Amazon Linux 2 LTS Support
- Base64 auto-detection applies on JSON content type
- Full security policy export includes the policy base template
- FQDNs are now permitted in syslog destinations
- 4214 Fixed - Cookie false positives blocked requests and false reporting
- 4226 Fixed - Error in parsing OpenAPI file
- 4318 Fixed - Incorrect Export for convert-policy - gwt-content-profiles are not exported in NGINX App Protect policy converter anymore.
- Workaround - run
apk add python3before installing NGINX App Protect on Alpine Linux
April 28, 2021
In this release support for App Protect is added to NGINX Plus R24, for which Debian 9 support has been deprecated.
- Multiple Security Logs Support
- Default Policy Location Update
- Tighten Default Enforcer Cookie Settings
- 3586 Fixed - Incorrect base64 cookie value in security log
- 3705 Fixed - SELinux alerts on reload
- 3706 Fixed - Reload failure as a result of a file descriptor leak
- 3708 Fixed - JSON characters in log format failure
- 3709 Fixed - Spaces in JSON values are disallowed
- 3710 Added - Allow
High ASCII characters in headersto be configurable
March 31, 2021
- User-Defined Browser Control
- CSRF Protection Using Origin Validation
- Clickjacking Protection
- Log Rotate
- Enforcer Cookie Settings
- Ubuntu 20.04 Support
- 3157 Fixed - Header settings case sensitivity issue
- 3259 Fixed - Disallow multiple cookie headers in request
- 3351 Fixed - Date-Time and Date formatted parameters in OpenAPI accept malformed values
- 3353 Fixed - ExclusiveMinimum in OpenAPI not enforced
- 3551 Fixed - Incorrect violation rating when low severity sub-violations are triggered
- 3576 Fixed - Cookie deletion configuration issue
- 3606 Fixed - Blocked logging filter is working incorrectly
January 29, 2021
- 3014 Fixed - HTTP2 browser traffic is classified as bot.
- 3105 Fixed - Missing
app-protect-compilerDebian package dependency required for
December 30, 2020
- Debian 10 Support
- Alpine 3.10 Support
- User-defined HTTP Headers
- Converter Tools
- Attack Signature Report Tool
- 1270 Fixed - Unit hostname
N/Ain security log.
- Workaround - Disable bot defense in policies used on HTTP2 locations.
December 09, 2020
In this release support for App Protect is added to NGINX Plus R23.
- 2482 Fixed - 100% CPU reached on reload of new security log configuration during traffic.
- 2670 Fixed - Cookie value in security log violation details showed
valuefor base64 decodable cookies.
- 2872 Fixed - Security logs get sent to the previous destination as well as the new one after reload.
October 28, 2020
- 2357 Fixed - Decoding of unpadded base64 encoded strings fails as invalid base64 encoding.
- 2354 Fixed - Positional parameter detected as illegal URL with open-api-files reference.
- 2319 Fixed - Users permissions for users other than
- 2297 Fixed -
Set-Cookieheader discarded on 302 response code.
- 2296 Fixed - Large number of configured locations in
nginx.confresult in long startup and reload times.
- 2163 Fixed -
- 2155 Fixed - No support for IPv6 remote logging syslog destination address.
September 08, 2020
- Ubuntu 18.04 Support
- OpenAPI Support
- JSON Schema Validation
- User-Defined Signatures
- User-Defined URLs
- User-Defined Parameters
- Offline Installation
- 1868 Fixed - Removal of the app-protect RPM package results in SELinux-related failure messages.
- 2099 Fixed - Missing SELinux configuration required to support writing the security log to a file.
- 2119 Fixed - Logging Profiles do not disassociate from location when multiple changes are made.
- 2134 Fixed - No security logs for requests on servers using IPv6 addresses.
July 21, 2020
- RHEL 7.4+ Support
- RHEL UBI7 Support
- SELinux Configuration
- New Strict Security Policy
- Security Log Write To File
This is a cosmetic issue only:
yum remove app-protect Erasing : app-protect-22+3.90.2-1.el7.ngx.x86_64 1/5 libsemanage.semanage_direct_remove_key: Removing last app-protect module (no other app-protect module exists at another priority). restorecon: lstat(/usr/lib64/systemd/system/nginx-app-protect-compiler.service) failed: No such file or directory restorecon: lstat(/usr/lib64/systemd/system/nginx-app-protect.service) failed: No such file or directory
- 1758 Fixed - Non-CSV-compliant escaping of quotes as %22 in default security log fields.
- 1774 Added - Default security log settings file
- 1784 Added - “Unescaped space in URL” sub-violation.
- 1785 Fixed -
- 1811 Fixed - Empty non-CSV-compliant ‘is_truncated’ field in default security log settings.
June 30, 2020
- 1455 Fixed - Data Guard masking policy resulted in core for large responses over 100MB.
- 1487 Fixed - HTTP compliance sub-violation “Chunked request with Content-Length” was not enabled.
- 1520 Fixed - Data Guard masking policy didn’t mask CCN/SSN found at the end of responses over 32KB.
- 1575 Added - Any request containing a value other than “identity” in a Content-Encoding Header will be dropped/passed according to the new directive:
app_protect_compressed_requests_action. Such requests will be dropped by default if the directive is not set.
- 1576 Fixed - Signature matched on wrong context.
- 1580 Fixed - Crash during fail mode.
- 1742 Fixed - Documentation did not reflect the correct HTTP compliance sub-violations.
June 9, 2020
In this release support for App Protect is added to NGINX Plus R22. There are no new App Protect features in this release.
1438 - Attack signature update on Debian
May 19, 2020
- OWASP Top 10 based attack signatures & CVEs
- Metacharacter checking
- HTTP protocol compliance
- Evasion techniques
- Disallowed file types (bin, cgi, cmd, com, dll, exe, msi, sys, shtm, shtml, stm & more)
- Enforcement based on risk score (Violation Rating)
- Cookie integrity check
- JSON & XML well-formedness
- Sensitive parameters & Data Guard
- gRPC protocol support
- CentOS 7.4+ (64bit)
- Debian 9 (64bit)
NGINX Plus R19 and later
- from app-protect-attack-signatures_2019.07.16-1~stretch_amd64.deb (original installed, to allow downgrade)
- from app-protect-attack-signatures-2019.07.16-1.el7.ngx.x86_64.rpm (original installed, to allow downgrade)
The time stamps in the NGINX and App Protect log messages are presented in the local time zone of your machine. If you would like to see this in a different time zone, for example UTC, you must change the local time zone. On most systems this can be done using the command:
sudo datetimectl set-timezone Etc/UTC
For other options to change the timezone see your system manual.
proxy_pass directive must always be used.
proxy_request_buffering off is not supported.