mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Moving this to php/policies
This commit is contained in:
parent
13e7c086a7
commit
7aa2b6294b
1 changed files with 0 additions and 90 deletions
|
@ -1,90 +0,0 @@
|
||||||
# PHP Security Policies and Process
|
|
||||||
|
|
||||||
> [!IMPORTANT]
|
|
||||||
> This is a meta document discussing PHP security policies and processes. For the actual
|
|
||||||
> PHP security policy, see the PHP [Vulnerability Disclosure Policy][] document.
|
|
||||||
|
|
||||||
## PHP.net security.txt file
|
|
||||||
|
|
||||||
PHP.net includes a [security.txt][] file that complements the
|
|
||||||
[Vulnerability Disclosure Policy][], aiding security vulnerability disclosure.
|
|
||||||
This file implements the standard defined in [RFC 9116][], and more information
|
|
||||||
is available at <https://securitytxt.org>.
|
|
||||||
|
|
||||||
RFC 9116 requires an `Expires` field in `security.txt`, and its recommendation
|
|
||||||
is for the `Expires` field to be less than a year in the future. This provides
|
|
||||||
security researchers with confidence they are using our most up-to-date
|
|
||||||
reporting policies. To facilitate yearly updates to the `Expires` field and
|
|
||||||
ensure freshness of the information in `security.txt`, the PHP release managers
|
|
||||||
[update the `Expires` field as part of the X.Y.0 GA release][expires-update].
|
|
||||||
|
|
||||||
From time-to-time, we may update `security.txt` with new information, outside
|
|
||||||
of the yearly changes to the `Expires` field.
|
|
||||||
|
|
||||||
### Making changes to security.txt
|
|
||||||
|
|
||||||
All changes to `security.txt` must be signed by a PHP release manager for a
|
|
||||||
[currently supported version of PHP][supported-versions] (at the time of the
|
|
||||||
changes). Release managers are the most logical choice for signing this file,
|
|
||||||
since we already [publish their PGP keys][rm-pgp-keys].
|
|
||||||
|
|
||||||
To make changes to `security.txt`:
|
|
||||||
|
|
||||||
1. Go to your local clone of [web-php][].
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /path/to/web-php/.well-known
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Remove the PGP signature that wraps the body of `security.txt`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
gpg --decrypt --output security.txt security.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> To "decrypt" `security.txt`, you will need the public key of the release
|
|
||||||
> manager who last signed it in your GPG keychain.
|
|
||||||
|
|
||||||
3. Make and save your changes to this file, e.g., update the `Expires` timestamp.
|
|
||||||
|
|
||||||
There should be a "Signed by" comment in the file that looks similar to this:
|
|
||||||
|
|
||||||
```
|
|
||||||
# Signed by Ben Ramsey <ramsey@php.net> on 2023-09-28.
|
|
||||||
```
|
|
||||||
|
|
||||||
Update this line with your name, the email address associated with the key
|
|
||||||
you're using to sign the file, and the current date.
|
|
||||||
|
|
||||||
4. Sign your changes:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
gpg --clearsign --local-user YOU@php.net --output security.txt.asc security.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> [!WARNING]
|
|
||||||
> You cannot use `--output` to output the signature to the same file as the
|
|
||||||
> input file or `gpg` will result in a signature wrapped around empty content.
|
|
||||||
|
|
||||||
5. Last, replace `security.txt` with `security.txt.asc` and commit your changes:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mv security.txt.asc security.txt
|
|
||||||
git commit security.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> You may verify the signature with the following command:
|
|
||||||
>
|
|
||||||
> ```bash
|
|
||||||
> gpg --verify security.txt
|
|
||||||
> ```
|
|
||||||
|
|
||||||
[security.txt]: https://www.php.net/.well-known/security.txt
|
|
||||||
[vulnerability disclosure policy]: https://github.com/php/php-src/security/policy
|
|
||||||
[rfc 9116]: https://www.rfc-editor.org/rfc/rfc9116
|
|
||||||
[expires-update]: release-process.md#preparing-for-the-initial-stable-version-php-xy0
|
|
||||||
[supported-versions]: https://www.php.net/supported-versions.php
|
|
||||||
[rm-pgp-keys]: https://www.php.net/gpg-keys.php
|
|
||||||
[web-php]: https://github.com/php/web-php
|
|
Loading…
Add table
Add a link
Reference in a new issue