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