Pull to refresh
143.42

Let's Encrypt отложил выпуск wildcard-сертификатов из-за проблем безопасности

Reading time 5 min
Views 11K

Статистика Let's Encrypt

4 января 2018 года центр сертификации Let's Encrypt начал тестирование конечной точки программных интерфейсов для автоматической выдачи wildcard-сертификатов. Эти сертификаты выдаются только в новой версии автоматизированной среды управления сертификатами — ACME v2. Публичный запуск ACME v2 был запланирован на 27 февраля, но в последний момент его решили отложить на некоторое время. Это не вина Let's Encrypt. Просто 8 января 2018 года неожиданно обнаружилось, что один из методов валидации доменов TLS-SNI-01 можно использовать для получения сертификата на чужие поддомены. Центр сертификации Let's Encrypt отключил поддержку TLS-SNI-01 и отложил введение протокола ACME v2, где собирались использовать новую проверку TLS-SNI-02, подверженную той же уязвимости.

Теперь рабочая группа IETF ACME работает над стандартом TLS-SNI-03. Там проблему должны решить.

Wildcard-сертификаты — одна из самых часто запрашиваемых функций среди пользователей. Такой сертификат распространяется сразу на несколько поддоменов, так что не нужно отдельно регистрировать каждый поддомен в отдельности.

Отличия ACME v2 и ACME v1


Протокол ACME v2 имеет ряд отличий от первой версии API. Вот несколько основных высокоуровневых изменений:

  1. Изменилась процедура авторизации/выдачи сертификатов.
  2. Изменился запрос авторизации JWS.
  3. Вместо поля resource в теле запросе JWS появился новый заголовок url.
  4. Другой адрес конечной точки/ресурса.
  5. Создание аккаунта и подписание соглашения ToS теперь осуществляются в один шаг, а не в два.
  6. Новый тип проверки принадлежности домена TLS-SNI-02 вместо TLS-SNI-01 (пока не реализовано, см. выше об уязвимости с валидацией поддоменов).

Как и DV, wildcard-сертификаты от Let's Encrypt планируется выдаваться бесплатно и автоматически всем желающим, но только через точку ACME v2. Для получения сертификата нужно установить один из клиентов с поддержкой этого протокола.

Клиенты с поддержкой ACME v2



URL тестового окружения ACME v2:

https://acme-staging-v02.api.letsencrypt.org/directory

Сейчас эти сертификаты нельзя использовать в продакшне, поскольку промежуточный сертификат Fake LE Intermediate X1 отсутствует в хранилищах доверия браузеров и клиентов.

Задержка с внедрением ACME v2 связана с интересной уязвимостью в механизме валидации поддоменов, которая недавно стала общеизвестной. Суть в том, что в некоторых случаях через Let's Encrypt вы можете получить HTTPS-сертификат на поддомен чужого домена после его угона через облачный сервис (DNS hijacking). Подробнее об этом хаке см. в выступлении консультанта по безопасности Франса Росена на конференции OWASP AppSec EU Belfast.


Let's Encrypt совершенно не в чем винить в связи с этой уязвимостью. Автоматизированная выдача сертификатов осуществляется в полном соответствии со стандартом ACME, утверждённым ISRG. Тем не менее, отсутствие проверки и автоматизированная выдача сертификатов делает возможным деятельность злоумышленников — такой фокус проходит только с Let's Encrypt. Как и некоторые другие фокусы.

Слабые стороны сертификатов Let's Encrypt


Автоматизированная работа центра сертификации — это и достоинство, и недостаток. Конечно, очень удобно всё делать через API (см. пошаговую инструкцию по установке HTTPS). Такой подход вполне логично способствовал массовому распространению HTTPS — это хорошо для всех: и для владельцев сайтов, и для пользователей, и для общей системы экосистемы безопасности в интернете. Но есть и минусы, из-за которых сертификаты Let's Encrypt подходят не всем. Кроме некоторого неудобства с продлением сертификатов каждые три месяца и отсутствия гарантий, это ещё и проблема доверия.

Во-первых, Let's Encrypt вообще не выдаёт самые надёжные сертификаты OV (organization validation) и сертификаты EV (extended validation).

Во-вторых, специалисты по безопасности давно обратили внимание, что Let's Encrypt выдаёт очень много сертификатов вредоносным сайтам, которые используются для фишинга. Например, между 1 января 2016 года и 6 марта 2017 года Let's Encrypt выдал сертификаты для 15 720 доменов со словом “PayPal” в названии, причём количество таких сертификатов растёт в геометрической прогрессии, каждый месяц увеличиваясь в 1,5-2 раза.



