Отказ от SSLv2 и SSLv3 с уведомлением пользователей: различия между версиями

Материал из Bas Wiki
Перейти к навигации Перейти к поиску
Строка 9: Строка 9:
Перед тем как приступать к такого рода изменениям необходимо было оценить масштаб бедствия и подсчитать количество пользователей, использующих устаревшие браузеры. В этом отлично помогают сервисы [https://metrika.yandex.ru Яндекс.Метрика] и [https://www.google.com/analytics/ Google Analytics]. Если же вы не использовали подобные инструменты, то на помощь придут анализаторы логов [https://ru.wikipedia.org/wiki/AWStats AWStats] или [https://ru.wikipedia.org/wiki/Webalizer Webalizer]. В моём случае один сайт был с аналитикой, а другой был закрытый и там данные собирались с помощью [https://ru.wikipedia.org/wiki/AWStats AWStats].<br />
Перед тем как приступать к такого рода изменениям необходимо было оценить масштаб бедствия и подсчитать количество пользователей, использующих устаревшие браузеры. В этом отлично помогают сервисы [https://metrika.yandex.ru Яндекс.Метрика] и [https://www.google.com/analytics/ Google Analytics]. Если же вы не использовали подобные инструменты, то на помощь придут анализаторы логов [https://ru.wikipedia.org/wiki/AWStats AWStats] или [https://ru.wikipedia.org/wiki/Webalizer Webalizer]. В моём случае один сайт был с аналитикой, а другой был закрытый и там данные собирались с помощью [https://ru.wikipedia.org/wiki/AWStats AWStats].<br />
<br />
<br />
В результате у нас было менее 3% пользователей, использовавших устаревшие браузеры и операционные системы. Конкретных цифр не будет :) Под эту категорию мы рассматривали пользователей с Internet Explorer 7.0 и ниже, а так же с Windows XP SP2 и ниже. Есть большое количество статей, в которых подробно описаны проблемы данных версий. Часть из них вы найдёте ниже. Основной посыл: старое ПО не поддерживает современные шифры и не имеет поддержку современных протоколов.
В результате у нас было менее 3% пользователей, использовавших устаревшие браузеры и операционные системы. Конкретных цифр не будет :) Под эту категорию мы рассматривали пользователей с Internet Explorer 7.0 и ниже, а так же с Windows XP SP2 и ниже. Есть большое количество статей, в которых подробно описаны проблемы данных версий. Часть из них вы найдёте ниже. Основной посыл: старое ПО не поддерживает современные шифры и не имеет поддержку современных протоколов.<br />
<br />
Была определена дата, когда устаревшие протоколы будут отключены. Полетели e-mail рассылки и уведомления через систему сообщений о необходимости обновления ПО пользователям сервисов. Мы прекрасно понимали, что найдутся те, кто не увидят рассылок или попросту проигнорируют их. Для таких клиентов было решено поставить страницу-заглушку, которая бы содержала сообщение "что именно случилось", "что необходимо сделать" и "куда можно обратиться за подробностями".<br />
<br />
Технически это выглядит так:
# Настраивается связка nginx (frontend) + Apache (backend), которая запускается в работу в обозначенную дату.
# nginx использует те же устаревшие протоколы и шифры, что и текущий боевой Apache. При подключении к сайту пользователь попадает на nginx, который примет любое подключение, даже со старыми протоколами и шифрами. Если


=====Настройка nginx=====
=====Настройка nginx=====

Версия от 13:33, 3 июля 2015

Вступление

Протоколы SSLv2 и SSLv3 канули в лету, оставив за собой незакрытую дверь со сломанным амбарным замком и заржавевший ключ. Админы по всему миру медленно, но верно переползают на протоколы семейства TLS. Вот оно, безопасное будущее совсем рядом, за парой строчек в конфигах веб-серверов. Только увидят его не пользователи...

Как бы быстро не двигался прогресс большое количество пользователей по всему миру используют устаревшее программное обеспечение. Windows XP и Internet Explorer'ы старых версий до сих пор используются в сети, которые не знают ничего о новых стандартах информационной безопасности. Тут и появляется одна большая проблема сложного выбора: не отворачиваться от старых во всех смыслах пользователей, но подвергать их опасности утечки данных или повысить минимальный порог безопасности, оставив за бортом ретроградов.

В моём случае такой вопрос не стоял, поэтому необходимо было готовится к переходу на современные протоколы и шифры максимально безболезненно для пользователей. За основу была взята статья Security/Server Side TLS в wiki Mozilla. Все настройки проводятся по конфигурации Intermediate. Итак, приступим.

Анализ

Перед тем как приступать к такого рода изменениям необходимо было оценить масштаб бедствия и подсчитать количество пользователей, использующих устаревшие браузеры. В этом отлично помогают сервисы Яндекс.Метрика и Google Analytics. Если же вы не использовали подобные инструменты, то на помощь придут анализаторы логов AWStats или Webalizer. В моём случае один сайт был с аналитикой, а другой был закрытый и там данные собирались с помощью AWStats.

В результате у нас было менее 3% пользователей, использовавших устаревшие браузеры и операционные системы. Конкретных цифр не будет :) Под эту категорию мы рассматривали пользователей с Internet Explorer 7.0 и ниже, а так же с Windows XP SP2 и ниже. Есть большое количество статей, в которых подробно описаны проблемы данных версий. Часть из них вы найдёте ниже. Основной посыл: старое ПО не поддерживает современные шифры и не имеет поддержку современных протоколов.

Была определена дата, когда устаревшие протоколы будут отключены. Полетели e-mail рассылки и уведомления через систему сообщений о необходимости обновления ПО пользователям сервисов. Мы прекрасно понимали, что найдутся те, кто не увидят рассылок или попросту проигнорируют их. Для таких клиентов было решено поставить страницу-заглушку, которая бы содержала сообщение "что именно случилось", "что необходимо сделать" и "куда можно обратиться за подробностями".

Технически это выглядит так:

  1. Настраивается связка nginx (frontend) + Apache (backend), которая запускается в работу в обозначенную дату.
  2. nginx использует те же устаревшие протоколы и шифры, что и текущий боевой Apache. При подключении к сайту пользователь попадает на nginx, который примет любое подключение, даже со старыми протоколами и шифрами. Если
Настройка nginx
Настройка Apache
Ссылки
  1. Security/Server Side TLS
  2. Как и зачем мы делаем TLS в Яндексе
  3. Выбор ciphersuites для TLS и уязвимость Logjam. Опыт Яндекса