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

Конфигурация Apache SSL - SSLLabs как получить A +

У меня такая конфигурация

SSLCipherSuite AES128+EECDH:AES128+EDH
SSLProtocol All -SSLv2 -SSLv3

для Apache 2.4.6, OpenSLL 1.0.2a

и на SSLtest SSLLab я получаю A,

он предлагает (предупреждает), что у меня включены следующие шифры:

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x9e)   DH 1024 bits (p: 128, g: 1, Ys: 128)   FS   WEAK       128
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x67)   DH 1024 bits (p: 128, g: 1, Ys: 128)   FS   WEAK       128
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33)   DH 1024 bits (p: 128, g: 1, Ys: 128)   FS   WEAK      128

Как их отключить?

Я попытался

SSLCipherSuite AES128+EECDH:AES128+EDH:!TLS_DHE_RSA_WITH_AES_128_CBC_SHA:!TLS_DHE_RSA_WITH_AES_128_CBC_SHA256:!TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

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

OpenSSL использует свои собственные имена для шифров, а не стандартные TLS_this_with_that имена, хотя они содержат эквивалентную информацию. Эти три шифра TLS_DHE_RSA включены термином AES128 + EDH в вашем SSLCipherSuite, который также включает три соответствующих шифра TLS_DHE_DSS, но ssllabs не видит их, потому что ваш сервер не имеет ключа и сертификата DSS (также известного как DSA), предположительно потому, что вы получил ваш сертификат из общедоступного CA, и AFAICT ни один публичный CA не выдает сертификаты DSS.

Таким образом, вы можете просто удалить термин AES128 + EDH.

Или вы можете сделать шифры DHE_RSA достаточно сильными, чтобы удовлетворить ssllabs, используя более крупную (2048-битную) группу DH. Новые версии Apache упрощают эту задачу и, вероятно, лучше в целом, но если вы должны оставаться на 2.4.6, тот же сотрудник, который выполняет тест ssllabs / Qualys, может дать несколько советов по адресу http://blog.ivanristic.com/2013/08/increasing-dhe-strength-on-apache.html .

РЕДАКТИРОВАТЬ для получения информации о комментариях, что EECDH + AES128 (т.е. ECDHE) вообще не разрешает подключение:

Похоже, ваш httpd не поддерживает ECDHE, который должен быть в версии 2.4. Ристич говорит, что в августе 2013 года он был добавлен в 2.3.3. https://community.qualys.com/thread/11796 и https://serverfault.com/a/569677/216633 говорит, что он поддерживается в версии 2.4, но не в версии 2.2 (по всей видимости, позже он был перенесен на версию 2.2.26). http://httpd.apache.org/docs/current/mod/mod_ssl.html описывает улучшения к параметрам DH (E) и ECDH (E) в 2.4.7, что убедительно свидетельствует о том, что, по крайней мере, основные параметры присутствовали раньше.

Возможно, вы используете сборку RedHat? Я знаю, что RedHat удалил (все) криптовалюту с эллиптической кривой из OpenSSL и GnuPG до конца 2013 года (что было до OpenSSL 1.0.2a), и я могу представить (но не знаю), что они также могли изменить mod_ssl, чтобы опустить ECDH (E ) параметры т.е. кривая.

Я уверен, что так вы не дойдете до финиша, но без этого не думаю, что вы получите пятерку:

SSLHonorCipherOrder on

Это не позволяет предпочтениям порядка шифров браузера переопределять то, что вы настроили.

Это не работает, так как вы вводите неверные шифры. Например, это неверно, в строке ниже это правильно:

TLS_DHE_RSA_WITH_AES_128_CBC_SHA

DHE-RSA-AES128-SHA

Если вы просто хотите выполнить эту работу, вы можете скопировать это:

SSLCipherSuite "ECDHE-ECDSA-CHACHA20-POLY1305-SHA256:ECDHE-RSA-CHACHA20-POLY1305-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:DHE-RSA-AES128-CBC-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:DHE-DSS-3DES-EDE-CBC-SHA:AES128-SHA:DES-CBC3-SHA:!CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"
SSLHonorCipherOrder on

Еще одна вещь: если вы отключите эти шифры, у вас не будет секретности для всех браузеров. Если вы хотите иметь полную прямую секретность, я рекомендую обновить Apache до 2.4.8 и использовать это:

openssl dhparam -out dhparams.pem 2048

Затем добавьте это в Apache:

SSLOpenSSLConfCmd DHParameters "{путь к dhparams.pem}"

Вы можете найти дополнительную информацию в этом Интернете: https://weakdh.org/sysadmin.html

Кстати, A + получают сайты с HSTS и tls_fallback_scsv.