Укрепление шифров веб-сервера: какой список шифров выбрать, или как отобразить между Mozilla и Hynek

До сих пор мне было известно только о том, что в блоге Хайнека Шлавака об усилении шифрования веб-сервера имеется сравнительно короткий список шифров.

Но недавно я обнаружил, как исправить уязвимость 'logjam' в Apache (httpd), которая указывает на гораздо более длинный промежуточный список из Mozilla Security: TLS на стороне сервера.

Списки довольно разные, поэтому мне интересно, как составить карту между ними.

Я разделил оба так, чтобы в каждой строке был один шифр, чтобы легче было различать:

https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/

ECDH+AESGCM
DH+AESGCM
ECDH+AES256
DH+AES256
ECDH+AES128
DH+AES
ECDH+3DES
DH+3DES
RSA+AESGCM

https://wiki.mozilla.org/Security/Server_Side_TLS

ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-GCM-SHA384
DHE-RSA-AES128-GCM-SHA256
DHE-DSS-AES128-GCM-SHA256
kEDH+AESGCM
ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES256-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-DSS-AES128-SHA256
DHE-RSA-AES256-SHA256
DHE-DSS-AES256-SHA
DHE-RSA-AES256-SHA
AES128-GCM-SHA256
AES256-GCM-SHA384
AES128-SHA256
AES256-SHA256
AES128-SHA
AES256-SHA
AES
CAMELLIA
DES-CBC3-SHA
!aNULL
!eNULL
!EXPORT
!DES
!RC4
!MD5
!PSK
!aECDH
!EDH-DSS-DES-CBC3-SHA
!EDH-RSA-DES-CBC3-SHA
!KRB5-DES-CBC3-SHA 

1 ответ

Решение

Если вы поместите обе эти спецификации в openssl ciphers -V и сравнить вы найдете, что:

  • 25 шифров содержатся в обоих наборах.
  • Набор от Mozilla содержит 6 шифров SRP (безопасный удаленный пароль), которые не поддерживаются браузерами. Он также содержит 7 шифров с использованием CAMELIA. Я не знаю, какой браузер поддерживает эти шифры, но, согласно SSLLabs, ни один из основных настольных браузеров не предлагает его. Остальные являются шифрами DSS, которые вам нужны, только если у вас есть сертификат, использующий ключ DSA. Обычно сертификаты используют RSA, а иногда ECDSA.
  • Набор от Hynek включает вместо этого еще несколько шифров RSA и ECDSA.

На мой взгляд, набор от Hynek имеет больше смысла, тем более что шифры только в наборе от Mozilla обычно не поддерживаются ни браузером, ни сертификатом сервера.

Другие вопросы по тегам