Назад | Перейти на главную страницу

Пудель: Действительно ли отключение SSL V3 на сервере - это решение?

Я весь день читал об уязвимости Poodle, и теперь я немного запутался в сравнении с безопасностью и доходом.

Если я отключу SSL V3 на сервере (SSL V2 и V3 будут отключены для Apache), клиенты (браузеры), которые не поддерживают какой-либо протокол, но SSL V3 не смогут подключиться по HTTPS к серверу.

Итак, это ситуация, когда и клиент, и сервер должны взаимодействовать с TLS 1.1 1.2 и так далее.

Что произойдет, если один из них использует SSL V3, а другой не поддерживает более ранние версии? Нет подключения к SSL.

Я видел несколько обновлений Firefox, возможно, они отключили SSL V3 в том, что нам обычно приходится делать в настройках. Это заставит все подключения к более низким версиям и TLS

Но действительно ли отключение SSL V3 решает эту проблему?

Во-первых, давайте немного проясним ситуацию:

  • TLS заменил SSL. TLS 1.0 появился позже и является обновлением SSL 3.0.

    TLS 1.2> TLS 1.1> TLS 1.0> SSL 3.0> SSL 2.0> SSL 1.0

  • Версии SSL до 3.0 уже давно известны серьезными уязвимостями безопасности и отключены / не поддерживаются современными клиентами и серверами. SSL 3.0, скорее всего, скоро пойдет по тому же пути.

  • Из используемых в настоящее время протоколов «Пудель» наиболее серьезно влияет на SSL 3.0, где нет никакого способа смягчить последствия. Eсть аналогичная атака против некоторых TLS 1.0 и 1.1 реализации что позволяет спецификация - убедитесь, что ваше программное обеспечение обновлено.


Причина, по которой «Пудель» представляет собой риск даже для современных клиентов и серверов, заключается в том, что клиенты реализовали резервный механизм. Не все серверы будут поддерживать последние версии, поэтому клиенты будут пробовать каждую версию в порядке от самой последней к последней (TLS 1.2, TLS 1.1, TLS 1.0, SSL 3.0), пока не найдет ту, которую поддерживает сервер. Это случилось перед начинается зашифрованная связь, поэтому злоумышленник «человек посередине» (MITM) может заставить браузер вернуться к более старой версии, даже если сервер поддерживает более высокую версию. Это известно как атака перехода на более раннюю версию протокола.

В частности, в случае «Poodle», если и клиент, и сервер поддерживают SSL 3.0, злоумышленник MITM может принудительно использовать этот протокол.

Поэтому отключение SSL 3.0 имеет два эффекта:

  • Клиентов, которые поддерживают более высокие версии, нельзя обманом заставить вернуться к уязвимой версии (Резервный TLS SCSV представляет собой новый предложенный механизм для предотвращения атаки перехода на более раннюю версию протокола, но пока не все клиенты и серверы поддерживают его). По этой причине вы хотите отключить SSL 3.0. Подавляющее большинство ваших клиентов, вероятно, попадают в эту категорию, и это полезно.

  • Клиенты, которые не поддержка TLS вообще (как отмечали другие, IE6 на XP - практически единственный, который все еще используется для HTTPS) вообще не сможет подключаться через зашифрованное соединение. Скорее всего, это небольшая часть вашей пользовательской базы, и не стоит жертвовать безопасностью большинства, кто обновлен, чтобы обслуживать это меньшинство.

Ваша оценка верна. После отключения SSL 3 клиентам потребуется использовать более новые протоколы для подключения к вашему серверу. Протокол SSL 3 имеет изъяны, и «заплатки» не будет. Отключение SSL 3 - единственное решение.

На этом этапе так много сайтов отключили SSL 3, что делает практически неизбежным то, что пользователям старых браузеров потребуется обновление. Предполагая, что вы регистрируете строки пользовательского агента, вы можете просмотреть свои журналы и принять обоснованное решение об отключении SSL 3. Я думаю, что весьма вероятно, что лишь небольшой процент посетителей вашего сайта использует браузеры, которые не могут обрабатывать новые протоколы.

[fwiw - отчеты cloudflare 1,12% пользователей являются пользователями IE6 XP в зависимости от SSLv3]

Да, отключение SSL3 сделает так, что пользователи, которые не поддерживают TLS, не смогут получить доступ к вашему сайту.

Однако с практической точки зрения посмотрите, какие браузеры попадают в эту категорию. Chrome и Firefox поддерживают TLS и даже полностью откажутся от поддержки SSL3 из-за этой ошибки. IE поддерживает его с IE7. Единственный браузер, который не поддерживает, но все еще используется в глобальном масштабе, - это IE6, и единственная причина, по которой он все еще используется, - это 2 причины:

  1. Всем, у кого есть взломанная версия XP и нет возможности использовать Chrome или Firefox;
  2. Любой участник корпоративной или государственной политики с ограничениями на выбор браузера.

