POODLE (заполнение Oracle On Downgraded Legacy Encryption) - это уязвимость, обнаруженная 14 октября 2014 года, которая позволяет злоумышленнику читать любую зашифрованную информацию с использованием протокола SSLv3, выполняя атаку «человек посередине». Хотя многие программы используют SSLv3 в качестве запасного варианта, он пришел к тому, что его следует отключить - так много клиентов могут быть вынуждены использовать SSLv3. Принудительное включение клиента в SSLv3 увеличивает вероятность атаки. Эта статья покажет вам, как отключить SSLv3 в некоторых программных приложениях, которые обычно используются сегодня.
Отключение SSLv3 на Nginx
Перейдите в файл конфигурации, где хранится информация о вашем сервере. Например, /etc/nginx/sites-enabled/ssl.example.com.conf
(замена пути в соответствии с вашей конфигурацией). В файле ищите ssl_protocols
. Убедитесь, что эта строка существует и соответствует следующему:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Это заставит использовать TLS, тем самым отключив SSLv3 (и любые старые или устаревшие протоколы). Теперь перезапустите сервер Nginx, выполнив одну из следующих команд.
CentOS 7 :
systemctl restart nginx
Ubuntu / Debian :
service nginx restart
Отключение SSLv3 на Apache
Чтобы отключить SSLv3, перейдите в каталог конфигурации вашего модуля для Apache. На Ubuntu / Debian это может быть /etc/apache2/mod-available
. Принимая во внимание, что на CentOS он может находиться в /etc/httpd/conf.d
. Ищите ssl.conf
файл. Откройте ssl.conf
и найдите SSLProtocol
директиву. Убедитесь, что эта строка существует и соответствует следующему:
SSLProtocol all -SSLv3 -SSLv2
По завершении сохраните и перезагрузите сервер, выполнив одну из следующих команд.
Для Ubuntu / Debian запустите:
CentOS 7 :
systemctl restart httpd
Ubuntu / Debian :
service apache2 restart
Отключение SSLv3 на Postfix
Зайдите в свой postfix
каталог. Это типично /etc/postfix/
. Откройте main.cf
файл и найдите smtpd_tls_mandatory_protocols
. Убедитесь, что эта строка существует и соответствует следующему:
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, TLSv1, TLSv1.1, TLSv1.2
Это заставит TLSv1.1 и TLSv1.2 быть включенными и использоваться на вашем сервере Postfix. После этого сохраните и перезапустите.
CentOS 7 :
systemctl restart postfix
Ubuntu / Debian :
service postfix restart
Отключение SSLv3 на Dovecot
Откройте файл, расположенный по адресу /etc/dovecot/conf.d/10-ssl.conf
. Затем найдите строку, которая содержит ssl_protocols
и убедитесь, что она соответствует следующему:
ssl_protocols = !SSLv2 !SSLv3 TLSv1.1 TLSv1.2
После этого сохраните и перезапустите Dovecot.
CentOS 7 :
systemctl restart dovecot
Ubuntu / Debian :
service dovecot restart
Проверка того, что SSLv3 отключен
Чтобы убедиться, что SSLv3 отключен на вашем веб-сервере, выполните следующую команду (соответственно замените домен и IP):
openssl s_client -servername example.com -connect 0.0.0.0:443 -ssl3
Вы увидите вывод, похожий на следующий:
CONNECTED(00000003)
140060449216160:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1260:SSL alert number 40
140060449216160:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1414181774
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Если вы хотите подтвердить, что ваш сервер использует TLS, выполните ту же команду, но без -ssl3
:
openssl s_client -servername example.com -connect 0.0.0.0:443
Вы должны увидеть похожую информацию. Найдите Protocol
линию и подтвердите, что она используется TLSv1.X
(с X, равным 1 или 2, в зависимости от вашей конфигурации). Если вы видите это, значит, вы успешно отключили SSLv3 на своем веб-сервере.