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