[Перевод] Как защитить свой сервер от уязвимости POODLE SSLv3
14 октября 2014 года в протоколе шифрования SSL версии 3 была выявлена уязвимость. Эта уязвимость, названная POODLE (Padding Oracle On Downgraded Legacy Encryption), позволяет злоумышленнику читать информацию, зашифрованную этой версией протокола, используя атаку man-in-the-middle.Также SSLv3 является очень старой версией протокола, но тем не менее многие приложения поддерживают его и используют SSLv3 в случаях, когда недоступны другие более новые и лучшие варианты шифрования. Что важно, злоумышленник может нарочно требовать использования только SSLv3 на обоих сторонах соединения.Уязвимости POODLE подвержены любые сервисы или клиенты, которые могут соединяться, используя SSLv3.Более подробная информация по этой уязвимости опубликована здесь CVE-2014–3566.
Этой уязвимости поддвержен SSL-протокол версии 3, который позволяет перехватить содержимое зашифрованное с помощью SSLv3. Этой уязвимости подвержено любое программное обеспечение, использующее для шифрования соединения SSLv3. Это веб-браузеры, веб-серверы, почтовые серверы и тому подобное. Если кратко, то уязвимость POODLE присутствует, потому что протокол SSLv3 некорректно проверяет содержимое, пересылаемое в зашифрованном виде.Благодаря этому не происходит верификации со стороны получателя и атакующий может подменять данные и передавать к месту получения. При определенных условиях модифицированные данные могут быть приняты получателем без каких-либо предупреждений.В среднем, каждый 256-й запрос будет принят получателем и позволит злоумышленнику расшифровать один байт. Это может быть повторено нужное количество раз. Любой злоумышленник, участвуя таким образом в пересылке данных с помощью этого протокола, сможет получить ключ к расшифровке данных за очень короткое время. Должны быть предприняты действия, которые не позволят использовать SSLv3 ни в случае использования клиентских приложений, ни в случае серверных.И серверы и клиенты должны отключить полностью поддержку SSLv3.Проверить серверные приложения можно с помощью онлайн-сервиса: http://poodlebleed.com/.Свой браузер на наличие уязвимости проверить можно здесь: https://www.poodletest.com/. Ниже будет описано, как отключить поддержку SSLv3 у наиболее популярных веб-браузеров и серверных приложений, которые используют многие наши клиенты на своих виртуальных серверах.Firefox В новой версии Firefox 33 эта уязвимость исключена. Но на всех остальных версиях следует произвести настройку браузера в about: config, установив параметр security.tls.version.min на значение »1». Или с помощью расширения SSL Version Control.Google Chome Браузеры, созданные на базе Chromium, следует запускать с ключом »--ssl-version-min=tls1«Internet Explorer В настройках безопасности IE уберите галочку с параметра «SSLv3».Отключение SSLv3 в IE.
Safari Разработчики веб-браузера Safari молниеносно отреагировали на эту проблему и выпустили обновление безопасности.Веб-сервер Nginx Для отключения SSLv3 в веб-сервере Nginx, следует найти параметр ssl_protocols. Он расположен в блоке server {} или http {}.Конфигурационный файл Nging может быть расположен в разных директориях, в зависимости, от ОС или используемого дистрибутива на сервере. В основном, это/usr/local/etc/nginx/nginx.conf во FreeBSD и/etc/nginx/nginx.conf в LinuxДля отключения SSLv3, параметр ssl_protocols должен содержать похожие настройки: ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Теперь следует перезагрузить сервер для применения изменений:# service nginx restart
Веб-сервер Apache Отключить SSLv3 в веб-сервере Apache можно в параметре SSLProtocol, который используется при подключенном модуле mod_ssl.Расположение конфигурационного файла, где находятся настройки модуля mod_ssl, так же могут и отличаются в зависимости от ОС и дистрибутива.в Debian настройки расположены в файле /etc/apache2/mods-enabled/ssl.confв CentOS это может быть файл /etc/httpd/conf.d/ssl.confво FreeBSD — /usr/local/etc/apache22/httpd.confЕсли настройки SSL отсутствуют, следует добавить этот параметр.Значение этого параметра должно содержать что-то типа этого: SSLProtocol all -SSLv3 -SSLv2
После внесения изменений сохраните файл и перезагрузите Apache.
Сервер OpenVPN VPN Все современные версии OpenVPN не поддерживают SSLv3. Данный сервис не подвержен этой уязвимости и никаких изменений в конфигурации делать не требуется.Почтовый сервер Postfix Если в параметрах Postfix настроено требование шифрования, это делается параметромsmtpd_tls_mandatory_protocols.Этот параметр можно найти в основном конфигурационном файле Postfix/etc/postfix/main.cf (Linux)/usr/local/etc/postfix/main.cnf (FreeBSD)
Запретить использование шифрования SSLv3 для Postfix можно путем добавления значения »! SSLv3» в параметр, задающий возможные варианты шифрования: smtpd_tls_mandatory_protocols=! SSLv2, ! SSLv3
Сохраните конфигурационный файл и перезапустите Postfix:
Почтовый сервер Sendmail Для отключения SSLv3 в почтовом сервере Sendmail следует открыть файл .mc, который расположен в директории /etc/mail/ и найти раздел LOCAL_CONFIG. В этом разделе поменять значение »+SSLv3» на »-SSLv3» у параметра SSLProtocol и добавить »! SSLv3» в SSLCipherSuiteSSLProtocol -ALL -SSLv2 -SSLv3 +TLSv1SSLCipherSuite ALL:! ADH: RC4+RSA:+HIGH:+MEDIUM:! LOW:! SSLv2:! SSLv3После этого пересоберите конфигурационный файл Sendmail и перезапустите его# make install & make restart
IMAP и POP3 сервер Dovecot Для отключения SSLv3 в Dovecot, потребуется внести изменения в параметр ssl_protocols. В зависимости от ОС или дистрибутива, этот параметр может находиться как в основном файле, так и в подключаемом:/etc/dovecot/conf.d/10-ssl.conf (Linux)/usr/local/etc/dovecot.confОтключите SSLv3: ssl_protocols = ! SSLv3! SSLv2
Сохраните файл и перезапустите сервис.
Если поддержка SSLv3 не отключена и даже если по умолчанию используется более сильное шифрование, POODLE уязвимость будет присутствовать и создавать потенциальную угрозу. Проверьте все свои сервисы, которые могут использовать SSL/TLS в любом виде и отключите поддержку SSLv3.