У меня есть сервер Apache / 2.4.18 с OpenSSL / 1.0.1s. Я использовал Генератор конфигурации Mozilla SSL для создания конфигурации SSL:
SSLProtocol all -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets off
SSL Labs test выдает следующие сообщения:
The server supports only older protocols, but not the current best TLS 1.2. Grade capped to C.
The server does not support Forward Secrecy with the reference browsers.
Кроме того, в "имитации рукопожатия" выдается сообщение:
Apple ATS 9 / iOS 9 R Server sent fatal alert: handshake_failure
Как мне избавиться от них, особенно от последнего, чтобы пользователи iOS 9 могли без проблем подключаться?
Спасибо!
Прежде всего, вы должны получить сертификат SHA2, так как он требуется Chrome.
Ваша конфигурация ssl должна выглядеть так:
Listen 443
SSLEngine on
SSLPassPhraseDialog builtin
SSLProtocol ALL -SSLv2 -SSLv3
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:!RC4+RSA:+HIGH:!MEDIUM:!LOW:!MD5:!DES
SSLCertificateFile /path/to/cert
SSLCertificateKeyFile /path/to/key
SSLCACertificateFile /path/to/cacert
При желании вы можете добавить их для дополнительной безопасности:
Header always append X-Frame-Options SAMEORIGIN
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set X-ServerId 1
Соблюдение порядка набора шифров не обязательно.
Я рекомендую протестировать свой сайт с помощью следующих инструментов: https://www.ssllabs.com/ssltest/ https://ssl-tools.net/
они дадут вам важную информацию о том, правильно ли настроен ваш сервер, и предоставят ссылки на то, чтобы сделать его лучше