Воспользуйтесь записью DNS CAA, чтобы авторизовать CA для выпуска сертификатов TLS.
Оглавление
Что такое DNS CAA?
CAA — это один из типов записей DNS, который указывает CA, следует ли им выдавать сертификат или нет. Другими словами, вы сообщаете миру, кто должен выдавать ваш домен. SSL/TLS-сертификат. Внедрение CAA стало обязательным в конце 2017 года, так что это относительно новое явление, и его внедрили менее 5 % популярных сайтов.
Возьмем пример: toadmin.ru владеет сайтом под названием «gf.dev», который имеет следующую запись CAA.
gf.dev. 3586 IN CAA 0 issue "digicert.com; cansignhttpexchanges=yes" gf.dev. 3586 IN CAA 0 issuewild "comodoca.com" gf.dev. 3586 IN CAA 0 issue "comodoca.com" gf.dev. 3586 IN CAA 0 issuewild "digicert.com; cansignhttpexchanges=yes" gf.dev. 3586 IN CAA 0 issuewild "letsencrypt.org" gf.dev. 3586 IN CAA 0 issue "letsencrypt.org"
Глядя на приведенные выше результаты, я могу получить сертификат, выданный только DigiCert, Comodo и Let’s encrypt. Если я попрошу Thawte или другой ЦС выдать сертификат для gf.dev, они не смогут этого сделать. Кроме того, если вы обратите внимание, вы заметите, что у некоторых записей есть проблема, а у некоторых есть проблема. Давайте узнаем, что они из себя представляют.
- issue — указать CA выдать сертификат только для этого домена.
- issuewild — CA может выдать групповой сертификат, чтобы его можно было использовать в домене или поддомене.
Запись CAA также поддерживает iodef (формат обмена описанием объекта инцидента), который позволяет CA отправлять отчет о нарушении на указанный адрес электронной почты или контактные данные.
Что происходит, когда запись CAA не найдена?
Если у домена нет записи CAA, любой может создать CSR для этого домена и получить сертификат, подписанный любым CA. Это угроза безопасности.
Так понятно?
Есть несколько сокращений, которые я использовал выше. Давайте проверим, что они из себя представляют.
- DNS — система доменных имен
- ЦС – Центр сертификации
- CAA – Авторизация центра сертификации
- TLS — безопасность транспортного уровня
- SSL — безопасный уровень сокетов
Как проверить запись DNS CAA?
Существует несколько способов проверки записи CAA. Если вы не хотите покидать свой терминал, вы можете проверить это с помощью команды dig.
dig caa $YOURWEBSITE.COM
Пример toadmin.ru.com
[email protected]:~# dig caa toadmin.ru.com ; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> caa toadmin.ru.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54430 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;toadmin.ru.com. IN CAA ;; ANSWER SECTION: toadmin.ru.com. 3600 IN CAA 0 issuewild "comodoca.com" toadmin.ru.com. 3600 IN CAA 0 issuewild "letsencrypt.org" toadmin.ru.com. 3600 IN CAA 0 issue "comodoca.com" toadmin.ru.com. 3600 IN CAA 0 issue "digicert.com; cansignhttpexchanges=yes" toadmin.ru.com. 3600 IN CAA 0 issue "letsencrypt.org" toadmin.ru.com. 3600 IN CAA 0 issuewild "digicert.com; cansignhttpexchanges=yes" ;; Query time: 7 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Tue Oct 08 07:12:21 UTC 2019 ;; MSG SIZE rcvd: 298 [email protected]:~#
Если вы хотите протестировать это удаленно, вы можете использовать DNS CAA-тестер онлайн инструмент.
Как добавить запись CAA?
Технически это так же, как вы добавляете другие записи DNS, такие как A, NS, CNAME и т. д.
Если вы используете Cloudflare, перейдите на вкладку DNS >> добавьте запись и выберите тип CAA.
Для GoDaddy перейдите в раздел «Управление DNS» и добавьте запись.
Если вы не знаете, как это добавить, вы можете обратиться за помощью к своему поставщику услуг DNS/хостинга.
Вывод
Если это еще не сделано, вам следует воспользоваться записью CAA, чтобы добавить уровень безопасности домена. Добавление записи CAA бесплатно.
Понравилось читать статью? Как насчет того, чтобы поделиться с миром?