Выбрать язык


Выбрать язык | Show only


Русский | English


пятница, 9 сентября 2016 г.

Как нельзя делать. Сводим безопасность HTTPS к минимуму

Вышло недавно мелкомягкое накопительное обновление KB3172605  как фикс к  KB3161608, в состав которого входит KB3161639. В последнем меняется приоритетность шифров в винде и по факту оно объявляет погаными наборы шифров, которые на серверах отнесены к категории Weak.

В общем, кто из админов веб-серверов не изволил усиливать шифры, теперь вынужден это делать для нормальной работы web-интерфейсов.

Последние годы идет всемирная тенденция перевода HTTP-сервисов на HTTPS как в Интернет, так и внутри компаний (ибо враги могут быть всюду).
Вспоминаем, что нам дает HTTPS:
  • Шифрование передаваемых данных. Уже не прослушаешь через WiFi чужие пароли, ибо HTTPS.
  • Достоверность легитимности посещаемого ресурса. Проверка равенства CN=FQDN, заверение всемирно доверенным центром, который произвел проверку заказа (если внешний ресурс) либо корпоративным CA (для внутренних ресурсов). При этом браузер будет показывать зеленый замочек, показывая, что все хорошо, и не будет ругаться. Мало кто не видел такую позитивную картинку: 
  • Предупреждение либо защиту от атаки MITM. Защита - в случае двусторонней аутентификации, при односторонней - предупреждение с возможностью отказаться, либо отказ (в зависимости от настроек ОС/ПО).


Тенденция хороша, только все преимущества HTTPS можно запросто минимизировать тем, что применять его не полностью. Включил модуль, сгенерировал и натянул сертификат - вроде, заработал сайт. И все. Минимизировали защиту, потому что остаются такие признаки моветона:

1. Используем самоподписанные сертификаты.
Если сертификат самоподписан, то он по умолчанию не будет в списке доверенных у пользователя. То есть, браузер ругнется независимо от того, есть "мужчинка посерединке" или нет. И пользователь с вероятностью около 90% нажмет "продолжить".
2. Открываем URL по IP-адресу.
Аналогичная ситуация. Всемирно доверенный криптоторговец либо корпоративный CA подтверждают выдачу сертификата именно для определенного FQDN, а не для IP-адреса. То есть, браузер будет ругаться, независимо от наличия MITM и даже независимо от наличия правильного сертификата. Когда станет экономически выгодно крупнейшим игрокам ИТ-рынка, думаю, HTTPS по IP-адресу тоже могут прикрыть.

Итого, если переводишь сайт на HTTPS - лучше сделай это до конца по всем правилам фэн-шуя:
  • Поддержка максимально новых версий TLS.
  • Поддержка максимально стойких шифров.
  • Регистрация сайта в DNS.
  • Покупка сертификата у всемирных криптоторговцев либо подписывание корпоративным CA.
  • Настройка веб-сервера таким образом, чтобы он обрабатывал HTTP-запросы, только содержащие FQDN сервера в поле "Host:" HTTP-запроса.
  • HTTP-to-HTTPS redirect.
  • Инструктирование пользователей.
Нормально делай - нормально будет (сгуглено).

1 комментарий: