Защитить свой домен от несанкционированного выпуска SSL сертификата для него можно с помощью CAA записи в DNS, проверка которой уже стала обязательной с осени 2017 года.
Что такое CAA?
Ещё в 2013 году, в качестве стандарта в DNS была принята CAA запись — это запись, с помощью которой, владельцы доменов могут указать, каким центрам сертификации разрешено выпускать SSL сертификат для домена, и по какому адресу можно связаться с администратором домена, если некто пытается выпустить сертификат там, где это не было разрешено.
И вот, уже с сентября 2017 проверка CAA записей становится обязательной для всех центров сертификации. Теперь УЦ перед выпуском сертификата обязан будет проверить, разрешено ли ему это действие, и если нет, сообщить о проблеме (в случае если администратор предусмотрел это). Пример записи для yandex.ru:
$ dig +short -tCAA yandex.ru 0 issuewild "yandex.ru" 0 issue "yandex.ru" 0 issue "globalsign.com" 0 issuewild "globalsign.com"
Для bind (версии 9.9.6 и выше) формат CAA записи будет следующим:
sysadmin.pm. IN CAA 0 issue "letsencrypt.org" sysadmin.pm. IN CAA 0 iodef "mailto:robot@sysadmin.pm"
Здесь мы с помощью issue указываем CA, которому разрешён выпуск сертификата, а с помощью iodef оставляем свой контакт для связи. Кроме того, с помощью issuewild, мы можем задать ограничения для выдачи wildcard сертификатов. Так же в issue можно указать аккаунт, которому разрешено генерировать сертификаты:
sysadmin.pm. IN CAA 0 issue "letsencrypt.org; account=54321"
Для старых версий bind формат записи будет иным, пример можно найти на изображении ниже по статье.
Генератор CAA записей.
Для упрощения создания такой записи, можно воспользоваться генератором CAA от SSLMate:
- Вводим доменное имя. При необходимости загружаем имеющуюся CAA, либо генерируем её автоматически.
- Выбираем нужные нам CA, которым разрешаем выпуск сертификатов.
- Указываем почту или URL для отчётов о попытках выпустить сертификат там, где это не разрешено.
- Получаем автоматически сгенерированные записи для публичных DNS сервисов или файлов зон на собственных NS.
Остаётся только прописать нужные записи в настройках NS и тем самым защитить свой домен от несанкционированного выпуска сертификата. Разумеется, панацеей указание такой записи не станет, но тем не менее, какой-то уровень защиты владелец домена получит.
Спасибо хорошая статья то что я искал!