ssl_protocols
Gena Makhomed
gmm на csdoc.com
Пн Янв 4 16:03:44 UTC 2021
On 06.07.2020 22:17, Maxim Dounin wrote:
>> On 29.06.2020 17:07, Maxim Dounin wrote:
>>
>>> Соответственно для включения TLSv1.3 по умолчанию надо решить две
>>> проблемы:
>>>
>>> 1. Сделать решение, которое бы позволило реализовать ту же
>>> семантику "отазаться общаться, не предъявляя сертификата" в
>>> условиях наличия TLSv1.3.
>>>
>>> 2. Придумать решение для существующих конфигураций с "ssl_ciphers
>>> aNULL; return 444;".
>>
>> Эти две проблемы выглядят как в принципе не решаемые
>> в условиях наличия включенного протокола TLSv1.3.
>
> Как минимум первая из этих проблем легко решается возвратом ошибки
> из ngx_http_ssl_servername(). Основной вопрос - что делать со
> второй. И вот тут не совсем понятно, существует ли хорошее
> решение, внешнее по отношению к SSL-библиотеке.
Первая проблема теперь уже полностью решена,
с появлением директивы ssl_reject_handshake
http://hg.nginx.org/nginx/rev/59e1c73fe02b
Для существующих конфигураций с "ssl_ciphers aNULL;" можно выдавать
deprecation warning во время проверки конфига и предлагать поменять
этот хак с "ssl_ciphers aNULL;" на директиву ssl_reject_handshake.
>>>>> в TLSv1.3 не настраиваются шифры
Кстати, да. Что-то директива ssl_conf_command
http://hg.nginx.org/nginx/rev/3bff3f397c05
не работает таким образом, как ожидалось.
В файле nginx.conf прописано:
ssl_conf_command Ciphersuites
TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384;
При этом сайт ssllabs.com показывает,
что включенным остается также и шифр TLS_AES_128_CCM_SHA256
Операционная система CentOS 8,
в файле /etc/crypto-policies/back-ends/opensslcnf.config
есть такая строчка:
Ciphersuites =
TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_SHA256
То есть, получается, что не смотря на то, что указано в директиве
ssl_conf_command - настройки из файла
/etc/crypto-policies/back-ends/opensslcnf.config
имеют более высокий приоритет и перекрывают настройки
из директивы ssl_conf_command - это так и должно быть?
Или можно каким-то образом настройки из файла
/etc/crypto-policies/back-ends/opensslcnf.config
обойти и сделать так, чтобы nginx мог выключить шифр
TLS_AES_128_CCM_SHA256 не редактируя opensslcnf.config?
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru