Що таке DNS CAA і як перевірити та впровадити?

| | 0 Comments| 10:23 PM
Categories:

Скористайтеся перевагами DNS-запису CAA, щоб дозволити ЦС видавати сертифікати TLS.

Що таке DNS CAA?

CAA — це один із типів записів DNS, які вказують CA, чи мають вони видавати сертифікат чи ні. Іншими словами, ви повідомляєте світові, хто має видати ваш домен Сертифікат SSL/TLS. Впровадження CAA стало обов’язковим наприкінці 2017 року, тому воно відносно нове, і менше 5% популярних сайтів запровадили його.

Розглянемо приклад: techukraine.net володіє сайтом під назвою «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, вони не зможуть цього зробити. Крім того, якщо ви звернете увагу, ви помітите, що деякі записи мають проблему, а деякі – wild. Давайте дізнаємося, які вони.

  • issue – вказує CA видати сертифікат лише для цього домену.
  • issuewild – центр сертифікації може видати сертифікат підстановки, щоб його можна було використовувати в домені чи субдомене.
  Чи з’явиться картка медичної марихуани під час перевірки справ?

Запис CAA також підтримує iodef (формат обміну описом об’єктів інциденту), який дозволяє CA надсилати звіт про порушення на вказану електронну адресу або контактні дані.

Що станеться, якщо запис CAA не знайдено?

Якщо домен не має запису CAA, будь-хто може створити CSR для цього домену та отримати сертифікат, підписаний будь-яким CA. Це загроза безпеці.

Тепер зрозуміло?

Є кілька скорочень, які я використав вище. Давайте перевіримо, що це таке.

  • DNS – система доменних імен
  • CA – центр сертифікації
  • CAA – авторизація центру сертифікації
  • TLS – безпека транспортного рівня
  • SSL – Рівень захищених сокетів

Як перевірити запис DNS CAA?

Є кілька способів перевірити запис CAA. Якщо ви не хочете залишати свій термінал, ви можете перевірити за допомогою команди dig.

dig caa $YOURWEBSITE.COM

Приклад techukraine.net.com

[email protected]:~# dig caa techukraine.net.com

; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> caa techukraine.net.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:
;techukraine.net.com.			IN	CAA

;; ANSWER SECTION:
techukraine.net.com.		3600	IN	CAA	0 issuewild "comodoca.com"
techukraine.net.com.		3600	IN	CAA	0 issuewild "letsencrypt.org"
techukraine.net.com.		3600	IN	CAA	0 issue "comodoca.com"
techukraine.net.com.		3600	IN	CAA	0 issue "digicert.com; cansignhttpexchanges=yes"
techukraine.net.com.		3600	IN	CAA	0 issue "letsencrypt.org"
techukraine.net.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 онлайн-інструмент.

  10 інструментів для виконання тесту набору слів за хвилину

Як додати запис CAA?

Технічно це так само, як ви додаєте інші записи DNS, наприклад A, NS, CNAME тощо.

Якщо ви використовуєте Cloudflare, перейдіть на вкладку DNS >> додайте запис і виберіть CAA як тип.

Для GoDaddy перейдіть до DNS Management і додайте запис

Якщо ви не впевнені, як додати, ви можете звернутися за допомогою до свого постачальника послуг DNS/хостингу.

Висновок

Якщо ще цього немає, вам слід скористатися перевагами запису CAA, щоб додати рівень безпеки домену. Додавання запису CAA не коштуватиме вам жодних витрат.

Вам сподобалось читати статтю? Як щодо того, щоб поділитися зі світом?

  Raspberry Pi проти Arduino: що краще?