Я настраиваю nginx (v1.16.1, OpenSSL 1.1.1) для использования https. Я использую сертификат letsencrypt - SHA-256 с шифрованием RSA. Использую TLSv1.2, тестирую на ssllabs и observatory. Предписанное шифрование следующая строка
ssl_ciphers DHE-RSA-AES128-GCM-SHA256: DHE-RSA-AES256-GCM-SHA384: ECDHE-RSA-AES128-GCM-SHA256;
Я проверяю и получаю, что обнаружен только ECDHE . Я пробовал различные комбинации.
Проблема в том, что мне нужно шифрование для правильной работы с IE11 в версиях Win 7 и Win 8.1, и при тестировании я получаю сообщение об ошибке
«Сервер отправил фатальное предупреждение: handshake_failure»
Если в тех же ssllabs я вижу поддерживаемые сертификаты для IE11 Win7, тогда указывается поддержка, которую я пытаюсь использовать.
LS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 все в порядке, но все остальные методы шифрования СЛАБЫЕ.
OpenSSL поддерживает этот тип шифра
$ openssl ciphers -v | grep DHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
Конфигурация:
server { listen 443 ssl http2; server_name test.ru; ssl_protocols TLSv1.2; ssl_certificate /etc/nginx/conf.d/ssl/fullchain.pem; ssl_certificate_key /etc/nginx/conf.d/ssl/privkey.pem; ssl_ciphers DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256; ssl_ecdh_curve secp384r1; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; add_header Strict-Transport-Security "max-age=63072000" always; location / { proxy_pass http://192.168.1.2; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_ssl_server_name on; proxy_ssl_name test.ru; proxy_set_header Host $http_host; proxy_pass_header Set-Cookie; }
В чем может быть причина?
Необходимо установить ssl_dhparam
(см. https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam), чтобы шифры DHE работали над nginx.
Кавычка из документации:
По умолчанию никакие параметры не устанавливаются, и поэтому шифры DHE не будут использоваться.