ssl_protocols

Директива 'ssl_protocols' указывает SSL/TLS-протоколы, которые разрешено использовать в NGINX. — NGINX HTTP Core

ssl_protocols
httpserver
Синтаксисssl_protocols TLSv1 TLSv1.1 TLSv1.2;
По умолчаниюSSLv3;
Контекстhttp, server
МодульNGINX HTTP Core
Аргументы1+

Описание

Директива 'ssl_protocols' используется в SSL-контексте NGINX для определения версий протоколов SSL и TLS, разрешённых для защищённых подключений. Эта директива повышает безопасность, позволяя администраторам указывать только те версии, которые они считают безопасными и необходимыми, эффективно отключая старые, потенциально уязвимые протоколы, такие как SSLv2 и SSLv3. Варианты протоколов включают 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3', а устаревшие опции можно опустить, чтобы предотвратить их использование. Параметры, указанные в этой директиве, должны соответствовать текущим стандартам безопасности, поскольку использование устаревших версий может подвергнуть серверы различным уязвимостям.

Пример конфига

server {
    listen 443 ssl;
    ssl_certificate /etc/ssl/certs/server.crt;
    ssl_certificate_key /etc/ssl/private/server.key;
    ssl_protocols TLSv1 TLSv1.2;
}

Убедитесь, что проверили совместимость с браузерами клиентов при отключении устаревших протоколов.

Если вы используете версию до 1.15.0, не указывайте TLSv1.3, поскольку он не поддерживается.

Обязательно периодически пересматривайте и обновляйте список разрешённых протоколов на основе уведомлений о безопасности.