CVE-2014-3566 «Poodle» — очередная серьезная уязвимость в SSL
Сегодня исследователи Google обнародовали описание новой уязвимости в SSL 3.0 (RFC6101), которая позволяет злоумышленникам получить доступ к передаваемым данным. Уязвимость получила наименование POODLE (Padding Oracle On Downgraded Legacy Encryption), CVE-2014-3566. Проблеме подвержены практически все доступные реализации https, что делает ее достаточно опасной, особенно для критичных приложений. Отметим, что данная уязвимость стала возможной не из-за ошибки в коде, а из-за недочета в дизайне протокола, что делает ее устранение нетривиальной задачей — недостаточно обычного патча.
Для получения доступа к данным злоумышленники вначале должны эмулировать несовместимость реализаций защищенного соединения между клиентом и сервером для того, чтобы клиентское ПО инициировало переход от более безопасных протоколов TLS на уровень SSL 3.0 — т.н. «downgrade dance». После этого у злоумышленников появляется возможность получить доступ к критичной информации — например, к заголовкам, которые хранят в cookie авторизационную информацию. Атака возможна по схеме Man in the middle — хакер должен перехватывать информацию между клиентом и сервером и иметь возможность модифицировать ее.
Уязвимыми являются броузеры, вэбсерверы, почтовые серверы и другие приложения, использующие SSL 3.0.
Mozilla Foundation уже выступила с заявлением, что в следующей версии Firefox 34 поддержка SSL 3.0 будет выключена по-умолчанию. Аналогичные изменения в Chrome планирует реализовать компания Google.
В качестве временного решения данной проблемы можно использовать запрещение SSL 3.0 на вэб-серверах и других приложениях, использующих SSL/TLS для шифрования обмена данными. Вместе с тем, в случае запрета на использование SSL 3.0 возможны проблемы, связанные с несовместимостью со старыми приложениями.
Рекомендации для nginx
Выключите SSL 3.0, добавив следующую опцию в конфигурацию https-сервера:
1 |
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
Рекомендации для apache
Найдите в конфигурационных файлах настройки https-сервера и добавьте следующую директиву:
1 |
SSLProtocol All -SSLv2 -SSLv3 |
Почтовый сервер Postfix
По-умолчанию, postfix принимает как открытые, так и зашифрованные соединения. В том случае, если вы ранее настроили использование только шифрованных соединений, добавьте в конфигурационный файл следующую директиву:
1 |
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3 |
OpenVPN и приложения, использующие OpenVPN
В OpenVPN не может быть запрещен тот или иной протокол шифрования. Ожидается, что в ближайшее время будут доступны рекомендации по изменению конфигурации OpenVPN-сервера и/или клиентских продуктов.