Заметки об Apache, часть 3: Отключаем слабое шифрование и SSLv2
Date August 7th, 2011 Author Vitaly Agapov
Согласно требованиям PCI-DSS, сайты, работающие с конфиденциальной информацией пользователей, не должны поддерживать слабые алгоритмы шифрования, а также протокол SSL версии 2. Наборы тестов на соответствие требованиям PCI-DSS обычно выявляют эти моменты. Впрочем, для соблюдения этих требований многого не требуется. Ниже посмотрим, как проверить настройки ssl своего сервера Apache и какие изменения надо внести в случае необходимости.
Поддержка SSLv2
Для проверки поддержки SSLv2 можно воспользоваться утилитой openssl:
openssl s_client -ssl2 -connect SERVERNAME:443
Если после выполнения команды сервер позволит к нему подключиться и выдаст свой сертификат, то поддержка SSLv2 присутствует и её надо отключить.
Для этого в конфиг Apache (ssl.conf или httpd.conf) надо добавить:
SSLProtocol -ALL +SSLv3 +TLSv1
или
SSLProtocol all -SSLv2
После рестарта запрос openssl должен будет выдавать ошибку:
6284:error:140A90C4:SSL routines:SSL_CTX_new:null ssl method passed:ssl_lib.c:1453:
Это хорошо.
Поддержка слабых алгоритмов шифрования
Проверка идёт аналогично с помощью openssl:
openssl s_client -connect SERVERNAME:443 -cipher LOW:EXP
Вместо LOW:EXP можно вставить для проверки любой алгоритм (eNULL, RC4, RSA etc.). Главное, что для слабых шифров должна выдаваться ошибка:
CONNECTED(00000003) 6302:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:602:
Если она не выдаётся, то опять же в конфиге Apache надо прописать директиву:
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
или
SSLCipherSuite HIGH:MEDIUM:!ADH
Tags: Apache, SSL
Category:
Apache |
No comments »