Назад | Перейти на главную страницу

Конфигурация SSL на Apache

У меня есть сервер 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/

они дадут вам важную информацию о том, правильно ли настроен ваш сервер, и предоставят ссылки на то, чтобы сделать его лучше