-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
44 changed files
with
2,880 additions
and
133 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -80,4 +80,4 @@ server { | |
} | ||
``` | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,104 @@ | ||
# Security Policy | ||
|
||
## Latest Versions | ||
|
||
We advise users to run the most recent mainline or stable release of nginx. | ||
This document provides an overview of security concerns related to nginx | ||
deployments, focusing on confidentiality, integrity, availability, and the | ||
implications of configurations and misconfigurations. | ||
|
||
## Reporting a Vulnerability | ||
|
||
Please report any vulnerabilities via one of the following methods | ||
(in order of preference): | ||
|
||
1. [Report a vulnerability](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability) | ||
within this repository. We are using the Github workflow that allows us to | ||
manage vulnerabilities in a private manner and to interact with reporters | ||
within this repository. We are using the GitHub workflow that allows us to | ||
manage vulnerabilities in a private manner and interact with reporters | ||
securely. | ||
|
||
2. [Report directly to F5](https://www.f5.com/services/support/report-a-vulnerability). | ||
|
||
3. Report via email to [email protected]. | ||
This method will be deprecated in the future. | ||
|
||
### Vulnerability Disclosure and Fix Process | ||
|
||
The nginx team expects that all suspected vulnerabilities be reported | ||
privately via the | ||
[Reporting a Vulnerability](SECURITY.md#reporting-a-vulnerability) guidelines. | ||
If a publicly released vulnerability is reported, we | ||
may request to handle it according to the private disclosure process. | ||
If the reporter agrees, we will follow the private disclosure process. | ||
|
||
Security fixes will be applied to all supported stable releases, as well | ||
as the mainline version, as applicable. We recommend using the most recent | ||
mainline or stable release of nginx. Fixes are created and tested by the core | ||
team using a GitHub private fork for security. If necessary, the reporter | ||
may be invited to contribute to the fork and assist with the solution. | ||
|
||
The nginx team is committed to responsible information disclosure with | ||
sufficient detail, such as the CVSS score and vector. Privately disclosed | ||
vulnerabilities are embargoed by default until the fix is released. | ||
Communications and fixes remain private until made public. As nginx is | ||
supported by F5, we generally follow the | ||
[F5 security vulnerability response policy](https://my.f5.com/manage/s/article/K4602). | ||
|
||
### Vulnerability Disclosure and Fix Service Level Objectives | ||
|
||
- We will acknowledge all vulnerability reports within 1 to 3 days. | ||
- Fixes will be developed and released within 90 days from the date of | ||
disclosure. If an extension is needed, we will work with the disclosing person. | ||
- Publicly disclosed (i.e., Zero-Day vulnerabilities) will be addressed ASAP. | ||
|
||
## Confidentiality, Integrity, and Availability | ||
|
||
### Confidentiality and Integrity | ||
|
||
Vulnerabilities compromising data confidentiality or integrity are considered | ||
the highest priority. Any issue leading to unauthorized data access, leaks, or | ||
manipulation will trigger the security release process. | ||
|
||
### Availability | ||
|
||
Availability issues must meet the following criteria to trigger the security | ||
release process: | ||
- Is present in a standard module included with nginx. | ||
- Arises from traffic that the module is designed to handle. | ||
- Resource exhaustion issues are not mitigated by existing timeout, rate | ||
limiting, or buffer size configurations, or applying changes is impractical. | ||
- Results in highly asymmetric, extreme resource consumption. | ||
|
||
Availability issues excluded from the security release process: | ||
- Local file content or upstream response content resulting only in worker | ||
process termination. | ||
- Issues with experimental features which result only in worker process | ||
termination. | ||
|
||
## Trusted Configurations and Misconfigurations | ||
|
||
In nginx, configuration files, modules, certificate/key pairs, nginx JavaScript, | ||
and local file content are considered trusted sources. Issues arising from | ||
loading or execution of these trusted components are not considered | ||
vulnerabilities. Operators are responsible for securing and maintaining the | ||
integrity of these sources. Misconfigurations can create vulnerabilities, and | ||
operators should implement configurations according to best practices, review | ||
them regularly, and apply security updates. | ||
|
||
## Data Plane vs. Control Plane | ||
|
||
The data plane handles traffic through nginx, directly interacting with user | ||
data. nginx inherently trusts the content and instructions from upstream | ||
servers. The control plane governs configuration, management, and orchestration. | ||
Misconfigurations or vulnerabilities in the control plane can cause improper | ||
behavior in the data plane. | ||
|
||
## Modules Under Scope | ||
|
||
The policy applies to all nginx modules included in this repository. Security | ||
considerations and attack vectors for each module will be identified, with | ||
recommended configurations to mitigate risks. | ||
|
||
## Debug Logging and Core Files | ||
|
||
Debug logs and core files produced by nginx may contain un-sanitized data, | ||
including sensitive information like client requests, server configurations, | ||
and private key material. These artifacts must be handled carefully to avoid | ||
exposing confidential data. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.