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


    Статистика 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 выдаёт очень много сертификатов вредjносным сайтам, которые используются для фишинга. Например, между 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: это лучше, чем ничего.



    GlobalSign

    241,00

    Компания

    Поделиться публикацией
    Комментарии 19
      +23
      О, зашевелились чертяки продающие воздух. Советуют не доверять тем, кто даёт воздух бесплатно.
        +1
        Мне нравится отдельно про обновление LE сертов «напоминание»:
        Вы можете, конечно, перевыпускать сертификат каждые 3 месяца, но обязательно следите за сроками.

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


        Бред и бред же: с сертом от других ЦС обновлять можно только руками (так что следить и следить, да еще ходить по всяким личным кабинетам, чтобы забрать серт), а что автообновление сертификата позволяет «вносить изменения по своему усмотрению в ПО и настройки вашего сервера» — это прямо раскидистая клюква.

        Теперь, правда, GlobalSign себя загнал в ловушку: если сделают автообновление их сертификатов, то подпадут под свою же «критику номер два», если не сделают — отгребают по своей критике про то, что «следить надо».

        Но самое важное: GS стыдливо замалчивает момент того, что в 99% случаев вполне хватает DV-сертификатов (чем и занимается LE), и отличные, в принципе, серты от GS как бы нужны (и стоят своих денег) только для оставшегося 1%.
          0
          Про EV — это вообще не работает.
            0
            А не нужно сертификаты расценивать как то, чем они не являются. Они сделаны для шифрования и для проверки, с какой стороной мы разговариваем. Они не сделаны, чтобы автоматически сделать оплату на сайте безглючной, или чтобы обойти мошенников, или еще чего-то.

            LE борется за безопасность — чуть не единственные, кто сразу же среагировал и начал думать над решением. Платные ЦС обычно молчат тихо и патчат по возможности, но не публично: потому что им не выгодно привлекать к сертификатам внимание в разрезе доверия к ним.

            Общий маркетинг сертификатов — если вы за них не платите, вам не доверяют, но если вы платите за них, проблемы сами собой пропадают. А чем больше вы платите, тем меньше проблем. Фигушки, как говорится — 99% посетителей сайтов EV отметят только по приятному зеленому цвету в адресной строке, но на том дело и закончится.
              0
              Да даже хуже, в статье по ссылке говориться о том, что, например, браузер Safari не показывает URL для EV сертификатов. Вместо этого отображается название компании. Как по мне, так лучше уж черная ссылка, чем такая зеленая надпись.
                0
                Ждем теперь такого рода посты про всех конкурентов GS — потому что LE оторвет от рынка приличный кусок, и всех старым (и привыкшим зарабатывать) компаниях придется делить меньший кусок доходов, пихаясь локтями и стараясь оказаться самыми-самыми.

                Притом заслуга здесь не их, а авторов списка ЦС, встренного в браузер — кто в нем оказался, никак не останется без денег, даже если будет вести себя как можно более вызывающе (вспомним тему с Symantec). Некая цифровая богоизбранность?
        0
        Перевыпуск сертификата можно осуществить тремя способами: вручную, за счет настройки планировщика задач cron или автоматически

        одного не понял: почему крон — это не "автоматически", и что такое тогда "автоматически"?

          +1

          Видимо, под "автоматически" имеется в виду автоматический режим официального клиента, который работает с правами root и, в теории, может быть скомпрометирован. Хотя под капотом он всё равно cron использует. Под вторым вариантом, видимо, подразумевают ручную настройку клиента с ограниченными правами.

            0
            ну типа если в кроне ошибка, а вывод ошибок ты отправил в /dev/null — результат все сломалось значит нужно следить
            ну или нужен сложный танец с бубном что бы мониторить валидность сертификата, срок действия сертификата и успешность процеса обновления.

            +5
            Можно добавить что выпуск сертификатов на три года теперь невозможен (с 1 марта 2018). Так что обычные поставщики сертификатов потеряли один из плюсов.
            А задержка с выпуском в прод wildcard сертификатов это очень грустно. Буквально сидел и ждал когда настанет 27-е февраля…
              +3
              Те, кто использует AWS, вообще не парятся. Ну да, сертификаты от амазона можно использовать только в самом клауде, зато никаких заморочек с обновлением, вайлдкард и мультидоменами.
              0
              3. Если вдруг произойдёт взлом бесплатного сертификата, то денежную компенсацию никто вам не предоставит.
              впервые слышу про взлом выданных сертификатов. Там уж скорее были случаи, когда выдавались вторые, и третьи сертификаты.
                +9
                GlobalSign решил раздуть из мухи слона и нажиться на временном неудобстве Let's Encrypt?
                По этому все ссылки с UTM-метками utm_campaign=lets%20encrypt
                  +2
                  3. Если вдруг произойдёт взлом бесплатного сертификата, то денежную компенсацию никто вам не предоставит.


                  А были случаи когда кто то выплачивал эту компенсацию?
                    0
                    Эти слова важны не простым людям, а юристам из банков и прочих «сурьезных» людей — а они, думаю, получат отсудят что нужно.
                    А сурьезным нужно оно в т.ч. и для повышения своего рейтинга в момент выхода на IPO, например — мол, они таки не плюют на безопасность, и платят вот каким ответственным ЦА.
                    Цепочка веры друг в друга, да.
                    +1
                    Let's Encrypt выдаёт очень много сертификатов вредjносным сайтам, которые используются для фишинга. Например, между 1 января 2016 года и 6 марта 2017 года Let's Encrypt выдал сертификаты для 15 720 доменов со словом “PayPal” в названии

                    А ведь до этого кто-то зарегистрировал эти домены. Что-то не слышно крика что «регастраторы выдают слишком много доменных имен, использующихся для фишинга».
                      0
                      Ну, это вполне может быть www.paypal.com.vasyapupkin.name, и регистратор тут совсем ни при чём.
                        0
                        Так и Let's Encrypt тут совершенно не при чем.
                      0
                      1. Если вдруг произойдёт взлом бесплатного сертификата, то денежную компенсацию никто вам не предоставит.

                      Я тут посмотрел размер гарантий для расширенных сертификатов.
                      1,25 миллиона долларов США для OrganizationSSL и 1,5 миллиона долларов США ExtendedSSL.
                      Интересно, а прецеденты были?
                      А то так можно с одним взломанным сертификатом и бизнес прикрыть.
                      Кстати, не вижу размера гарантийных обязательств для самого дешевого сертификата (кстати, 294$ за обычный сертификат на год, серьёзно?!).

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое