Knowledge Base

security.txt — стандарт раскрытия уязвимостей (RFC 9116)

security.txt — стандарт раскрытия уязвимостей

Категория: HTTP Security · Риск: info

security.txt — стандарт раскрытия уязвимостей

Что такое security.txt

`security.txt` — текстовый файл по адресу `/.well-known/security.txt` (RFC 9116), который сообщает исследователям безопасности, **как правильно сообщить об уязвимости** в вашем сервисе.

Без этого файла исследователь, нашедший уязвимость, не знает куда писать и либо уходит, либо публикует публично — что хуже для вас.

Формат файла

# Обязательные поля
Contact: mailto:security@example.com
Expires: 2027-01-01T00:00:00.000Z

# Опциональные поля
Acknowledgments: https://example.com/hall-of-fame
Preferred-Languages: ru, en
Canonical: https://example.com/.well-known/security.txt
Policy: https://example.com/security-policy
Encryption: https://example.com/pgp-key.txt

Размещение

# nginx — разрешить доступ к .well-known
location /.well-known/ {
    try_files $uri $uri/ =404;
    # Не применять deny all для этой директории!
}
# Создать файл
mkdir -p /var/www/html/.well-known
cat > /var/www/html/.well-known/security.txt << 'EOF'
Contact: mailto:security@example.com
Expires: 2027-01-01T00:00:00.000Z
Preferred-Languages: ru, en
EOF

Подписанный security.txt (рекомендуется)

# Подписать файл PGP-ключом организации
gpg --clearsign security.txt
# Результат: security.txt.asc — разместить как security.txt

Генератор

Используйте официальный генератор: https://securitytxt.org/

Правовой аспект

Наличие `security.txt` с явной политикой раскрытия защищает исследователей от преследования при добросовестном поиске уязвимостей. Ряд стран (Нидерланды) требует наличие `security.txt` для государственных сайтов.

Связанные проверки