DNSSEC adaugă un nivel suplimentar de securitate sistemului DNS și permite verificarea autenticității răspunsurilor primite atunci când un utilizator încearcă să acceseze un domeniu.
Fără DNSSEC, un resolver DNS primește informații precum adresa IP asociată unui domeniu, însă protocolul DNS clasic nu a fost proiectat inițial cu un mecanism criptografic prin care să demonstreze că răspunsul primit este exact cel publicat de administratorul domeniului.
Prin utilizarea DNSSEC, informațiile din zona DNS sunt semnate digital, iar resolverele care fac validare pot verifica dacă răspunsul este autentic și dacă nu a fost modificat pe parcurs.
În acest articol explicăm ce este DNSSEC, cum funcționează DNSKEY și DS Record, ce înseamnă lanțul de încredere și de ce o configurație DNSSEC greșită poate face un domeniu inaccesibil.
Ce este DNSSEC?
DNSSEC vine de la:
Domain Name System Security Extensions
Este o extensie a sistemului DNS care utilizează semnături digitale și criptografie cu cheie publică pentru verificarea autenticității datelor DNS.
DNSSEC nu înlocuiește DNS-ul și nu modifică rolul înregistrărilor obișnuite precum:
- A;
- AAAA;
- CNAME;
- MX;
- TXT;
- CAA.
În schimb, adaugă informații suplimentare prin care un resolver poate verifica dacă răspunsurile DNS sunt legitime.
Dacă dorești să înțelegi mai întâi modul în care funcționează sistemul DNS, poți consulta ghidul nostru Ce este DNS și cum funcționează?.
De ce a fost creat DNSSEC?
DNS-ul tradițional a fost proiectat într-o perioadă în care securitatea internetului nu avea cerințele actuale.
În mod normal, atunci când introduci în browser:
www.exemplu.ro
resolverul DNS caută adresa IP asociată domeniului și poate primi, de exemplu:
www.exemplu.ro → 192.0.2.10
Problema este că DNS-ul tradițional nu oferă singur o dovadă criptografică prin care resolverul să poată confirma că răspunsul respectiv este autentic.
Un atacator care reușește să falsifice un răspuns DNS ar putea încerca să returneze:
www.exemplu.ro → 198.51.100.55
și astfel să direcționeze utilizatorul către un alt server.
DNSSEC a fost creat tocmai pentru a permite detectarea unor astfel de modificări.
Ce este DNS spoofing?
DNS spoofing reprezintă falsificarea informațiilor DNS astfel încât un utilizator să primească un răspuns diferit de cel publicat în zona DNS legitimă.
Un scenariu simplificat ar putea fi:
Utilizator
↓
Cere IP-ul pentru exemplu.ro
↓
Primește un răspuns DNS falsificat
↓
Este trimis către un server controlat de atacator
Un astfel de atac poate fi utilizat pentru:
- redirecționarea traficului;
- imitarea unui website legitim;
- furtul datelor introduse de utilizatori;
- interceptarea anumitor comunicații;
- alte forme de atac de tip man-in-the-middle.
DNSSEC ajută resolverul să detecteze dacă informațiile DNS au fost modificate sau nu pot fi validate criptografic.
Cum funcționează DNSSEC?
DNSSEC utilizează criptografie asimetrică.
Într-un sistem de criptografie cu cheie publică există două componente importante:
- o cheie privată;
- o cheie publică.
Cheia privată este utilizată pentru generarea semnăturilor digitale, iar cheia publică este publicată în DNS și poate fi utilizată de resolvere pentru verificarea acestor semnături.
Procesul poate fi reprezentat simplificat astfel:
Zona DNS ↓ Înregistrările sunt grupate în RRsets ↓ RRsets sunt semnate digital ↓ Semnăturile sunt publicate în DNS ↓ Resolverul primește datele + semnătura ↓ Verifică semnătura folosind cheia publică ↓ Răspuns valid sau invalid
DNSSEC criptează DNS-ul?
Nu.
Este o diferență foarte importantă.
DNSSEC nu criptează cererile și răspunsurile DNS.
Rolul său este verificarea:
- autenticității datelor;
- integrității răspunsului;
- lanțului de încredere dintre domeniu și zona DNS părinte.
Un observator al traficului poate vedea în continuare ce domeniu este solicitat atunci când este utilizat DNS tradițional.
Pentru criptarea comunicației dintre client și resolver există tehnologii separate precum:
- DNS over HTTPS – DoH;
- DNS over TLS – DoT.
DNSSEC și DoH/DoT rezolvă probleme diferite și pot fi utilizate împreună.
Ce este DNSKEY?
DNSSEC introduce mai multe tipuri de înregistrări DNS suplimentare.
Una dintre cele mai importante este:
DNSKEY
Înregistrarea DNSKEY publică cheia necesară pentru validarea semnăturilor DNSSEC ale zonei.
Resolverul utilizează această cheie pentru a verifica dacă informațiile primite sunt semnate corespunzător.
Ce este RRSIG?
Înregistrarea:
RRSIG
conține semnătura digitală asociată unui set de înregistrări DNS.
De exemplu, dacă domeniul are:
exemplu.ro. A 192.0.2.10
DNSSEC poate publica alături de setul respectiv o semnătură RRSIG.
Resolverul validează semnătura utilizând DNSKEY.
Ce este DS Record?
DS – Delegation Signer este una dintre cele mai importante componente ale DNSSEC.
Înregistrarea DS este publicată în zona DNS părinte și creează legătura dintre zona părinte și cheia DNSSEC a domeniului.
Pentru un domeniu:
exemplu.ro
înregistrarea DS trebuie publicată în zona părinte:
.ro
Înregistrarea DS conține informații care permit resolverului să verifice cheia DNSKEY utilizată de domeniu.
Un DS Record conține informații precum:
- Key Tag;
- Algorithm;
- Digest Type;
- Digest.
Aceste valori trebuie să corespundă cheii DNSSEC active în zona domeniului.
De ce este necesar DS Record?
Doar semnarea zonei DNS nu este suficientă pentru a obține un lanț complet de încredere.
Resolverul trebuie să poată verifica faptul că cheia publicată de domeniu este într-adevăr cheia legitimă.
Aici intervine înregistrarea DS de la nivelul registrarului sau al zonei părinte.
Procesul poate fi privit astfel:
ROOT ↓ .ro ↓ DS pentru exemplu.ro ↓ DNSKEY exemplu.ro ↓ RRSIG ↓ A / MX / TXT / alte înregistrări
Dacă fiecare element al lanțului poate fi validat, resolverul poate avea încredere în răspunsul DNS primit.
Ce este lanțul de încredere DNSSEC?
DNSSEC utilizează un mecanism cunoscut sub numele de:
Chain of Trust – lanț de încredere.
Validarea începe de la zona DNS root:
.
Resolverele DNSSEC au configurată o cheie root considerată de încredere.
De aici, resolverul poate verifica treptat fiecare nivel DNS.
Pentru un domeniu precum:
www.exemplu.ro
procesul simplificat este:
Root (.) ↓ .ro ↓ exemplu.ro ↓ www.exemplu.ro
Zona root validează delegarea către TLD, zona TLD validează delegarea către domeniu prin DS, iar domeniul utilizează DNSKEY și semnăturile sale pentru validarea înregistrărilor DNS.
Ce se întâmplă când resolverul verifică DNSSEC?
Să presupunem că un utilizator accesează:
https://exemplu.ro
Resolverul care suportă validare DNSSEC poate realiza următorii pași:
- solicită informațiile DNS pentru domeniu;
- primește înregistrarea și semnătura asociată;
- verifică DNSKEY;
- verifică DS-ul publicat în zona părinte;
- continuă validarea până la root;
- confirmă că răspunsul este autentic.
Dacă semnăturile și lanțul sunt valide, răspunsul este acceptat.
Dacă validarea eșuează, resolverul poate refuza să returneze răspunsul utilizatorului.
Ce se întâmplă dacă cineva modifică răspunsul DNS?
Dacă un atacator modifică:
192.0.2.10
în:
198.51.100.55
semnătura digitală nu va mai corespunde datelor.
Un resolver care validează DNSSEC va putea identifica faptul că informația nu este autentică și poate refuza răspunsul.
Acesta este principalul avantaj al DNSSEC.
DNSSEC protejează toate înregistrările DNS?
DNSSEC poate proteja autenticitatea datelor publicate în zona semnată, inclusiv seturi de înregistrări precum:
- A;
- AAAA;
- MX;
- TXT;
- CNAME;
- NS;
- CAA.
DNSSEC nu schimbă însă valoarea acestor înregistrări și nu împiedică administratorul să configureze greșit zona DNS.
Dacă administratorul publică intenționat sau accidental un IP greșit, DNSSEC poate confirma că acel răspuns este autentic, dar nu poate determina dacă configurația este corectă din punct de vedere operațional.
DNSSEC și cPanel
În cPanel, administrarea DNSSEC poate fi disponibilă din:
cPanel → Domains → Zone Editor
În dreptul domeniului poate exista opțiunea:
DNSSEC
cPanel permite crearea și administrarea cheilor DNSSEC atunci când infrastructura serverului este configurată corespunzător.
Este important de reținut că disponibilitatea funcției depinde de configurația furnizorului de hosting.
cPanel suportă DNSSEC pentru serverele DNS care utilizează PowerDNS.
Cum activezi DNSSEC în cPanel?
Dacă opțiunea DNSSEC este disponibilă, accesează:
cPanel → Domains → Zone Editor → DNSSEC
Pentru domeniul dorit poți selecta:
Create Key
cPanel va genera cheia DNSSEC și va afișa informațiile necesare pentru DS Record.
Printre acestea se pot afla:
Key Tag Algorithm Digest Type Digest
Aceste informații trebuie ulterior configurate la registrarul domeniului.
Generarea cheii în cPanel nu este suficientă
Aceasta este una dintre cele mai importante reguli DNSSEC.
Dacă generezi cheia DNSSEC în cPanel, trebuie configurat și DS Record la registrarul domeniului.
Fără DS, zona poate fi semnată, însă nu există un lanț complet de încredere de la zona părinte către domeniu.
Fluxul corect este:
1. Generezi cheia DNSSEC
↓
2. Obții datele DS
↓
3. Configurezi DS la registrar
↓
4. Aștepți propagarea
↓
5. Verifici DNSSEC
Unde se configurează DS Record?
Înregistrarea DS nu se adaugă, în mod normal, ca un record obișnuit A sau TXT în aceeași zonă DNS a domeniului.
DS trebuie publicat în zona părinte, prin registrarul domeniului.
De exemplu:
Domeniu: exemplu.ro Zona DNS: serverul DNS autoritativ DS: registrar / zona .ro
Procedura exactă depinde de extensia domeniului și de registrarul utilizat.
NameBox este registrar acreditat ROTLD pentru domeniile .RO și oferă servicii de administrare a domeniilor și a zonelor DNS. Pentru o configurație DNSSEC, trebuie verificată disponibilitatea și procedura aplicabilă domeniului respectiv.
Ce se întâmplă dacă DS Record este greșit?
Aici trebuie acordată foarte multă atenție.
Dacă zona DNS utilizează o cheie, dar la registrar există un DS asociat unei alte chei, lanțul DNSSEC devine invalid.
Resolverele care validează DNSSEC pot considera răspunsurile:
BOGUS
și pot refuza rezolvarea domeniului.
Rezultatul poate fi că website-ul și serviciile asociate domeniului nu mai sunt accesibile pentru utilizatorii care folosesc resolvere cu validare DNSSEC.
Un DNSSEC configurat greșit poate face site-ul inaccesibil?
Da.
O configurație DNSSEC incorectă este diferită de situația în care DNSSEC nu este activ deloc.
Fără DNSSEC:
DNS funcționează fără validare criptografică
Cu DNSSEC configurat corect:
DNS funcționează + răspunsurile pot fi validate
Cu DNSSEC configurat greșit:
Validarea eșuează → domeniul poate deveni inaccesibil
Din acest motiv, DS Record și cheile DNSSEC trebuie gestionate cu atenție.
DNSSEC și migrarea unui website pe alt server
DNSSEC trebuie verificat în mod special înainte de migrarea zonei DNS către alt server.
Dacă vechiul server utilizează o anumită cheie DNSSEC și noul server generează o altă cheie, DS-ul existent la registrar nu va mai corespunde.
cPanel recomandă ca, înainte de transferul unui domeniu cu DNSSEC activ către alt server, DS-ul vechi să fie eliminat sau gestionat corespunzător, iar după migrare să fie publicat noul DS.
Un scenariu greșit ar fi:
Server vechi → DNSKEY A Registrar → DS pentru cheia A Migrare Server nou → DNSKEY B Registrar → încă DS pentru cheia A
În această situație validarea DNSSEC poate eșua.
Nu șterge cheia DNSSEC înainte de DS Record
Dacă dorești dezactivarea DNSSEC, ordinea operațiunilor este importantă.
Nu este recomandat să ștergi mai întâi cheia de pe server și să lași DS-ul activ la registrar.
În această situație zona părinte spune resolverului că domeniul trebuie validat prin DNSSEC, dar zona nu mai poate furniza cheia corespunzătoare.
Ordinea corectă este, în general:
1. Elimină DS Record de la registrar
↓
2. Așteaptă propagarea modificării
↓
3. Dezactivează / elimină cheia DNSSEC din zona DNS
cPanel recomandă explicit eliminarea DS-ului de la registrar înainte de ștergerea cheii DNSSEC.
Cum verifici dacă un domeniu are DNSSEC activ?
Dacă ai acces la un sistem Linux sau macOS poți utiliza comanda:
dig DS exemplu.ro
Dacă domeniul are un DS publicat în zona părinte, rezultatul poate conține informațiile Delegation Signer.
Pentru DNSKEY:
dig DNSKEY exemplu.ro
Pentru a solicita informații DNSSEC:
dig +dnssec exemplu.ro
Înlocuiește:
exemplu.ro
cu domeniul pe care dorești să îl verifici.
Exemplu de răspuns DS
Un rezultat poate avea forma:
exemplu.ro. 3600 IN DS 12345 13 2 ABCDEF...
Valorile reprezintă, în ordine:
12345 → Key Tag 13 → Algorithm 2 → Digest Type ABC... → Digest
Valorile sunt doar un exemplu și nu trebuie copiate pentru un domeniu real.
Ce înseamnă DNSSEC Secure, Insecure și Bogus?
În timpul validării poți întâlni mai multe stări.
Secure
Lanțul DNSSEC a fost validat corect.
Secure → semnăturile sunt valide
Insecure
Domeniul nu utilizează DNSSEC sau nu există un lanț DNSSEC către acesta.
Insecure → DNSSEC nu este activ pentru domeniu
Aceasta nu înseamnă automat că domeniul este compromis.
Bogus
Resolverul se aștepta la un răspuns DNSSEC valid, dar verificarea criptografică a eșuat.
Bogus → configurație DNSSEC invalidă sau răspuns nevalid
Aceasta este starea problematică și poate determina resolverul să refuze răspunsul DNS.
DNSSEC protejează împotriva phishing-ului?
Nu în mod direct.
DNSSEC poate ajuta la prevenirea redirecționării unui domeniu legitim prin falsificarea răspunsurilor DNS, dar nu poate împiedica un atacator să înregistreze un domeniu asemănător.
De exemplu, DNSSEC nu poate împiedica apariția unui domeniu precum:
nume-companie-secure.example
utilizat pentru phishing.
DNSSEC autentifică răspunsurile DNS ale domeniului protejat, nu verifică dacă website-ul este legitim sau dacă un alt domeniu este malițios.
DNSSEC protejează împotriva atacurilor DDoS?
Nu.
DNSSEC nu este o soluție de protecție DDoS.
Rolul său principal este verificarea autenticității și integrității datelor DNS.
Protecția DDoS necesită mecanisme separate la nivelul rețelei și infrastructurii.
DNSSEC înlocuiește certificatul SSL?
Nu.
DNSSEC și SSL/TLS protejează componente diferite.
| Tehnologie | Rol |
|---|---|
| DNSSEC | Verifică autenticitatea răspunsurilor DNS |
| SSL/TLS | Criptează conexiunea dintre browser și server |
| DoH / DoT | Criptează comunicația DNS dintre client și resolver |
Pentru o protecție cât mai bună, aceste tehnologii pot fi utilizate împreună.
DNSSEC afectează viteza website-ului?
DNSSEC adaugă informații suplimentare procesului de rezoluție DNS și necesită validarea semnăturilor criptografice.
În practică, impactul asupra experienței utilizatorului este de regulă redus, iar resolverele moderne sunt optimizate pentru astfel de verificări.
DNSSEC nu influențează timpul necesar PHP pentru generarea paginii, performanța bazei de date sau viteza serverului web.
DNSSEC modifică A, MX sau SPF?
Nu.
Activarea DNSSEC nu schimbă destinația website-ului sau serverul de email.
Înregistrări precum:
A AAAA MX CNAME TXT SPF DKIM DMARC
continuă să funcționeze normal.
DNSSEC adaugă mecanismul necesar pentru validarea autenticității datelor DNS.
DNSSEC și administrarea zonei DNS
DNSSEC trebuie analizat împreună cu locul în care este administrată zona DNS.
Dacă domeniul utilizează nameserverele unui provider, cheile DNSSEC trebuie generate și administrate în infrastructura DNS autoritativă respectivă.
DS Record trebuie apoi configurat prin registrarul domeniului.
Dacă dorești să înțelegi cum funcționează administrarea înregistrărilor A, CNAME, MX sau TXT, poți consulta tutorialul nostru despre administrarea zonei DNS.
Ce trebuie verificat înainte de activarea DNSSEC?
Înainte de activare este recomandat să verifici:
- unde este administrată zona DNS;
- dacă serverele DNS suportă DNSSEC;
- dacă registrarul permite configurarea DS Record;
- dacă nameserverele domeniului sunt corecte;
- dacă domeniul urmează să fie migrat în perioada imediat următoare;
- cine va administra rotația și modificarea cheilor.
DNSSEC trebuie activat numai atunci când poți administra atât partea de zonă DNS, cât și DS-ul de la registrar.
Checklist pentru activarea DNSSEC
Procesul poate fi rezumat astfel:
- verifică dacă serverele DNS suportă DNSSEC;
- generează cheia DNSSEC;
- obține valorile pentru DS Record;
- configurează DS la registrar;
- așteaptă propagarea;
- verifică DNSKEY și DS;
- testează lanțul de încredere;
- monitorizează domeniul după activare.
DNSSEC adaugă un nivel suplimentar de securitate domeniului
DNSSEC nu schimbă modul în care un website este găzduit, nu criptează traficul DNS și nu înlocuiește SSL-ul, firewall-ul sau alte soluții de securitate.
Rolul său este foarte specific: să permită unui resolver să verifice criptografic dacă informațiile DNS primite sunt autentice și nu au fost modificate.
Acest lucru este realizat prin semnături digitale, DNSKEY și prin DS Record, care leagă domeniul de zona sa părinte și construiește lanțul de încredere până la root.
Configurarea trebuie însă făcută cu atenție. Un DS Record care nu mai corespunde cheii DNSSEC poate determina resolverele care validează DNSSEC să refuze răspunsurile și poate face domeniul inaccesibil.
Dacă domeniul și serviciile DNS sunt administrate prin NameBox și dorești să utilizezi DNSSEC, poți contacta echipa tehnică pentru verificarea configurației și a opțiunilor disponibile pentru domeniul respectiv.
Pentru administrarea domeniilor .RO, .COM, .EU și a altor extensii poți consulta și pagina de înregistrare și administrare domenii NameBox.