С тех пор проблема только усугубляется, и фактически Let's Encrypt становится постоянным рабочим инструментом мошенников.

Использование сертификатов SSL мошенниками было одним из главных беспокойств в связи с запуском Let's Encrypt в конце 2015 года. В прежние времена с платными сертификатами злоумышленники вряд ли смогли бы себе позволить покупку тысяч сертификатов, тем более выдача каждого из них сопровождалась определённой процедурой проверки. Сейчас сертификаты стали бесплатными, а их получение и продление можно автоматизировать.

И эту проблему никто не думает исправлять. Создатели Let's Encrypt логично считают, что следить за киберпреступностью и ловить мошенников — не их дело. Поэтому они не занимаются модерацией сайтов. А разработчики браузеров продолжают считать «безопасными» фишинговые сайты, которые получили DV-сертификат.

Один из партнёров GlobalSign в августе 2017 года опубликовал небольшую статью с перечислением преимуществ и недостатков Let's Encrypt. Вот некоторые моменты, которые стоит учитывать при выборе бесплатного сертификата:

1. Бесплатный сертификат Let's Encrypt кратковременный и рассчитан на срок не более 90 дней, в отличии от платного, который можно выпустить сроком до 3 лет. Вы можете, конечно, перевыпускать сертификат каждые 3 месяца, но обязательно следите за сроками. Перевыпуск сертификата можно осуществить тремя способами: вручную, за счет настройки планировщика задач cron или автоматически.

Если вы выбрали способ обновления вручную, то следите четко за сроками и вовремя перевыпускайте сертификат. Иначе рискуете получить наплыв недовольных пользователей сайта и их последующий отток.

Планировщик задач cron — это способ настройки автоматического обновления. Способ хорош для тех, кто владеет навыками администрирования Linux и умеет работать с кронами. Нужно еще учитывать, что в работе крона не исключены ошибки, которые могут помешать перевыпуску сертификата. Вывод: следить за обновлением всё равно придется.

Автоматическое обновление. Этот способ подразумевает, что вы принимаете автоматические настройки, предусмотренные Центром сертификации. И тут нужно понимать, что вы таким образом даёте свое согласие на то, что ЦС может вносить изменения по своему усмотрению в ПО и настройки вашего сервера.

2. Не все домены можно защитить бесплатным Let's Encrypt. Данный сертификат рассчитан только на защиту одного домена без проверки компании, так называемые DV SSL (Domain Validation).

Так, при помощи Let's Encrypt нельзя создать следующие типы сертификатов:

Wildcard сертификат для защиты поддоменов определённого домена;
Сертификаты OV SSL (organization validation), предполагающие проверку не только домена, но и компании;
Сертификаты EV SSL (extended validation). Сертификат с максимальной степенью защиты и зелёной адресной строкой браузера;
Multi-Domain сертификат типа UCC;

Важный момент — нет никаких финансовых гарантий использования Let'sEncrypt.

3. Если вдруг произойдёт взлом бесплатного сертификата, то денежную компенсацию никто вам не предоставит.

На сегодняшний день Let's Encrypt обеспечил сертификатами 67,6 млн доменов. Все они получили бесплатные сертификаты DV (Domain Validation) через автоматизированную процедуру и API. С момента начала полноценной работы сервиса в декабря 2015 года доля HTTPS-трафика в интернете увеличилась с 39% до примерно 70%, то есть почти в два раза (по количеству просмотров страниц в Firefox, 14-дневное скользящее среднее).



Стремление Let's Encrypt перевести 100% веба на тотальное шифрование — это отлично. Но автоматизированный подход несколько «обесценивает» статус DV-сертификатов. Поэтому коммерческим компаниям, сайтам электронной коммерции, банкам и другим серьёзным клиентам, может быть, есть смысл посмотреть в сторону управляемой PKI-инфрастуркуры или OV и EV-сертификатов от таких известных мировых Центров сертификации, как, например, GlobalSign. Хотя большинству обычных сайтов наверняка подойдут и бесплатные сертификаты Let's Encrypt: это лучше, чем ничего.



Tags:
Hubs:
+9
Comments 19
Comments Comments 19

Articles

Information

Website
www.globalsign.com
Registered
Founded
1996
Employees
501–1,000 employees
Location
Япония