Настройка записей CAA (Certification Authority Authorization) — это механизм защиты домена от выдачи SSL/TLS сертификатов неавторизованными центрами сертификации. Вы указываете в DNS-зоне список CA, которым разрешено выдавать сертификаты для вашего домена и его поддоменов. Если запись настроена корректно, любой другой центр сертификации откажет в выдаче сертификата при попытке подписать ваш домен без вашего явного разрешения. Это снижает риски компрометации сайта злоумышленниками через утечку ключей или ошибки в инфраструктуре CA.
Настройка записей CAA в DNS-зоне сайта
Запись CAA добавляется в зону DNS вашего домена. Она имеет тип ресурса (RR) CAA и может содержать несколько записей для разных центров сертификации или указывать на полный запрет выдачи.
Структура записи CAA состоит из тега, значения и опционального параметра критичности (tag-value [criticality]). Основные теги: issue, issuewild, iodef.
Тег issue указывает CA, которым разрешено выдавать обычные сертификаты. Значение — идентификатор CA в формате DNS (например,letsencrypt.org).
Тег issuewild разрешает выдачу дикого сертификата (*.example.com). Если вы используете Let's Encrypt для всех поддоменов, добавьте запись с тегом issuewild и значением letsencrypt.org.
Если вы не хотите выдавать сертификаты вообще, используйте тег issue с пустым значением или специальный синтаксис: @ ; (это запрещает любые выдачи).
Порядок записей важен. Если есть несколько записей с одинаковым тегом, CA проверяет их последовательно и останавливается на первой подходящей записи. Запись с запретом (issue "") должна быть последней или единственной для полного запрета.
Пример конфигурации для домена example.com с разрешением Let's Encrypt и Sectigo:
Проверка корректности конфигурации через онлайн-инструменты
После добавления записей CAA в DNS-зону необходимо проверить их корректность. Используйте онлайн-инструменты, такие как cainfo.io или dnschecker.org.
Введите ваш домен в поле проверки и выберите тип записи CAA. Инструмент покажет список разрешенных CA и наличие запретов.
Проверьте, что все теги имеют корректный синтаксис и что порядок записей соответствует вашим требованиям.
Если вы используете несколько CA, убедитесь, что ни одна из них не конфликтует с другими. Например, если один CA разрешен для issuewild, а другой — только для issue, это может привести к ошибкам при выдаче дикого сертификата.
Также проверьте наличие записей iodef. Они указывают на адреса электронной почты или URL для уведомления о попытках выдачи сертификатов без разрешения.
Обновление ключей доверия для новых центров сертификации
При смене центра сертификации или добавлении нового CA необходимо обновить записи CAA. Это делается путем добавления новой записи с тегом issue и значением нового CA.
Если вы хотите отозвать разрешение у старого CA, удалите соответствующую запись или добавьте новую запись с запретом для этого CA (например, через использование тега iodef для уведомления).
Управление исключениями и ограничениями выдачи сертификатов
Исключения в CAA-записях реализуются через тег issuewild. Если вы хотите разрешить выдачу дикого сертификата только для определенных поддоменов, используйте отдельные записи CAA для каждого из них.
Для ограничения выдачи сертификатов определенным CA используйте тег issue с указанием конкретного идентификатора CA.
Если вы используете несколько CA одновременно, убедитесь, что порядок записей соответствует вашим требованиям. Например, если один CA разрешен только для issuewild, а другой — только для issue, это может привести к ошибкам при выдаче дикого сертификата.
Мониторинг истечения срока действия записей CAA
Записи CAA не имеют срока действия, но их конфигурация может быть изменена в любой момент. Мониторинг изменений в DNS-зоне необходим для предотвращения ошибок при выдаче сертификатов.
Используйте инструменты мониторинга DNS, такие как dnschecker.org или cainfo.io, для проверки корректности записей CAA.
Вопросы и ответы
Можно ли использовать несколько центров сертификации одновременно?
Да, вы можете указать несколько CA в записях CAA. Однако порядок записей важен: CA проверяют их последовательно и останавливаются на первой подходящей записи.
Что делать, если CA отказывает в выдаче сертификата?
Проверьте записи CAA в DNS-зоне. Убедитесь, что вы указали правильный идентификатор CA и что порядок записей соответствует вашим требованиям.
Как отозвать разрешение у центра сертификации?
Удалите соответствующую запись CAA или добавьте новую запись с запретом для этого CA (например, через использование тега iodef для уведомления).


