http://habrahabr.ru/company/first/blog/240889/
Вводная информация
14 октября 2014 года в протоколе шифрования SSL версии 3 была выявлена уязвимость. Эта уязвимость, названная POODLE (Padding Oracle On Downgraded Legacy Encryption), позволяет злоумышленнику читать информацию, зашифрованную этой версией протокола, используя атаку
man-in-the-middle.
Также SSLv3 является очень старой версией протокола, но тем не менее многие приложения поддерживают его и используют SSLv3 в случаях, когда недоступны другие более новые и лучшие варианты шифрования. Что важно, злоумышленник может нарочно требовать использования только SSLv3 на обоих сторонах соединения.
Уязвимости POODLE подвержены любые сервисы или клиенты, которые могут соединяться, используя SSLv3.
Более подробная информация по этой уязвимости опубликована здесь
CVE-2014-3566.
Что такое уязвимость POODLE?
Этой уязвимости поддвержен 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 reload
Веб-сервер 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” в
SSLCipherSuite
SSLProtocol -ALL -SSLv2 -SSLv3 +TLSv1
SSLCipherSuite 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.