Модул 5 · 5.2
CAA: кой има право да издава сертификати?
Модул 5: Други записи · Време за четене: 6 минути
Цел на урока: След този урок ще можете да четете CAA запис и ще знаете как CAA записът може да блокира заявка за SSL сертификат.
Основни понятия: CAA, issue, issuewild, iodef, сертификатен орган (CA), липсата на CAA запис означава: всеки може
Катинарче от непознат
SSL сертификатът (всъщност TLS сертификат) осигурява катинарчето в браузъра. Той се издава от сертификатен орган, накратко CA: например Let's Encrypt, Sectigo, DigiCert или Google Trust Services. Има десетки CA, на които браузърите се доверяват, и по принцип всеки от тях може да издаде сертификат за Вашия домейн, стига заявителят да докаже, че управлява домейна.
С CAA запис (Certification Authority Authorization, RFC 8659) Вие ограничавате това. В DNS посочвате кои CA имат право да издават сертификати за Вашия домейн. Всеки CA е длъжен да провери този запис, преди да издаде сертификат. Ако даден CA не е посочен в записа, той трябва да откаже.
Това предпазва срещу сертификат, издаден на Ваше име чрез небрежен или заблуден CA. Това е допълнителна защита, а не задължение.
Как изглежда един CAA запис
example.com. 3600 IN CAA 0 issue "letsencrypt.org"
example.com. 3600 IN CAA 0 issue "sectigo.com"
example.com. 3600 IN CAA 0 iodef "mailto:beveiliging@example.com"CAA записът се състои от три части:
| Част | Пример | Значение |
|---|---|---|
| Флаг | 0 | Почти винаги 0. 128 означава: „ако не разбираш това правило, не издавай нищо". |
| Таг | issue | Какъв вид правило е (вижте по-долу). |
| Стойност | "letsencrypt.org" | Съответният CA, посочен чрез собствения си домейн. В кавички. |
Трите тага, които ще срещнете:
issue: този CA има право да издава обикновени сертификати (заexample.com,www.example.comи така нататък).issuewild: този CA има право да издава wildcard сертификати (*.example.com). Ако нямаissuewild, за wildcard се прилагат правилата отissue.iodef: къде CA може да изпрати известие, ако някой заяви сертификат, който според Вашия CAA не е разрешен.
Можете да имате няколко реда issue: тогава всеки посочен CA има право. Ако искате никой да не издава определен вид сертификат, използвате празна стойност: 0 issuewild ";" означава „никой няма право да издава wildcard сертификати".
Без CAA запис: всеки може
Ако Вашият домейн няма CAA запис, всеки CA може да издаде сертификат. Това е обичайната ситуация за повечето домейни и не е грешка. CAA е избор.
CA търси CAA записа при точното име на сертификата. Ако не намери нищо там, проверява едно ниво по нагоре, чак до домейна. Така CAA запис на example.com важи и за shop.example.com, освен ако shop.example.com няма собствен CAA запис.
Как CAA може да блокира Вашия сертификат
Точно затова CAA е част от курс за начинаещи: CAA запис може да доведе до това безплатният Ви сертификат вече да не се подновява, а съобщението за грешка не винаги е ясно.
Представете си: Вашият уебсайт години наред е работил със сертификат от платен CA. Тогава някой е създал CAA запис:
example.com. CAA 0 issue "sectigo.com"Сега преминавате към хостинг, който автоматично заявява сертификати от Let's Encrypt. Let's Encrypt проверява CAA, вижда, че само Sectigo има право, и отказва. Вашият сайт не получава сертификат и посетителите виждат предупреждение.
Решението: добавете CA, който ползвате в момента, или премахнете стария CAA запис, ако вече не Ви е нужен.
example.com. CAA 0 issue "sectigo.com"
example.com. CAA 0 issue "letsencrypt.org"Ако използвате услуга, която сама урежда сертификатите, като платформа за онлайн магазин или CDN, проверете кой CA използва тя и го добавете. В противен случай ще блокирате и нейния сертификат.
На практика: как изглежда в един панел
Като пример използваме DNS екрана на Моят WebOké, който има помощник за CAA с най-известните CA. В DirectAdmin, Cloudflare и повечето други панели попълвате същите три полета: флаг, таг и стойност.
- Натиснете Add Record и изберете CAA.
- Оставете името на самия домейн (
@). - Оставете флага на
0. - Изберете тага
issue. - Въведете CA, например
letsencrypt.org. - Запазете и повторете за всеки CA, който има право да издава.
Обобщение
- С CAA запис определяте кои сертификатни органи имат право да издават сертификати за Вашия домейн.
issueе за обикновени сертификати,issuewildза wildcard,iodefза известия.- Липса на CAA запис означава: всеки CA може. Това е нормално.
- CAA запис на домейна важи и за поддомейни без собствен CAA.
- Забравен CAA запис може да блокира нов или подновен сертификат. Добавете CA, който използвате в момента.
Тест
Задача
Задача Z5.2: Проверка на CAA. Проверете CAA записите на wikipedia.org. Кои сертификатни органи имат право да издават сертификати според правилата issue? Въведете ги всички.
Задача O5.2: Самостоятелно настройване във Вашата тренировъчна зона. Създайте в тренировъчната си зона на името на самата зона (@) два CAA записа:
0 issue ";"0 iodef "mailto:abuse@dnspractice.eu"
Първият ред означава: никой няма право да издава сертификати за това име. В тренировъчната зона това е напълно правилно: там не работи истински уебсайт, значи не трябва да има и сертификат, и така никой не може да злоупотреби с тренировъчната зона, за да получи сертификат. При Вашия истински домейн никога не правите това, ако използвате https; там посочвате CA, които действително използвате, например 0 issue "letsencrypt.org". Правилото iodef в тренировъчната зона сочи към адреса за известия на тренировъчната среда; при Вашия истински домейн въвеждате собствения си адрес.
След това натиснете Проверка.
Задача O5.2
Тази задача изпълнявате във Вашата собствена тренировъчна зона: истинска DNS зона на DNS сървърите на WebOké, само за Вас. Впишете се с Вашия имейл адрес. Ще получите линк за вход по имейл и след това ще се върнете на този урок. Използваме Вашия адрес само за курса.
Допълнително четене
Тези статии описват стъпките в панелите на WebOké; в други панели действието е сходно.