В обоих случаях используется IE6, потому что это браузер Windows XP по умолчанию, который поставляется с исходной установкой. Кроме того, единственная причина, по которой IE6 все еще занимает (небольшую) долю на мировом рынке, - это большое количество пользователей в Китае.

Итак, короче: вот 3 вопроса:

  1. У вас есть значительная база пользователей из Китая?
  2. Предоставляет ли ваш веб-сайт поддержку IE6, даже если он устарел и сломан?
  3. Ваш веб-сайт используется правительством или корпорацией с ограничениями выбора браузера?

Если что-то из этих трех истинно, вам придется найти альтернативное решение. Если все 3 неверны, просто отключите его и покончите с этим. И если вам нужно альтернативное решение, вам чертовски сложно убедить ту небольшую часть вашей пользовательской базы, которая все еще использует IE6, отказаться от браузера 13-летней давности.

Вы упоминаете "Apache" и "браузеры"в вашем вопросе, но заголовок носит более общий характер.

Как указывают Эван и другие, проблема для HTTPS полностью решена. Но есть ряд других протоколов, которые сервер может зашифровать, и поддержка TLS среди этой клиентской базы намного хуже (как я узнал сегодня утром, когда требовал «без SSL3» на сервере IMAP / S).

Так что, боюсь, ответ будет "это зависит от того, какие сервисы вы шифруете, и от клиентской поддержки TLS среди вашей пользовательской базы.".

редактировать: да, это была моя точка зрения, хотя я рад, что вы согласны. Отключение sslv3 выполняется для каждой службы. Например, чтобы отключить его на голубятне, нужно поставить

ssl_cipher_list = ALL:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL

в dovecot.conf. Более серьезная проблема заключается в том, что, хотя большинство браузеров терпимо к потере sslv3, клиенты других служб кажутся намного менее терпимыми. Сегодня утром я сломал половину своих пользователей, когда выключил это на голубятне; Я знаю точно два телефона Android, на которых работает почта K-9 и Outlook на Win7, но из журналов видно, что их было больше.

Отключение SSLv3 - это не только верное решение, но и только решение; но будет больно.

Редактировать 2: спасибо dave_thompson_085 за то, что он указал, что отключение шифров SSLv3 в dovecot отключает не только протокол SSLv3, но и TLSv1.0 и TLSv1.1, поскольку у них нет шифров, которых нет в более раннем протоколе. Dovecot (по крайней мере, более ранние версии, включая ту, которую я использую), похоже, не имеет возможности настраивать протоколы, а не наборы шифров. Это, вероятно, объясняет, почему это сломало так много клиентов.

Отключение SSLv3 - это Лучший решение, но я не согласен, что это единственное решение. Так как CloudFlare описывает, использование SSLv3 очень низкое, поэтому у большинства администраторов не должно возникнуть проблем с его отключением.

Если у вас есть особые требования для SSLv3, возможно, вам требуется поддержка IE6 в Windows XP или требуется поддержка очень старого программного обеспечения, есть другой способ смягчить его.

Способ смягчить его и сохранить SSLv3 - это использовать RC4 и поддерживать TLS Fallback SCSV, который предоставляется OpenSSL 1.0.1j. в пост о пуделе, RC4 - это «некий небезопасный потоковый шифр, имя которого никто не хочет упоминать».

Это то, что Google делает на mail.google.com, и они также описывают это в своей записи в блоге: http://googleonlinesecurity.blogspot.se/2014/10/this-poodle-bites-exploiting-ssl-30.html

В разговоре отсутствует одна деталь, исходя из исходного вопроса, возможно, стоит ее отметить. TLS 1.0 также называется SSL 3.1, поэтому на оригинальном плакате вы должны посмотреть свою конфигурацию, используете ли вы v3.0 или v3.1

Как и в большинстве случаев, ответ - «это зависит от обстоятельств». Единственный браузер, который не поддерживает TLS, это IE6. К сожалению, в различных отчетах говорится, что IE6 может составлять до нескольких процентов глобальных HTTP-запросов (см. http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html). Хорошая новость, если вы живете в Северной Америке, в том, что это относительно редко в США. Чтобы быть в безопасности, вы должны смотреть статистику пользовательского агента из журналов www. В моем случае отпечатков пальцев IE6 ua было так мало, что я предположил, что все они были получены от инструментов тестирования.

Вы можете протестировать свой веб-сайт с помощью тестера ssllab, чтобы увидеть, как реагируют различные агенты.

https://www.ssllabs.com/ssltest/

TL; DR - SSLv3 мертв; да здравствует TLS.