Czym jest DNSSEC? Rozszerzenia bezpieczeństwa DNS wyjaśnione

DNSSEC (DNS Security Extensions) to zestaw rozszerzeń dodających kryptograficzne uwierzytelnianie do odpowiedzi DNS. Bez DNSSEC atakujący może sfałszować odpowiedzi DNS i przekierować ruch na złośliwe serwery — technika znana jako zatruwanie cache DNS.

Łańcuch zaufania DNSSEC. rootDNSKEYDS.comDS → DNSKEYDSexample.comDNSKEY → RRSIG
Każdy poziom podpisuje klucz poziomu niżej, aż od samego roota.

Problem, który rozwiązuje DNSSEC

Standardowy DNS zaprojektowano bez myślenia o bezpieczeństwie. Gdy Twój komputer pyta „jaki jest adres IP bank.com?", ufa dowolnej otrzymanej odpowiedzi. Atakujący ustawiony między Tobą a serwerem DNS może wstrzyknąć fałszywą odpowiedź, przekierowując Cię na stronę phishingową.

DNSSEC rozwiązuje to, sprawiając, że strefy DNS podpisują swoje rekordy kluczem prywatnym. Resolvery mogą zweryfikować podpis odpowiadającym kluczem publicznym, upewniając się, że odpowiedź pochodzi od prawowitego właściciela strefy.

Jak działa DNSSEC

  1. Właściciel strefy generuje parę kluczy (rekordy DNSKEY) i podpisuje wszystkie rekordy DNS kluczem prywatnym, tworząc rekordy RRSIG
  2. Klucz publiczny (DNSKEY) jest publikowany w DNS
  3. Skrót klucza publicznego (rekord DS) jest przesyłany do strefy nadrzędnej (.com, .org itd.)
  4. Strefa nadrzędna również jest podpisana, aż do strefy root
  5. Gdy resolver otrzymuje odpowiedź DNS, podąża łańcuchem zaufania od strefy root w dół, by zweryfikować podpisy

Typy rekordów DNSSEC

Typ rekorduCel
DNSKEYPubliczny klucz podpisujący strefy
DSSkrót DNSKEY strefy podrzędnej, przechowywany w strefie nadrzędnej
RRSIGKryptograficzny podpis zestawu rekordów DNS
NSEC / NSEC3Dowód, że rekord nie istnieje (denial of existence)

Łańcuch zaufania

DNSSEC tworzy łańcuch zaufania od strefy root do pojedynczych domen:

Root zone (.) ← Trust anchor, key is published by IANA
  └─ .com zone ← Signed, DS record in root zone
       └─ example.com ← Signed, DS record in .com zone
            └─ DNS records ← Signed with example.com's key

Klucz strefy root ("kotwica zaufania") jest wbudowany w resolvery walidujące DNSSEC. To punkt startowy całej weryfikacji.

DNSSEC NIE szyfruje ruchu

Powszechne błędne przekonanie: DNSSEC uwierzytelnia odpowiedzi DNS, ale nie szyfruje ich. Zapytania i odpowiedzi DNS wciąż są wysyłane w postaci jawnego tekstu. Dla prywatności użyj:

  • DNS-over-HTTPS (DoH) — szyfruje ruch DNS przez HTTPS
  • DNS-over-TLS (DoT) — szyfruje ruch DNS przez TLS

Jak włączyć DNSSEC dla swojej domeny

  1. Sprawdź, czy Twój dostawca DNS obsługuje podpisywanie DNSSEC
  2. Włącz podpisywanie DNSSEC w panelu dostawcy DNS
  3. Twój dostawca generuje rekordy DNSKEY i podpisuje strefę
  4. Skopiuj wartości rekordu DS pokazane przez dostawcę DNS
  5. Prześlij rekord DS do rejestratora domeny (zwykle przez jego panel)
  6. Poczekaj na propagację (może potrwać do 48 godzin)

Sprawdź status DNSSEC

Wypróbuj na swojej domenie

Zobacz teorię w praktyce — uruchom Sprawdzanie DNSSEC dla własnej domeny.