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 mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить