CVE-2014-3566, important SSLv3 vulnerability, known as Poodle.

Gena Makhomed gmm at csdoc.com
Thu Oct 16 19:16:00 UTC 2014


On 15.10.2014 20:40, Maxim Dounin wrote:

>>> Мысль убрать SSLv3 по умолчанию носится в воздухе,
>>> но я пока не уверен в правильности этого действия.
>>
>> Древней версии IE 6.0 много только в Китае:
>> https://www.modern.ie/en-us/ie6countdown
>
> SSLv3 - это, как показывает практика, не только IE6.  Только в
> рамках нашего маленького офиса уже есть жертвы - у коллеги
> отвалился IRC-клиент в связи с запретом SSLv3 на серверной
> стороне.  При этом более или менее очевидно, что проблемы
> при использовании IRС - нет.
>
> Ну и да, 11% IE6 в Китае - это _очень_ много, а 0.6% в России -
> это тоже не то чтобы мало, когда речь идёт об абсолютных цифрах.
>
> При этом, на самом деле, проблема, как она есть - не в том, что в
> SSLv3 есть уязвимость.  Проблема в первую очередь в том, что MitM
> может легко убедить даже современный браузер использовать SSLv3.
> И именно эту проблему надо решать в первую очередь, IMHO.
> Собственно, это сейчас и делается со стороны браузеров, см.
> например у Adam'а Langley тут:
>
> https://www.imperialviolet.org/2014/10/14/poodle.html

Поддержка TLS_FALLBACK_SCSV должна быть и на стороне клиента
и на стороне сервера, иначе эта защита работать не будет.

Цитата оттуда: "...SSLv3 was deprecated very nearly 15 years ago"

Если отключить SSLv3 по умолчанию - это пока что плохая идея,
может быть имеет смысл выдавать deprecation warning, если nginx
при тесте конфига увидит, что включены протоколы SSLv3 или SSLv2 ?

Учитывая, что браузеры планируют полностью выключить поддержку
протокола SSLv3 по умолчанию, - рано или поздно протокол SSLv3
будет выключен по умолчанию и в nginx, как это произошло с SSLv2.

Deprecation warning может быть, например, в таком виде:

Warning! Protocol SSLv2 deprecated.
Details: http://nginx.com/warning/SSLv3-is-insecure/

Warning! Protocol SSLv3 deprecated.
Details: http://nginx.com/warning/SSLv3-is-insecure/

На странице будут подробно расписаны все нюансы с этим протоколом,
и каждый сисадмин тогда сам будет принимать решение, что ему делать,
выключать или оставить SSLv3 включенным и прописать suppress_warning.

======================================================================

Для тех системных администраторов, которым необходимо держать SSLv3 
включенным и которые осознают все последствия от своих действий -
можно добавить новую директиву suppress_warning <url>;
где <url> - это полный url варнинга, который вручную был suppressed.

Действие директивы suppress_warnings распостраняется только
на одну непосредственно следующую за ней директиву конфига,
которая не является директивой suppress_warning.
Например:

suppress_warning http://nginx.com/warning/SSLv2-is-insecure/;

suppress_warning http://nginx.com/warning/SSLv3-is-insecure/;

ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;

В результате: информация о том, что есть проблемы с протоколом SSLv3
будет видна или в логах/на екране или же прямо в конфиге nginx.

Сейчас - значение по умолчанию не является безопасным,
но nginx об этом своих пользователей не предупреждает.

Понятное дело, что только ради протокола SSLv3 добавлять механизм
suppress_warning в nginx смысла нет. Но таким же унифицированным
образом можно предупреждать пользователя nginx о любых других
проблемах c небезопасными настройками, давая возможность подавить
предупреждения, если пользователь думает что он знает, что делает.

-- 
Best regards,
  Gena



Подробная информация о списке рассылки nginx-ru