Проверка CAA с сентября 2017 станет обязательной для всех удостоверяющих центров при выпуске SSL/TLS-сертификатов
По существующим правилам, утвержденным CA/B Forum, удостоверяющие центры должны гарантировать, что запросы на SSL-сертификаты идут либо от самого владельцев домена, либо от тех, кто управляет данным доменом.
Обычно проверка прав на домен происходит с помощью создания DNS TXT-записи с определенным значением либо загрузки кода в определенное место сайта. Это и подтверждает факт владения доменом.
При этом взлом сайта порой позволяет злоумышленникам пройти подобные проверки и получить доверенный сертификат для домена от любого удостоверяющего центра. Этот сертификат нередко применяется для атак man-in-the-middle или перенаправления пользователей на фишинговые страницы. Справиться с этим позволяет введение CAA.
Что представляет собой CAA
CAA (сокращение от Certification Authority Authorization) – это специальная DNS-запись, которая была принята в качестве стандарта еще в 2013 году, но с тех пор являлась необязательной. С помощью данной записи владельцы доменов могли указывать удостоверяющие центры, имеющие право выпускать SSL/TLS-сертификаты для заданных доменов.
Запись CAA позволяет избежать несанкционированной выдачи сертификатов, что делается либо случайно, либо с преднамеренными целями – для фишинга, различных атак и т.д.
Цель введения записи CAA – ограничить круг удостоверяющих центров, которые могут выпускать сертификаты для домена.
Структура CAA является следующей:
FQDN CAA флаги свойство значение
Пример: yandex.ru 86400 IN CAA 0 issue "comodo.com"
Эта запись означает, что для главного доменного имени Yandex сертификаты может выпускать только удостоверяющий центр Comodo.
Чтобы разрешить выдачу только wildcard сертификатов для домена, применяется следующая CAA-запись (со свойством issuewild):
example.org. CAA 0 issuewild certificate_authority.com
Предложение Ballot 187 от регулятора CA/B Forum закрепляет обязательную проверку CAA для всех УЦ
Не так давно SSL-регулятором CA/B Forum был принят Ballot 187, который делает обязательным проверку CAA для всех удостоверяющих центров. За предложение проголосовало 17 удостоверяющих центров (94%) и 3 производителя браузеров (100%). Предложение вступит в силу 8 сентября. Если удостоверяющий центр проигнорирует данные правила, на него будут наложены санкции.
Помимо тега issue, в записи CAA применяется тег iodef – он также станет обязательным для удостоверяющих центров. Этот тег позволяет указать email или URL для связи с владельцем домена – это позволит отправлять отчеты обо всех запросах на сертификаты для данного домена, которые будут конфликтовать с политикой CAA. Владелец домена узнает о том, что кто-то попытался получить сертификат на его домен без должной авторизации и примет соответствующие защитные меры.
Пример записи CAA с определенным iodef:
example.org. CAA 0 iodef mailto:site@example.org
example.org. CAA 0 iodef https://site.example.org/
Существующие проблемы с введением CAA
Обязательная проверка CAA пока оставляет открытыми следующие вопросы. Во-первых, нет четкой политики по поводу того, как именно проверка CAA будет работать с записями CNAME, хранящимися в CAA. Если в сертификате задано сразу два удостоверяющих центра, становится неясным, кто именно осуществлять контроль их выпуска.
Во-вторых, отсутствует программное обеспечение, которое поддерживало бы CAA на уровне DNS и УЦ. Это станет сильным ударом для небольших удостоверяющих центров, поскольку они могут не успеть обзавестись должным инструментарием к сентябрю.
Заключение
Несмотря на то что запись CAA относительно нова для DNS, современная инфраструктура позволяет легко ее реализовать. Отсутствие поддержки CAA у сторонних DNS-провайдеров может стать проблемой для определенных организаций. Однако времени до сентября пока еще много, а потому удостоверяющие центры и все другие вовлеченные стороны успеют адаптироваться к новым требованиям.