TLS CERTIFICATEexample.comFREEvalid 90 daysauto-renews via ACMELet's Encrypt + ACME

Давайте зашифруем

10 минута чтенияВеб-технологии

До 2015 года каждый сертификат TLS стоил денег — часто сотни долларов в год — и процесс выдачи представлял собой многоэтапную рутинную работу. Бета-версия Let's Encrypt вышла в конце 2015 года с единственным предложением: бесплатные, автоматизированные, 90-дневные сертификаты без участия человека. Десять лет спустя он выпустил более четырех миллиардов сертификатов и фактически сделал возможным универсальный протокол HTTPS.

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

Let's Encrypt — это центр сертификации, управляемый Группой исследований интернет-безопасности (ISRG), некоммерческой организацией США 501(c)(3), финансируемой такими спонсорами, как Mozilla, EFF, Cisco, Akamai и многими другими. Ее миссия — сделать шифрование интернет-трафика общедоступным — и по всем разумным меркам ей это удалось.

Цифры

LМасштаб Let's Encrypt ошеломляет:

  • Активные сертификаты: ~430 миллионов на конец 2025 года
  • Защищенные домены: ~325 миллион
  • Срок действия выданных сертификатов: ~6 миллиардов с момента запуска
  • Операционные затраты: менее 5 миллионов долларов США в год
  • Численность персонала: около 25 сотрудников

Для контекста Let's Encrypt выдает больше сертификатов, чем любой другой центр сертификации вместе взятый, и является крупнейшим центром сертификации по объему выдачи за лет.

Протокол ACME

Техническая инновация, сделавшая возможным использование Let's Encrypt, — это ACME (среда автоматического управления сертификатами), протокол для полностью автоматизированной выдачи сертификатов. Стандарт ACME, стандартизированный в 2019 году как RFC 8555, определяет, как клиент запрашивает сертификат, доказывает контроль над доменом и загружает выданный сертификат — и все это без участия человека. один или несколько доменов.

  • CA отвечает challenges — доказательство, которое клиент должен выполнить, чтобы продемонстрировать контроль над каждым доменом.
  • Client выполняет запросы и уведомляет CA.
  • CA проверяет и выдает сертификат.
  • Client загружает его и развертывает it.
  • Весь процесс занимает 10–60 секунд.

    Три типа запроса

    • HTTP-01: Клиент помещает определенный файл в папку http://example.com/.well-known/acme-challenge/<токен>. Центр сертификации извлекает его и проверяет содержимое. Требуется управление веб-сервером через порт 80.
    • DNS-01: Клиент добавляет запись TXT с определенным значением в _acme-challenge.example.com. Центр сертификации запрашивает DNS и проверяет. Требуется для сертификатов с подстановочными знаками и полезен, когда порт 80 недоступен.
    • TLS-ALPN-01: Клиент обслуживает определенный сертификат во время подтверждения TLS на порту 443 с помощью протокола acme-tls/1 ALPN. Центр сертификации инициирует соединение TLS и проверяет его. Полезно, когда порты 80 и DNS ограничены.

    Общие клиентские инструменты

    • certbot — эталонный клиент EFF, широкая экосистема плагинов, на основе Python, используется по умолчанию для большинства серверов admins.
    • acme.sh — чистый скрипт оболочки, минимальные зависимости, работает на маршрутизаторах и встроенных системах.
    • Caddy — веб-сервер со встроенным ACME; управление сертификатами не требуется, просто настройте домен.
    • Traefik, nginx-ingress, AWS ACM, Cloudflare — многие платформы изначально интегрируют ACME, поэтому пользователи вообще не видят сертификаты.

    Почему 90-дневные сертификаты

    LПроблемы с Let's Encrypt Сертификаты на 90 дней, при этом клиенты обычно продлевают их по истечении 60 дней. Короткий срок жизни:

    • Ограничить ущерб от компрометации закрытых ключей
    • Принудительно автоматизировать продление, что означает, что продления фактически происходят по расписанию
    • Сделать отзыв менее важным (срок действия скомпрометированного сертификата в любом случае скоро истечет)

    В отрасли в целом наблюдается тенденция к более короткому сроку действия — серьезному браузеры теперь ограничивают срок действия коммерческих сертификатов 397 днями, а предложения по 90-дневным или 47-дневным коммерческим сертификатам находятся на стадии обсуждения.

    Чего Let's Encrypt не делает

    • Расширенная проверка. Let's Encrypt выполняет только проверку домена. Если вам нужен сертификат EV с юридическим названием вашей организации, вам нужны коммерческие сертификаты CA.
    • Code для подписи. Различные хранилища доверенных сертификатов, разные процедуры.
    • S/MIME сертификаты электронной почты. Также разные — только Let's Encrypt TLS.
    • Поддержка по телефону. Только самообслуживание; форумы сообщества для помощи. В противном случае экономика бесплатности не работала бы.

    Воздействие

    До внедрения Let's Encrypt внедрение HTTPS колебалось в пределах 30% загрузок страниц. К 2020 году он превысил 80%. Сегодня этот показатель значительно превышает 95%. Браузеры теперь помечают HTTP-сайты как небезопасные именно потому, что стоимость перехода на HTTPS упала до нуля. Подавляющее большинство новых сайтов, блогов, сторонних проектов и внутренних инструментов, которые сегодня поставляются с HTTPS, делают это, потому что Let's Encrypt выбрала путь наименьшего сопротивления.

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

    Часто задаваемые вопросы

    Действительно ли Let's Encrypt полностью бесплатен?
    Да, для сертификатов. ISRG принимает пожертвования и корпоративное спонсорство для финансирования операций. Никаких уровней, дополнительных продаж и комиссий за любую функцию нет. Затраты несут спонсоры и доноры, поэтому более широкий Интернет получает HTTPS без каких-либо предельных затрат.
    Сертификаты Let’s Encrypt так же безопасны, как платные?
    Криптография идентична — каждый центр сертификации в программе с открытым корнем использует одни и те же стандарты TLS. Сертификаты Let's Encrypt принимаются всеми современными браузерами. Различия заключаются в уровне проверки (только DV) и оперативной поддержке, а не в уровне безопасности.
    Как часто мне придется продлевать?
    На практике каждые 60 дней клиенты продлевают сертификат, когда остается срок действия сертификата 30 дней. Вся суть ACME в том, что это автоматизировано, поэтому обновление происходит незаметно для вас. Если ваш клиент выйдет из строя, вы получите электронное письмо от Let's Encrypt об истечении срока действия и 20 дней на устранение проблемы.
    Может ли веб-сайт лгать о своей безопасности с помощью Let’s Encrypt?
    Фишинговый сайт может получить сертификат Let's Encrypt для своего собственного домена — каждый центр сертификации выдает сертификат любому, кто может доказать контроль над доменом. Сертификат доказывает, что сайт соответствует его URL-адресу, а не подтверждает, что сайт заслуживает доверия. Проверка домена всегда подразумевала это, и доступность Let's Encrypt не изменила этого.
    Что произойдет, если ключ CA Let's Encrypt будет скомпрометирован?
    Запланированный ответ включает в себя создание новых корней в автономном режиме (у ISRG есть несколько корней и промежуточных сертификатов), повторный выпуск сертификатов в новой цепочке и координацию действий с браузерами для добавления новых корней и исключения доверия к старым. ISRG провела практические прогоны этого сценария. Реальный инцидент по-прежнему будет иметь огромные разрушительные последствия, но его можно будет устранить в течение недель, а не лет.
    Давайте зашифруем объяснение: как бесплатные автоматические сертификаты TLS захватили Интернет