proxy_ssl_ciphers

Директива `proxy_ssl_ciphers` задаёт список допустимых SSL-шифров для проксируемых SSL-соединений в NGINX. — NGINX HTTP Core

proxy_ssl_ciphers
httpserverlocation
Синтаксисproxy_ssl_ciphers STRING;
По умолчаниюHIGH:!aNULL:!MD5
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `proxy_ssl_ciphers` имеет решающее значение для установления безопасных соединений, когда NGINX выступает в роли обратного прокси для SSL/TLS-соединений. Указывая эту директиву, администраторы могут контролировать, какие шифры используются во время SSL-рукопожатия с вышестоящими серверами. Эта возможность не только повышает безопасность за счёт использования сильных шифров, но и обеспечивает совместимость с конкретными требованиями клиентов или нормативными требованиями. Значением, принимаемым директивой `proxy_ssl_ciphers`, является список шифров, который может соответствовать формату строки шифров OpenSSL. Он может включать отдельные шифры и группы шифров и должен определяться в соответствии с требуемым уровнем безопасности и производительности. При настройке этой директивы важно следить за актуальностью списка и минимизировать количество небезопасных шифров, чтобы защититься от уязвимостей в устаревших алгоритмах. Эта директива может быть размещена в различных контекстах, включая `http`, `server` и `location`, что позволяет осуществлять как глобальное, так и детализированное управление SSL-настройками в зависимости от уровня иерархии конфигурации NGINX. Изменения этой директивы обычно требуют перезапуска или перезагрузки службы NGINX для вступления в силу.

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

server {
    location / {
        proxy_pass https://backend;
        proxy_ssl_ciphers 'HIGH:!aNULL';
    }
}

Убедитесь, что указанные ciphers поддерживаются версией OpenSSL, используемой сервером NGINX.

Использование слабых ciphers может подвергнуть приложение уязвимостям.

Тестирование влияния изменений на установление SSL/TLS соединений критически важно, чтобы избежать сбоев в работе сервиса.