SSL Configuration Generator https://ssl-config.mozilla.org/

Maxim Dounin mdounin на mdounin.ru
Пт Янв 10 13:04:05 UTC 2020


Hello!

On Fri, Jan 10, 2020 at 04:07:17AM +0200, Gena Makhomed wrote:

> SSL Configuration Generator https://ssl-config.mozilla.org/
> 
> Предлагает для конфигурации Intermediate (General-purpose servers with a 
> variety of clients, recommended for almost all systems)
> в конфиге nginx включать ssl_dhparam:
> 
> # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam.pem
> ssl_dhparam /path/to/dhparam.pem;
> 
> Причем, содержимое файла, куда указывает директива ssl_dhparam
> будет одинаковым у всех, кто воспользуется этим советом. (!!!)
> 
> И прописывать в директиву ssl_ciphers
> в том числе и DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384.
> 
> Не совсем понятен смысл этого действия.
> 
> Начиная с версии 1.11.0 (вышла 24 мая 2016 года) для того чтобы включить 
> поддержку DHE-шифров - необходимо явно задавать директиву ssl_dhparam.
> 
> Но если посмотреть по результатам https://www.ssllabs.com/ssltest/
> включение или выключение ssl_dhparam практически ни на что не влияет.
> 
> Более широкой поддержки со стороны клиентов не появляется,
> единственное изменение, которое удалось заметить - это то,
> что IE 11 начинает использовать DHE вместо ECDHE. И на этом всё.
> 
> Рекомендация сайта https://ssl-config.mozilla.org/ является разумной?
> ssl_dhparam действительно лучше будет в 2020 включать в конфиге nginx?
> 
> Или же создатели сайта https://ssl-config.mozilla.org/ ошибаются,
> и ssl_dhparam лучше не включать и DHE-шифры из директивы ssl_ciphers 
> лучше будет убрать?

Моя позиция по DHE-шифрам проста: они слишком ресурсоёмкие, чтобы 
о их использовании можно было всерьёз говорить.  И это одна из 
причин, почему по умолчанию они теперь не используются.

Положительная сторона у их использовании только одна: они 
позволяют получить forward secrecy с некоторыми старыми 
браузерами, и без DHE-шифров с этими браузерами forward secrecy не 
получить никак.

Однако с учётом использования в конкретной обсуждаемой 
конфигурации только протоколов TLSv1.2 и выше - это положительная 
сторона, как я понимаю, полностью нивелируется отсутствием 
возможности общаться с этими старыми браузерами.  Так что смысла 
разрешать DHЕ-шифры - нет, IMHO, приблизительно никакого, это лишь 
открывает дополнительный DoS-вектор через очень дорогие SSL 
handshake'и.

> Если создатели сайта https://ssl-config.mozilla.org/ ошибаются,
> то осознать свою ошибку они смогут наверное только после того,
> как им об этом напишет кто-то из разработчиков nginx?

Нет, разработчики nginx тут ни при чём.  Тут вопрос исключительно 
в том, что именно хотят разрешить авторы конфигурации, а что - 
нет.  Они явно хотят разрешить DHE-шифры, и явно специально 
написали как директиву ssl_dhparam, так и 
DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 в списке 
шифров.

Возможно, тут дело в том, что предлагаемый список шифров - 
закрытый, и шифров без forward secrecy там вообще нет.  И 
соответственно DHE-шифры оставлены для того, чтобы какие-то 
соверменные, но малораспространённые клиенты без поддержки ECDH 
вообще хоть как-то могли коммуницировать с сервером.

В любом случае - вопрос "зачем так" - он не к разработчикам 
nginx'а, а к авторам соответствующей конфигурации.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru