1/50
DNS – system nazw domenowych
Cel slajdu: Slajd omawia zagadnienie „DNS – system nazw domenowych” w kontekście: Wprowadzenie do systemu DNS (Domain Name System).

Wprowadzenie do systemu DNS (Domain Name System)

Wykład poświęcony jest systemowi nazw domenowych – DNS (Domain Name System), stanowiącemu jeden z najważniejszych elementów globalnego internetu. Standard protokołu został zdefiniowany w dokumentach RFC 1034 oraz RFC 1035 (Internet Standard STD 13). Omawiamy architekturę hierarchicznej, rozproszonej bazy danych, mechanizmy translacji przyjaznych dla człowieka nazw alfanumerycznych na logiczne adresy IPv4 i IPv6, typy serwerów (root, TLD, autorytatywne, resolvery rekurencyjne) oraz formaty zapytań i odpowiedzi przesyłanych w warstwie transportowej (porty UDP i TCP 53).

DNS – system nazw domenowych: Slajd przedstawia zagadnienie Wprowadzenie do systemu DNS (Domain Name System) w ramach tematu DNS – system nazw domenowych na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
DNS - grafika tytułowa
2/50
Architektura rozproszonego systemu domen
Cel slajdu: Slajd omawia zagadnienie „Architektura rozproszonego systemu domen” w kontekście: Organizacja globalnej przestrzeni nazw.

Organizacja globalnej przestrzeni nazw

  • Bardzo duża rozproszona baza danych: zdecentralizowana, hierarchiczna i odporna na awarie pojedynczych serwerów
  • Drzewiasta struktura przestrzeni nazw (Namespace Tree):
    • Wierzchołek drzewa stanowi strefa korzenia (Root Zone), oznaczana symboliczną kropką (.)
    • Każdy węzeł reprezentuje domenę lub subdomenę zarządzaną przez autonomiczny podmiot (od organizacji ICANN po administratora domeny firmowej)
  • Brak pojedynczego punktu awarii (Single Point of Failure):
    • Żaden pojedynczy serwer na świecie nie przechowuje całej bazy danych domen
    • Awaria serwera obsługującego jedną domenę nie ma żadnego wpływu na dostępność pozostałych stref w sieci
Architektura rozproszonego systemu domen: Slajd przedstawia zagadnienie Organizacja globalnej przestrzeni nazw w ramach tematu Architektura rozproszonego systemu domen na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Architektura DNS
3/50
Szczegółowa agenda wykładu
Cel slajdu: Slajd przedstawia kolejność omawianych zagadnień i wskazuje miejsce bieżącego tematu w strukturze wykładu.

Plan zagadnień teoretycznych i warsztatowych

  • Blok I (slajdy 4–10): Struktura hierarchiczna globalnego DNS, serwery Root, domeny TLD, rejestr strefy .pl (NASK), serwery autorytatywne, notacja FQDN oraz mechanizm delegacji stref i Glue Records
  • Blok II (slajdy 11–18): Komunikacja w protokole DNS – anatomia nagłówka pakietu, flagi binarne, kody odpowiedzi RCODE, zapytania rekurencyjne a iteracyjne, rola stub resolvera i synchronizacja stref (AXFR/IXFR)
  • Blok III (slajdy 19–27): Rekordy zasobowe (Resource Records) – A, AAAA, CNAME, MX, NS, SOA, TXT (SPF/DKIM/DMARC), PTR (rDNS), SRV, CAA oraz składnia pliku strefy (Master File Format)
  • Blok IV (slajdy 28–36): Wdrożenia i diagnostyka – integracja z Active Directory, narzędzia inżynierskie (dig, nslookup, host), bezpieczeństwo (DNSSEC, zatruwanie cache), DDNS oraz architektura Split-Brain
  • Blok V (slajdy 37–50): Zagadnienia zaawansowane – metodyka troubleshooting, monitoring ruchu, Cloud DNS, konfiguracja w sieci lokalnej (MikroTik RouterOS), protokoły prywatności (DoH, DoT), Anycast, EDNS0, konteneryzacja (Kubernetes CoreDNS) oraz obrona przed atakami DDoS
Szczegółowa agenda wykładu: Slajd przedstawia zagadnienie Plan zagadnień teoretycznych i warsztatowych w ramach tematu Szczegółowa agenda wykładu bez odniesienia do implementacji; slajd porządkuje plan wykładu.
Agenda
4/50
Hierarchiczna struktura DNS
Cel slajdu: Slajd omawia zagadnienie „Hierarchiczna struktura DNS” w kontekście: Drzewo przestrzeni nazw – od korzenia do węzła końcowego.

Drzewo przestrzeni nazw – od korzenia do węzła końcowego

  • Przestrzeń nazw DNS ma strukturę odwróconego drzewa logicznego z korzeniem oznaczanym symbolem kropki (.) na samym szczycie
  • Każdy węzeł drzewa posiada etykietę tekstową (label) o długości do 63 znaków
  • Pełna ścieżka od liścia do korzenia tworzy nazwę FQDN (Fully Qualified Domain Name):
    • Przykład: serwer1.it.agh.edu.pl.
  • Ograniczenia standardu RFC 1035:
    • Maksymalna długość pojedynczej etykiety: 63 bajty (znaki)
    • Maksymalna łączna długość całej nazwy FQDN: 255 bajtów (w tym bajty długości etykiet w formacie binarnym; 253 znaki tekstowe)
    • Dozwolone znaki w tradycyjnym DNS: litery a–z (niewrażliwe na wielkość liter), cyfry 0–9 oraz łącznik (reguła LDH – Letters, Digits, Hyphen); łącznik nie może występować na początku ani na końcu etykiety
Hierarchiczna struktura DNS: Slajd przedstawia zagadnienie Drzewo przestrzeni nazw – od korzenia do węzła końcowego w ramach tematu Hierarchiczna struktura DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Hierarchia DNS
5/50
Root serwery – korzeń globalnego DNS
Cel slajdu: Slajd omawia zagadnienie „Root serwery – korzeń globalnego DNS” w kontekście: Fundament stabilności i dostępności sieci.

Fundament stabilności i dostępności sieci

  • 13 logicznych serwerów korzenia: nazwane od a.root-servers.net do m.root-servers.net (litery od A do M)
  • Dlaczego dokładnie 13?
    • Pierwotne ograniczenie protokołu UDP: maksymalny rozmiar pakietu DNS bez fragmentacji wynosił 512 bajtów (zdefiniowany w RFC 1035)
    • W 512 bajtach mieści się nagłówek odpowiedzi oraz rekordy adresowe (rekordy A) dla maksymalnie 13 serwerów wraz z nazwami
  • Rzeczywistość Anycast:
    • Każdy z 13 adresów logicznych jest w rzeczywistości ogłaszany z setek lokalizacji na całym świecie przy użyciu technologii IP Anycast (routing dynamiczny BGP)
    • Globalnie funkcjonują ponad 2000 fizycznych instancji serwerów korzenia (około 2045 we wrześniu 2026 roku według serwisu root-servers.org)
    • W Polsce instancje Anycast serwerów root (m.in. litery I, J, K, L) utrzymywane są w węzłach wymiany ruchu w Warszawie (np. w NASK PIB i węzłach IXP)
  • Oficjalny rejestr i mapa węzłów: Root Servers Database (IANA) oraz portal root-servers.org
Root serwery – korzeń globalnego DNS: Slajd przedstawia zagadnienie Fundament stabilności i dostępności sieci w ramach tematu Root serwery – korzeń globalnego DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Root serwery
6/50
Warstwa TLD – domeny najwyższego poziomu
Cel slajdu: Slajd omawia zagadnienie „Warstwa TLD – domeny najwyższego poziomu” w kontekście: Klasyfikacja domen TLD: ccTLD, gTLD, New gTLD i strefa .arpa.

Klasyfikacja domen TLD: ccTLD, gTLD, New gTLD i strefa .arpa

  • Klasyfikacja domen najwyższego poziomu (TLD – Top-Level Domain):
    • ccTLD (country code TLD): zwykle dwuliterowe domeny krajowe oparte na standardzie ISO 3166-1 alpha-2 (np. .pl dla Polski, .de dla Niemiec, .uk dla Wielkiej Brytanii); domena .eu dla Unii Europejskiej ma status rezerwy wyjątkowej i jest obsługiwana jak ccTLD
    • gTLD (generic TLD): domeny ogólne (np. .com, .org, .net, .info) oraz nowe domeny New gTLD wprowadzane od 2012 roku (np. .tech, .app, .cloud)
    • sTLD (sponsored TLD): domeny sponsorowane o rygorystycznych kryteriach rejestracji (np. .gov, .mil, .aero, .museum)
    • Infrastrukturalne / Specjalne: domena .arpa (Address and Routing Parameter Area) zdefiniowana w RFC 3172, służąca m.in. do translacji odwrotnej IPv4 (in-addr.arpa) i IPv6 (ip6.arpa)
  • Oficjalny rejestr stref TLD: Pełna lista aktywnych TLD w bazie IANA
Warstwa TLD – domeny najwyższego poziomu: Slajd przedstawia zagadnienie Klasyfikacja domen TLD: ccTLD, gTLD, New gTLD i strefa .arpa w ramach tematu Warstwa TLD – domeny najwyższego poziomu na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
TLD
7/50
Strefa .pl – polska domena krajowa
Cel slajdu: Slajd omawia zagadnienie „Strefa .PL – polska domena krajowa” w kontekście: Rejestr domeny krajowej .pl i infrastruktura NASK PIB.

Rejestr domeny krajowej .pl i infrastruktura NASK PIB

  • Rejestr domeny .pl: prowadzony przez NASK PIB (Naukowa i Akademicka Sieć Komputerowa – Państwowy Instytut Badawczy); domena .pl delegowana w 1990 roku, pod opieką zespołu NASK od 1992 roku
  • Podstawa prawna i regulacje:
    • Ustawa z dnia 12 lipca 2024 r. – Prawo komunikacji elektronicznej (Dz.U. 2024 poz. 1221) – przepisy telekomunikacyjne, kontekst nadzoru nad rynkiem łączności
    • Ustawa z dnia 5 lipca 2018 r. o krajowym systemie cyberbezpieczeństwa (tekst jednolity Dz.U. 2024 poz. 1077) – NASK PIB jako zespół CSIRT NASK
  • Infrastruktura techniczna serwerów autorytatywnych strefy .pl:
    • Rozproszony globalnie klaster Anycast: w delegacji IANA widocznych jest 6 serwerów nazw: a-dns.pl, b-dns.pl, d-dns.pl, f-dns.pl, h-dns.pl, j-dns.pl
    • Instalacje zlokalizowane w węzłach wymiany ruchu w Polsce (Warszawa, Katowice, Poznań) oraz na świecie (m.in. Frankfurt, Londyn, Amsterdam, Nowy Jork)
  • Bezpieczeństwo: strefa .pl została podpisana kryptograficznie w standardzie DNSSEC już w 2011 roku; rejestr oferuje abonentom protokół zabezpieczenia domeny (.pl DNSSEC)
  • Oficjalny serwis rejestru domeny krajowej: dns.pl – Krajowy Rejestr Domen
Strefa .PL – polska domena krajowa: Slajd przedstawia zagadnienie Rejestr domeny krajowej .pl i infrastruktura NASK PIB w ramach tematu Strefa .PL – polska domena krajowa na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Domena .pl
8/50
Serwery autorytatywne – źródło prawdy o domenie
Cel slajdu: Slajd wyjaśnia rolę serwerów autorytatywnych, czyli serwerów publikujących oficjalne dane o strefie, oraz podział na serwer główny i serwery zapasowe.

Publikacja oficjalnych informacji o strefie DNS

  • Rola serwera autorytatywnego (Authoritative Name Server):
    • Przechowuje wiążącą, oficjalną konfigurację danej strefy DNS
    • W wysyłanych odpowiedziach ustawia flagę AA = 1 (Authoritative Answer)
    • Stanowi końcowy etap ścieżki rozwiązywania nazwy domenowej
  • Podział ról serwerów w strefie:
    • Primary (Master): serwer główny przechowujący edytowalny plik strefy (lub rekordy w bazie danych); wszelkie zmiany administrator wprowadza na serwerze głównym
    • Secondary (Slave): serwery zapasowe przechowujące kopie tylko do odczytu, synchronizowane z serwerem głównym protokołem transferu strefy (AXFR albo IXFR)
  • Standard redundancji RFC 2182:
    • Wymóg utrzymywania co najmniej dwóch niezależnych serwerów autorytatywnych dla każdej domeny
    • Wymóg separacji geograficznej, sieciowej oraz autonomicznej (różne klasy adresowe IP, różne systemy autonomiczne AS, niezależne centra danych)
Serwery autorytatywne – źródło prawdy o domenie: Slajd przedstawia zagadnienie Publikacja oficjalnych informacji o strefie DNS w ramach tematu Serwery autorytatywne – źródło prawdy o domenie na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Serwery autorytatywne
9/50
FQDN – w pełni kwalifikowana nazwa domenowa
Cel slajdu: Slajd omawia zagadnienie „FQDN – w pełni kwalifikowana nazwa domenowa” w kontekście: Jednoznaczna identyfikacja węzła w drzewie DNS.

Jednoznaczna identyfikacja węzła w drzewie DNS

  • FQDN (Fully Qualified Domain Name): kompletna, absolutna nazwa domenowa jednoznacznie określająca pozycję węzła w globalnym drzewie DNS od liścia aż do korzenia
  • Kardynalna rola kropki końcowej (Trailing Dot):
    • www.example.com. – zapis absolutny (FQDN); kropka na końcu jawnie wskazuje korzeń drzewa (strefę root); nazwa nie podlega żadnemu dopełnianiu
    • www.example.com – zapis względny (Relative Name); w plikach konfiguracyjnych serwer dopisuje do niej wartość bieżącego pochodzenia (dyrektywa $ORIGIN)
  • Klasyczna pułapka konfiguracyjna w serwerze BIND9:
    • Zapis w pliku strefy example.com.: poczta.example.com IN A 192.0.2.5 (brak kropki na końcu!)
    • BIND9 automatycznie dołącza $ORIGIN, tworząc nieprawidłową nazwę: poczta.example.com.example.com.
  • Zachowanie stub resolvera: nazwy bez kropki końcowej są przez biblioteki systemowe uzupełniane o sufiksy zdefiniowane w dyrektywie search pliku /etc/resolv.conf
FQDN – w pełni kwalifikowana nazwa domenowa: Slajd przedstawia zagadnienie Jednoznaczna identyfikacja węzła w drzewie DNS w ramach tematu FQDN – w pełni kwalifikowana nazwa domenowa na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
FQDN
10/50
Delegacja stref – przekazywanie odpowiedzialności
Cel slajdu: Slajd omawia zagadnienie „Delegacja stref – przekazywanie odpowiedzialności” w kontekście: Mechanizm podziału administracyjnego w drzewie DNS.

Mechanizm podziału administracyjnego w drzewie DNS

  • Pojęcie delegacji strefy: proces, w którym zarządca strefy nadrzędnej (Parent Zone) przekazuje uprawnienia administracyjne do obsługi poddrzewa domenowego (Child Zone) wskazanym serwerom autorytatywnym
  • Kluczowe rekordy delegacji:
    • Rekordy NS (Name Server) umieszczane w strefie nadrzędnej, wskazujące nazwy serwerów autorytatywnych strefy podrzędnej
    • Przykład w strefie .pl: agh.edu.pl. IN NS dns1.agh.edu.pl.
  • Rekordy sklejające (Glue Records):
    • Rekordy adresowe (rekordy A/AAAA) serwerów nazw, publikowane w strefie nadrzędnej, gdy nazwa serwera nazw znajduje się wewnątrz delegowanej strefy
    • Rozwiązują paradoks cyklicznej zależności (kurczak i jajko): aby dowiedzieć się, gdzie jest firma.pl, resolver musiałby najpierw odpytać ns1.firma.pl, którego adresu IP nie może poznać bez uprzedniego zapytania ns1.firma.pl!
    • Strefa nadrzędna przekazuje rekord glue w sekcji Additional odpowiedzi referencyjnej
Delegacja stref – przekazywanie odpowiedzialności: Slajd przedstawia zagadnienie Mechanizm podziału administracyjnego w drzewie DNS w ramach tematu Delegacja stref – przekazywanie odpowiedzialności na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Delegacja stref
11/50
Zapytania DNS – podstawy komunikacji
Cel slajdu: Slajd omawia zagadnienie „Zapytania DNS – podstawy komunikacji” w kontekście: Jak klient komunikuje się z serwerem DNS?

Jak klient komunikuje się z serwerem DNS?

Model zapytanie-odpowiedź, port 53 UDP/TCP i struktura komunikatu

  • Protokół transportowy: zapytania i odpowiedzi DNS standardowo wykorzystują protokół UDP port 53; przy komunikatach przekraczających dopuszczalny rozmiar (tradycyjnie 512 bajtów, wg RFC 6891 EDNS0 bufor negocjowany), transferze stref (AXFR/IXFR) oraz DNSSEC następuje automatyczne przełączenie na TCP port 53 (zgodnie z RFC 7766).
  • Format wiadomości: każdy pakiet DNS (niezależnie od tego, czy jest zapytaniem, czy odpowiedzią) posiada identyczną strukturę ogólną, rozpoczynającą się od stałego 12-bajtowego nagłówka.
  • 16-bitowy identyfikator transakcji (ID / XID): losowany przez klienta unikalny numer, umożliwiający bezbłędne przyporządkowanie asynchronicznej odpowiedzi serwera do wysłanego zapytania.
  • Podział komunikatu na sekcje:
    • Question: zadane zapytanie (nazwa QNAME, typ QTYPE, klasa QCLASS=IN);
    • Answer: rekordy zasobów (RR) stanowiące bezpośrednią odpowiedź;
    • Authority: rekordy serwerów nazw (NS) wskazujące autorytety strefy;
    • Additional: informacje uzupełniające (np. adresy IP serwerów nazw – glue records, rekord pseudotypu OPT w EDNS0).
Zapytania DNS – podstawy komunikacji: Slajd przedstawia zagadnienie Jak klient komunikuje się z serwerem DNS? w ramach tematu Zapytania DNS – podstawy komunikacji na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Zapytania DNS
12/50
Flagi DNS – znaczenie bitów w nagłówku
Cel slajdu: Slajd omawia zagadnienie „Flagi DNS – znaczenie bitów w nagłówku” w kontekście: Co oznaczają flagi w nagłówku pakietu DNS?

Co oznaczają flagi w nagłówku pakietu DNS?

Identyfikacja parametrów operacji, uprawnień i kodów odpowiedzi (RCODE)

  • Pole parametrów nagłówka: 16-bitowe pole kontrolne w nagłówku DNS określa status zapytania, uprawnienia węzłów oraz ewentualne błędy wykonania.
  • Kluczowe flagi binarne:
    • QR (Query/Response): 0 = pakiet zapytania, 1 = pakiet odpowiedzi;
    • Opcode (4 bity): typ operacji: 0 = QUERY (standardowe), 4 = NOTIFY (powiadomienie o zmianie strefy), 5 = UPDATE (aktualizacja DDNS);
    • AA (Authoritative Answer): odpowiedź pochodzi z serwera będącego autorytetem dla strefy;
    • TC (Truncated): odpowiedź została obcięta z powodu przekroczenia limitu rozmiaru UDP;
    • RD (Recursion Desired): klient żąda rekurencyjnego rozwiązania nazwy;
    • RA (Recursion Available): serwer potwierdza obsługę trybu rekurencji;
    • AD (Authentic Data) / CD (Checking Disabled): flagi DNSSEC – autentyczność zweryfikowana kryptograficznie / wyłączenie walidacji na serwerze.
  • RCODE (Response Code – 4 bity): kod statusu odpowiedzi serwera:
    • 0 = NOERROR: zapytanie obsłużone pomyślnie;
    • 1 = FORMERR: błąd formatu zapytania;
    • 2 = SERVFAIL: błąd wewnętrzny serwera lub niepowodzenie walidacji DNSSEC;
    • 3 = NXDOMAIN (Non-Existent Domain): odpytywana nazwa domeny nie istnieje;
    • 4 = NOTIMP: funkcja niezaimplementowana na serwerze;
    • 5 = REFUSED: serwer odmawia obsługi (np. brak autoryzacji do rekurencji lub strefy).
Flagi DNS – znaczenie bitów w nagłówku: Slajd przedstawia zagadnienie Co oznaczają flagi w nagłówku pakietu DNS? w ramach tematu Flagi DNS – znaczenie bitów w nagłówku na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Flagi DNS
13/50
Zapytanie rekurencyjne – obsługa po stronie resolwera
Cel slajdu: Slajd omawia zagadnienie „Zapytanie rekurencyjne – obsługa po stronie resolwera” w kontekście: Tryb domyślny dla stacji roboczych i klientów końcowych.

Tryb domyślny dla stacji roboczych i klientów końcowych

Wyręczenie klienta w procesie przeszukiwania globalnego drzewa domenowego

  • Zasada działania: w zapytaniu rekurencyjnym klient końcowy (stub resolver) wysyła do serwera DNS komunikat z ustawioną flagą RD = 1 (Recursion Desired), oczekując zwrócenia gotowej odpowiedzi końcowej (rekordów zasobów) lub jednoznacznego błędu.
  • Rola resolwera rekurencyjnego: dedykowany serwer DNS (np. lokalny resolver w sieci LAN, serwer dostawcy ISP lub publiczny resolver Anycast) bierze na siebie całą złożoność procedury – wykonuje sekwencję zapytań iteracyjnych do kolejnych poziomów hierarchii (root → TLD → serwer autorytatywny).
  • Przezroczystość dla aplikacji: przeglądarka internetowa lub system operacyjny nie muszą interpretować delegacji, rekordów glue ani referencji – otrzymują bezpośrednio skojarzony adres IP.
  • Pamięć podręczna (DNS Cache): resolver buforuje każdy pobrany rekord na czas określony przez parametr TTL (Time to Live), dzięki czemu kolejne zapytania o tę samą domenę są obsługiwane z pamięci podręcznej w ułamku milisekundy.
Zapytanie rekurencyjne – obsługa po stronie resolwera: Slajd przedstawia zagadnienie Tryb domyślny dla stacji roboczych i klientów końcowych w ramach tematu Zapytanie rekurencyjne – obsługa po stronie resolwera na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Zapytanie rekurencyjne
14/50
Zapytanie iteracyjne – odsyłanie do autorytetów
Cel slajdu: Slajd omawia zagadnienie „Zapytanie iteracyjne – odsyłanie do autorytetów” w kontekście: Serwer nie szuka dalej – zwraca referencje.

Serwer nie szuka dalej – zwraca referencje

Podstawa komunikacji między resolverem a serwerami autorytatywnymi

  • Zasada działania: w zapytaniu iteracyjnym flaga rekurencji jest wyzerowana (RD = 0); odpytywany serwer DNS nie podejmuje prób przeszukiwania innych węzłów, lecz natychmiast zwraca najlepszą posiadaną odpowiedź.
  • Mechanizm referencji (Referral): jeśli serwer nie posiada rekordu w swoich strefach ani w buforze, zwraca odesłanie do serwerów z niższego poziomu hierarchii – listę rekordów NS w sekcji Authority oraz ich adresy IP (rekordy sklejające – glue records) w sekcji Additional.
  • Rygorystyczna rola serwerów Root i TLD: serwery główne (Root Servers) oraz serwery domen nadrzędnych TLD nigdy nie wykonują zapytań rekurencyjnych na rzecz klientów – odpowiadają wyłącznie iteracyjnie, wskazując delegowane strefy podrzędne.
  • Diagnostyka administratorska: narzędzie dig +trace nazwa_domeny symuluje po stronie klienta pełen proces iteracyjny od serwerów głównych aż po serwer autorytatywny.
Zapytanie iteracyjne – odsyłanie do autorytetów: Slajd przedstawia zagadnienie Serwer nie szuka dalej – zwraca referencje w ramach tematu Zapytanie iteracyjne – odsyłanie do autorytetów na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Zapytanie iteracyjne
15/50
Porównanie: rekurencja a iteracja
Cel slajdu: Slajd omawia zagadnienie „Porównanie: rekurencja a iteracja” w kontekście: Który typ zapytania jest stosowany i kiedy?

Który typ zapytania jest stosowany i kiedy?

Zestawienie cech, podział ról w architekturze i implikacje wydajnościowe

  • Podział architektoniczny: w nowoczesnych środowiskach sieciowych rozdziela się rolę serwera autorytatywnego od resolwera rekurencyjnego (zgodnie z zaleceniami BCP 140 / RFC 2870 i wytycznymi bezpieczeństwa NIST SP 800-81B).
  • Zestawienie właściwości:
    Cecha Zapytanie rekurencyjne Zapytanie iteracyjne
    Kto wykonuje pracę? Serwer DNS (resolver) w imieniu klienta Klient (resolver) pyta kolejno każdy węzeł
    Stan flagi RD RD = 1 (Recursion Desired) RD = 0 (Recursion Not Desired)
    Zwracany wynik Odpowiedź końcowa (IP/RR) lub kod błędu Najlepsza znana odpowiedź lub referencja (NS+glue)
    Pamięć podręczna (Cache) Agresywne buforowanie wyników na serwerze Brak buforowania (serwery autorytatywne nie cachują)
    Typowe zastosowanie Stacje robocze, laptopy, urządzenia IoT Komunikacja resolver ↔ Root/TLD/Autorytety
    Ryzyko bezpieczeństwa Zagrożenie atakami DDoS DNS Amplification Minimalne ryzyko (brak wzmocnienia zapytań)
Porównanie zapytań rekurencyjnych i iteracyjnych: Slajd wyjaśnia, kiedy stosuje się zapytanie rekurencyjne, a kiedy iteracyjne, oraz jak dzielą się rolami klient, resolwer i serwery autorytatywne, na przykładzie diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a przykładem implementacji jest serwer BIND 9.
Porównanie rekurencji i iteracji
16/50
Stub resolver – klient DNS w systemie operacyjnym
Cel slajdu: Slajd omawia zagadnienie „Stub resolver – klient DNS w systemie operacyjnym” w kontekście: Lokalny klient DNS zintegrowany z systemem operacyjnym.

Lokalny klient DNS zintegrowany z systemem operacyjnym

Biblioteki systemowe (glibc, Winsock), kolejność rozwiązywania nazw i systemd-resolved

  • Pojęcie stub resolwera: minimalna implementacja klienta DNS zawarta w bibliotece standardowej systemu operacyjnego (np. biblioteka C glibc w systemach GNU/Linux, ws2_32.dll / DNSAPI.dll w systemie Windows).
  • Brak autonomii: stub resolver nie posiada mechanizmu bezpośredniego przeszukiwania hierarchii DNS – jego rola ogranicza się do przyjęcia żądania od aplikacji (np. poprzez funkcję POSIX getaddrinfo()) i przekazania go w trybie rekurencyjnym do wskazanego serwera DNS.
  • Konfiguracja w systemach GNU/Linux:
    • /etc/nsswitch.conf – definiuje priorytety źródeł (np. hosts: files dns);
    • /etc/hosts – statyczna, lokalna baza odwzorowań nazw na adresy IP;
    • /etc/resolv.conf – dyrektywy nameserver, search oraz parametry options (np. timeout, attempts, ndots).
  • Współczesne rozwiązania buforujące: usługa systemd-resolved w nowoczesnych dystrybucjach Linux udostępnia lokalny stub listener na adresie 127.0.0.53:53, integrując pamięć podręczną DNS, obsługę mDNS, LLMNR oraz mechanizmy DNS-over-TLS (DoT).
Stub resolver – klient DNS w systemie operacyjnym: Slajd przedstawia zagadnienie Lokalny klient DNS zintegrowany z systemem operacyjnym w ramach tematu Stub resolver – klient DNS w systemie operacyjnym na przykładach poleceń oraz diagnostyki w systemach Linux, Windows i RouterOS. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Stub resolver
17/50
Serwer autorytatywny – nadrzędne źródło prawdy dla strefy
Cel slajdu: Slajd wyjaśnia rolę serwera autorytatywnego jako źródła oficjalnych danych o strefie oraz różnicę między serwerem głównym i serwerem zapasowym.

Publikuje oficjalne, wiążące informacje o domenie

Rola serwera Primary (Master) i Secondary (Slave) w architekturze DNS

  • Definicja serwera autorytatywnego: serwer DNS przechowujący oryginalny, kompletny i prawnie wiążący plik strefy (bądź bazę danych) dla danej przestrzeni nazw.
  • Znacznik autorytatywności: w każdej wysyłanej odpowiedzi zawierającej rekordy z własnej strefy serwer ustawia flagę AA = 1 (Authoritative Answer) w nagłówku DNS.
  • Brak rekurencji: serwer autorytatywny w bezpiecznej konfiguracji nie rozwiązuje nazw obcych domen – zna wyłącznie rekordy własnych stref, odpowiadając na zapytania klientów zewnętrznych i resolverów.
  • Hierarchia ról serwerów:
    • Primary (Master): serwer nadrzędny, na którym administrator wprowadza zmiany (plik strefy edytowalny do zapisu);
    • Secondary (Slave): serwery zapasowe (kopie tylko do odczytu), które synchronizują zawartość strefy z serwerem Primary za pomocą mechanizmu transferu strefy (AXFR/IXFR);
    • Wymóg redundancji: standardy ICANN oraz IANA (RFC 2182) wymagają obecności co najmniej dwóch geograficznie i topologicznie niezależnych serwerów autorytatywnych dla każdej zarejestrowanej domeny.
Serwer autorytatywny – nadrzędne źródło prawdy dla strefy: Slajd wyjaśnia publikowanie oficjalnych, wiążących danych o strefie DNS w ramach tematu Serwer autorytatywny – nadrzędne źródło prawdy dla strefy na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Serwer autorytatywny
18/50
Numer seryjny (Serial Number) i transfer strefy
Cel slajdu: Slajd omawia zagadnienie „Numer seryjny (Serial Number) i transfer strefy” w kontekście: Jak serwer Secondary dowiaduje się o aktualizacji danych?

Jak serwer Secondary dowiaduje się o aktualizacji danych?

Synchronizacja strefy między Primary i Secondary (AXFR, IXFR, NOTIFY, TSIG)

  • Rola numeru seryjnego: 32-bitowa liczba całkowita w rekordzie SOA (Start of Authority); każda edycja pliku strefy wymaga bezwzględnego zwiększenia wartości serial, aby serwery zapasowe zainicjowały pobranie zmian.
  • Konwencja zapisu numeru seryjnego: standardem branżowym jest format YYYYMMDDNN (np. 2026100101 oznacza pierwszą modyfikację z dnia 1 października 2026 r.); arytmetyka numerów seryjnych podlega ścisłym regułom cyklicznym (RFC 1982).
  • Mechanizm DNS NOTIFY (RFC 1996): po przeładowaniu strefy serwer Primary natychmiast wysyła pakiet NOTIFY do serwerów Secondary, eliminując opóźnienia wynikające z oczekiwania na upłynięcie czasu parametru Refresh.
  • Protokoły transferu strefy:
    • AXFR (Authoritative Zone Transfer – RFC 5936): pełny transfer całej strefy realizowany przez połączenie TCP port 53;
    • IXFR (Incremental Zone Transfer – RFC 1995): transfer przyrostowy – przesyłana jest wyłącznie różnica (rekordy dodane i usunięte).
  • Bezpieczeństwo transferu: uwierzytelnianie kryptograficzne za pomocą kluczy symetrycznych TSIG (RFC 2845) oraz restrykcyjne listy kontroli dostępu allow-transfer w celu ochrony przed wyciekiem topologii sieci (reconnaissance).
Numer seryjny i transfer strefy (ang. Serial Number): Slajd przedstawia zagadnienie Jak serwer Secondary dowiaduje się o aktualizacji danych? w ramach tematu Numer seryjny (Serial Number) i transfer strefy na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Serial number i transfer strefy
19/50
Rekord A – mapowanie nazwy hosta na adres IPv4
Cel slajdu: Slajd omawia zagadnienie „Rekord A – mapowanie nazwy hosta na adres IPv4” w kontekście: Podstawowy rekord adresowy w protokole IPv4.

Podstawowy rekord adresowy w protokole IPv4

Składnia, konwencje zapisu i równoważenie obciążenia (Round-Robin DNS)

  • Rola rekordu A (Address): łączy w pełni kwalifikowaną nazwę domenową (FQDN) z 32-bitowym adresem IPv4 zapisanym w notacji kropkowo-dziesiętnej (zgodnie z RFC 1035).
  • Składnia rekordu w pliku strefy:
    www.example.com.   3600   IN   A   192.0.2.1
    poczta              1800   IN   A   198.51.100.25
    Jeśli nazwa nie kończy się kropką, serwer automatycznie dołącza wartość bieżącej domeny określonej dyrektywą $ORIGIN.
  • Relacja jeden-do-wielu (Round-Robin DNS): przypisanie wielu rekordów A do pojedynczej nazwy domenowej powoduje, że serwer DNS zmienia cyklicznie kolejność zwracanych adresów IP, zapewniając prosty mechanizm równoważenia obciążenia między węzłami.
  • Relacja wiele-do-jednego (Wirtualny hosting): wiele różnych nazw domenowych może wskazywać na ten sam adres IPv4, co umożliwia współdzielenie zasobów fizycznego serwera HTTP/HTTPS za pośrednictwem nagłówka Host (oraz rozszerzenia TLS SNI).
  • Odpowiednik dla protokołu IPv6: rekord AAAA (Quad-A – RFC 3596) przechowujący 128-bitowy adres IPv6 (np. 2001:db8::1).
Rekord A – mapowanie nazwy hosta na adres IPv4: Slajd przedstawia zagadnienie Podstawowy rekord adresowy w protokole IPv4 w ramach tematu Rekord A – mapowanie nazwy hosta na adres IPv4 na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Rekord A
20/50
Rekord CNAME – aliasowanie nazw domenowych
Cel slajdu: Slajd omawia zagadnienie „Rekord CNAME – aliasowanie nazw domenowych” w kontekście: Wiele nazw logicznych dla jednego obiektu.

Wiele nazw logicznych dla jednego obiektu

Reguła wyłączności CNAME (RFC 1034/RFC 2181) i problem wierzchołka strefy (Zone Apex)

  • Rola rekordu CNAME (Canonical Name): definiuje alias, przekierowując zapytanie z nazwy alternatywnej na właściwą nazwę kanoniczną (rekord A, AAAA lub inny węzeł).
    ftp.example.com.    3600   IN   CNAME   sftp.example.com.
    sftp.example.com.   3600   IN   A       192.0.2.50
  • Podstawowe reguły IETF (RFC 1034, RFC 2181):
    • Rekord CNAME musi wskazywać na inną nazwę domenową, a nigdy bezpośrednio na adres IP;
    • Reguła wyłączności: jeśli dla danej nazwy istnieje rekord CNAME, pod tą nazwą nie może współistnieć żaden inny rekord (ani A, ani MX, ani TXT – wyjątkiem są rekordy DNSSEC: RRSIG i NSEC/NSEC3);
    • Należy unikać łańcuchowania aliasów (CNAME → CNAME → A), ponieważ zwiększa to opóźnienia i obciąża resolwery.
  • Problem wierzchołka strefy (Zone Apex / Naked Domain): wierzchołek strefy (np. example.com) obowiązkowo zawiera rekordy SOA oraz NS – wskutek reguły wyłączności nie można utworzyć rekordu CNAME dla domeny głównej.
  • Nowoczesne obejścia techniczne: mechanizmy CNAME Flattening (Cloudflare), rekordy pseudotypu ALIAS / ANAME na serwerach DNS oraz rekordy HTTPS / SVCB (RFC 9460).
Rekord CNAME – aliasowanie nazw domenowych: Slajd przedstawia zagadnienie Wiele nazw logicznych dla jednego obiektu w ramach tematu Rekord CNAME – aliasowanie nazw domenowych na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Rekord CNAME
21/50
Rekord MX – routing poczty elektronicznej
Cel slajdu: Slajd omawia zagadnienie „Rekord MX – routing poczty elektronicznej” w kontekście: Który serwer odbiera pocztę dla danej domeny?

Który serwer odbiera pocztę dla danej domeny?

Wskazywanie serwerów pocztowych (MTA), priorytety (wagi) i standard RFC 5321

  • Rola rekordu MX (Mail Exchange): wskazuje agenta transferu poczty (MTA – Mail Transfer Agent) uprawnionego do przyjmowania przesyłek pocztowych w imieniu danej domeny (zgodnie ze standardem SMTP w RFC 5321).
  • Składnia rekordu i parametr preferencji:
    example.com.   3600   IN   MX   10   mail1.example.com.
    example.com.   3600   IN   MX   20   mail2.example.com.
    Wartość liczbowa (10, 20) określa priorytet serwera – im niższa wartość liczbowa, tym wyższy priorytet (pierwszeństwo obsługi). Serwer o wyższym numerze pełni funkcję serwera zapasowego (backup MX).
  • Rygorystyczne wymagania standardu: cel rekordu MX musi wskazywać bezpośrednio na węzeł posiadający rekord adresowy (A lub AAAA); wskazywanie aliasu CNAME w rekordzie MX jest zabronione przez RFC 2181 i prowadzi do odrzucania poczty.
  • Null MX (RFC 7505): wpis w postaci example.com. IN MX 0 . jednoznacznie deklaruje, że domena w ogóle nie obsługuje poczty e-mail, co zapobiega generowaniu spamu ze sfałszowanych adresów zwrotnych (backscatter).
Rekord MX – routing poczty elektronicznej: Slajd przedstawia zagadnienie Który serwer odbiera pocztę dla danej domeny? w ramach tematu Rekord MX – routing poczty elektronicznej na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Rekord MX
22/50
Rekord NS – delegacja stref w hierarchii DNS
Cel slajdu: Slajd omawia zagadnienie „Rekord NS – delegacja stref w hierarchii DNS” w kontekście: Jak przekazywane są uprawnienia do zarządzania poddrzewem?

Jak przekazywane są uprawnienia do zarządzania poddrzewem?

Przekazywanie uprawnień autorytatywnych i unikanie błędów delegacji (Lame Delegation)

  • Rola rekordu NS (Name Server): wskazuje serwery autorytatywne odpowiedzialne za obsługę danej strefy DNS, stanowiąc mechanizm delegacji uprawnień w hierarchicznym drzewie domenowym.
  • Podwójna obecność w architekturze:
    • W strefie nadrzędnej (Parent Zone, np. .pl) – rekordy NS wskazują delegację do strefy podrzędnej;
    • W wierzchołku strefy podrzędnej (Child Zone Apex, np. firma.pl) – rekordy NS potwierdzają własne serwery autorytatywne.
  • Rekordy sklejające (Glue Records): jeśli nazwa serwera nazw znajduje się wewnątrz delegowanej domeny (np. serwerem dla firma.pl jest ns1.firma.pl), strefa nadrzędna musi opublikować rekordy adresowe A/AAAA tego serwera, aby uniknąć nierozwiązywalnego zapętlenia (paradoks kury i jajka).
  • Kulawe delegacje (Lame Delegation): krytyczny błąd konfiguracji występujący, gdy rekord NS w strefie nadrzędnej wskazuje na serwer, który nie istnieje, nie odpowiada lub nie posiada autorytatywnej konfiguracji dla wskazanej strefy.
Rekord NS – delegacja stref w hierarchii DNS: Slajd przedstawia zagadnienie Jak przekazywane są uprawnienia do zarządzania poddrzewem? w ramach tematu Rekord NS – delegacja stref w hierarchii DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Rekord NS
23/50
Rekord SOA – nagłówek i metadane strefy DNS
Cel slajdu: Slajd omawia zagadnienie „Rekord SOA – nagłówek i metadane strefy DNS” w kontekście: Start of Authority – metryka i parametry strefy DNS.

Start of Authority – metryka i parametry strefy DNS

Parametry operacyjne strefy, MNAME, RNAME oraz buforowanie negatywne (RFC 2308)

  • Rola rekordu SOA (Start of Authority): bezwzględnie pierwszy rekord w każdej strefie DNS; definiuje globalne parametry strefy, identyfikuje serwer główny oraz określa reguły synchronizacji dla serwerów zapasowych.
  • Struktura rekordu SOA:
    example.com.  IN  SOA  ns1.example.com.  hostmaster.example.com. (
                           2026100101 ; Serial
                           86400      ; Refresh (24h)
                           7200       ; Retry (2h)
                           3600000    ; Expire (1000h ~ 41 dni)
                           3600 )     ; Minimum TTL (Negative Caching - 1h)
  • Wyjaśnienie parametrów:
    • MNAME: główny serwer autorytatywny (Primary Master) dla strefy;
    • RNAME: adres e-mail administratora (znak @ zastąpiony pierwszą kropką, np. hostmaster@example.com);
    • Serial: numer wersji strefy (inkrementowany przy każdej zmianie);
    • Refresh: interwał odpytywania serwera Master przez serwery Slave;
    • Retry: czas oczekiwania na ponowną próbę kontaktu w przypadku błędu;
    • Expire: maksymalny czas, po którym serwer Slave przestaje odpowiadać na zapytania, jeśli utracił kontakt z Masterem;
    • Minimum (RFC 2308): czas buforowania odpowiedzi negatywnych (NXDOMAIN) w pamięciach podręcznych resolwerów.
Rekord SOA – nagłówek i metadane strefy DNS: Slajd przedstawia zagadnienie Start of Authority – metryka i parametry strefy DNS w ramach tematu Rekord SOA – nagłówek i metadane strefy DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Rekord SOA
24/50
Rekord TXT – dane tekstowe i ochrona poczty
Cel slajdu: Slajd omawia zagadnienie „Rekord TXT – dane tekstowe i ochrona poczty” w kontekście: Uniwersalny kontener metadanych w architekturze DNS.

Uniwersalny kontener metadanych w architekturze DNS

Uwierzytelnianie domenowe (SPF, DKIM, DMARC) oraz weryfikacja własności usług

  • Rola rekordu TXT (Text Resource Record): umożliwia powiązanie dowolnego ciągu znaków tekstowych (ciągów ASCII/UTF-8) z nazwą domenową (zdefiniowany w RFC 1035 i uaktualniony w RFC 1464).
  • Ograniczenia formatu: pojedynczy ciąg tekstowy może zawierać do 255 bajtów; dłuższe wpisy dzieli się w pliku strefy na wiele łańcuchów w cudzysłowach, które klient automatycznie łączy w jedną całość (do limitu wielkości pakietu DNS).
  • Kluczowe zastosowania we współczesnym Internecie:
    • SPF (Sender Policy Framework – RFC 7208): publikacja listy dozwolonych adresów IP serwerów wysyłających pocztę z danej domeny:
      example.com.  IN  TXT  "v=spf1 ip4:192.0.2.0/24 include:_spf.google.com -all"
    • DKIM (DomainKeys Identified Mail – RFC 6376): publikacja klucza publicznego służącego do weryfikacji kryptograficznego podpisu nagłówków wiadomości e-mail (np. pod selektorem s2026._domainkey.example.com);
    • DMARC (RFC 7489): polityka postępowania z wiadomościami naruszającymi reguły SPF/DKIM oraz raportowanie naruszeń (rekord publikowany pod etykietą _dmarc.example.com);
    • Weryfikacja własności domen: tokeny weryfikacyjne dla usług chmurowych (Google Workspace, Microsoft 365) oraz certyfikatów ACME Let's Encrypt (rekordy wyzwania _acme-challenge w standardzie RFC 8555).
Rekord TXT – dane tekstowe i ochrona poczty: Slajd przedstawia zagadnienie Uniwersalny kontener metadanych w architekturze DNS w ramach tematu Rekord TXT – dane tekstowe i ochrona poczty na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Rekord TXT
25/50
Rekord PTR – odwrotne odwzorowanie (Reverse DNS)
Cel slajdu: Slajd omawia zagadnienie „Rekord PTR – odwrotne odwzorowanie (Reverse DNS)” w kontekście: Mapowanie adresu IP na nazwę domenową.

Mapowanie adresu IP na nazwę domenową

Specjalne domeny in-addr.arpa i ip6.arpa, rola w poczcie e-mail i standard FCrDNS

  • Rola rekordu PTR (Pointer): wykonuje odwrotne mapowanie adresowo-nazwowe – przyporządkowuje adresowi IP jego kanoniczną nazwę domenową FQDN (lustrzane odbicie rekordu A/AAAA).
  • Struktura przestrzeni odwrotnej w IPv4 (in-addr.arpa):
    • Oktety adresu IPv4 zapisuje się w odwróconej kolejności, ponieważ hierarchia DNS czytana jest od prawej do lewej (od najbardziej ogólnej do szczegółowej);
    • Dla adresu 192.0.2.10 powstaje nazwa w strefie in-addr.arpa:
      10.2.0.192.in-addr.arpa.   3600   IN   PTR   mail.example.com.
  • Odwrotne odwzorowanie w IPv6 (ip6.arpa – RFC 3596): Każdy 4-bitowy nibble (cyfra szesnastkowa) pełnego 128-bitowego adresu IPv6 rozdzielany jest kropkami i zapisywany w porządku odwrotnym pod domeną ip6.arpa.
  • Zastosowanie i sprawdzanie zwrotne FCrDNS: serwery pocztowe zwykle wymagają poprawnej konfiguracji Forward-Confirmed reverse DNS – rekord PTR adresu IP musi wskazywać na nazwę, która z kolei w rekordzie A wskazuje dokładnie ten sam adres IP.
Rekord PTR – odwrotne odwzorowanie (ang. Reverse DNS): Slajd przedstawia zagadnienie Mapowanie adresu IP na nazwę domenową w ramach tematu Rekord PTR – odwrotne odwzorowanie (Reverse DNS) na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Rekord PTR
26/50
Specjalistyczne rekordy DNS – SRV, CAA, TLSA, SSHFP
Cel slajdu: Slajd omawia zagadnienie „Specjalistyczne rekordy DNS – SRV, CAA, TLSA, SSHFP” w kontekście: Zaawansowane typy rekordów w nowoczesnych sieciach.

Zaawansowane typy rekordów w nowoczesnych sieciach

Lokalizacja usług, autoryzacja ośrodków certyfikacji (CAA) i wiązanie kluczy TLS (DANE)

  • Rekord SRV (Service Locator – RFC 2782): umożliwia precyzyjne lokalizowanie usług w sieci bez konieczności kodowania portów w aplikacjach:
    _sip._tcp.example.com.   3600   IN   SRV   10   60   5060   sipserver.example.com.
    Pola rekordu: _usługa._protokół.domena, priorytet, waga (weight), port TCP/UDP oraz docelowy FQDN hosta. Kluczowy komponent usług Active Directory, telefonii VoIP SIP oraz protokołu XMPP.
  • Rekord CAA (Certification Authority Authorization – RFC 8659): wskazuje urzędy certyfikacji (CA) uprawnione do wystawiania certyfikatów TLS/SSL dla danej domeny:
    example.com.   3600   IN   CAA   0   issue   "letsencrypt.org"
    Chroni przed wystawieniem nieautoryzowanego certyfikatu przez skompromitowane zewnętrzne CA.
  • Rekord TLSA (DANE – RFC 6698): wiąże certyfikat TLS serwera z rekordem DNS zabezpieczonym przez DNSSEC, eliminując zależność od publicznych urzędów certyfikacji.
  • Rekord SSHFP (RFC 4255): publikuje skrót (fingerprint) klucza publicznego serwera SSH, zapobiegając atakom typu Man-in-the-Middle przy pierwszym logowaniu.
Specjalistyczne rekordy DNS – SRV, CAA, TLSA, SSHFP: Slajd przedstawia zagadnienie Zaawansowane typy rekordów w nowoczesnych sieciach w ramach tematu Specjalistyczne rekordy DNS – SRV, CAA, TLSA, SSHFP na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Rekordy DNS
27/50
Składnia pliku strefy – Master File Format i FQDN
Cel slajdu: Slajd omawia zagadnienie „Składnia pliku strefy – Master File Format i FQDN” w kontekście: Jak poprawnie redagować pliki strefy BIND / RFC 1035?

Jak poprawnie redagować pliki strefy BIND / RFC 1035?

Dyrektywy $ORIGIN, $TTL, znak @ oraz kardynalne znaczenie kropki kończącej nazwę

  • Format pliku strefy (Master File Format): standardowy format tekstowy zdefiniowany w RFC 1035 sekcja 5, powszechnie stosowany w serwerach BIND9, NSD, Knot DNS oraz PowerDNS.
  • Kluczowe dyrektywy kontrolne:
    • $ORIGIN domena. – określa bieżący kontekst domenowy doklejany do nazw względnych;
    • $TTL czas – definiuje domyślny czas życia (Time To Live) dla kolejnych rekordów;
    • @ – symbol skrótowy oznaczający bieżącą wartość dyrektywy $ORIGIN (wierzchołek strefy).
  • Kardynalne znaczenie kropki końcowej (Trailing Dot):
    • Nazwa z kropką na końcu: pełna, bezwzględna nazwa domenowa (FQDN – Fully Qualified Domain Name, np. www.example.com.) – serwer nie modyfikuje jej w żaden sposób;
    • Nazwa bez kropki na końcu: nazwa względna – serwer automatycznie dokleja do niej wartość $ORIGIN!
  • Klasyczny błąd administratora: wpisanie www.example.com IN A 192.0.2.1 (brak kropki po com w strefie example.com.) powoduje zinterpretowanie nazwy jako www.example.com.example.com.!
Składnia pliku strefy – Master File Format i FQDN: Slajd przedstawia zagadnienie Jak poprawnie redagować pliki strefy BIND / RFC 1035? w ramach tematu Składnia pliku strefy – Master File Format i FQDN na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
FQDN
28/50
DNS w systemie Windows Server i Active Directory
Cel slajdu: Slajd omawia zagadnienie „DNS w systemie Windows Server i Active Directory” w kontekście: Krytyczny fundament usług katalogowych Microsoft.

Krytyczny fundament usług katalogowych Microsoft

Strefy zintegrowane z AD (AD-Integrated), bezpieczne aktualizacje (Secure DDNS) i rekordy SRV

  • Rola DNS w Active Directory Domain Services (AD DS): usługa DNS jest niezbędnym warunkiem działania domeny Windows; stacje robocze i serwery członkowskie odnajdują kontrolery domeny (DC) wyłącznie za pośrednictwem rekordów SRV w strefie DNS:
    • _ldap._tcp.dc._msdcs.domena.local – lokalizacja kontrolerów domeny (port 389);
    • _kerberos._tcp.domena.local – serwery uwierzytelniania Kerberos KDC (port 88);
    • _gc._tcp.domena.local – serwery katalogu globalnego Global Catalog (port 3268).
  • Strefy zintegrowane z AD (Active Directory-Integrated Zones):
    • Baza strefy nie jest plikiem tekstowym, lecz partycją katalogową replikowaną za pomocą protokołu multimaster AD replication (brak pojedynczego punktu awarii – każdy kontroler domeny jest zapisywalnym serwerem DNS);
    • Zapewniają szyfrowanie replikacji i ścisłe listy uprawnień ACL na poziomie pojedynczych rekordów.
  • Bezpieczne aktualizacje dynamiczne (Secure Dynamic Updates): aktualizacja rekordów A/PTR dopuszczalna jest wyłącznie dla uwierzytelnionych w domenie komputerów przy użyciu protokołu Kerberos (GSS-TSIG).
  • Mechanizm Aging and Scavenging: automatyczne oczyszczanie bazy strefy z przestarzałych, nieodświeżanych rekordów dynamicznych pozostawionych przez wyłączone stacje robocze.
DNS w systemie Windows Server i Active Directory: Slajd przedstawia zagadnienie Krytyczny fundament usług katalogowych Microsoft w ramach tematu DNS w systemie Windows Server i Active Directory na przykładzie stref zintegrowanych z katalogiem i bezpiecznych aktualizacji dynamicznych w systemie Windows Server. Podstawę stanowią normy RFC 1034 i RFC 1035.
DNS w Windows Server
29/50
Proces rozwiązywania nazw – pełna ścieżka od przeglądarki do autorytetu
Cel slajdu: Slajd omawia zagadnienie „Proces rozwiązywania nazw – pełna ścieżka od przeglądarki do autorytetu” w kontekście: Co dzieje się od wciśnięcia klawisza Enter do nawiązania sesji?

Co dzieje się od wciśnięcia klawisza Enter do nawiązania sesji?

Krok po kroku: pamięć przeglądarki, stub resolver, pamięć podręczna systemu i resolver rekurencyjny

  • Etap 1 – Pamięć podręczna aplikacji: przeglądarka internetowa (np. Chrome, Firefox) sprawdza własny wewnętrzny bufor DNS; jeśli rekord jest w pamięci, adres IP jest dostępny natychmiast, bez zapytania do sieci.
  • Etap 2 – Stub resolver i system operacyjny:
    • Sprawdzenie lokalnego pliku /etc/hosts (lub hosts w Windows);
    • Odpytanie lokalnej pamięci podręcznej systemu (bufor systemd-resolved w Linux, usługa Dnscache w Windows).
  • Etap 3 – Zapytanie rekurencyjne do resolwera (RD = 1): pakiet UDP 53 trafia do lokalnego resolwera w sieci LAN lub serwera wskazanego przez DHCP/statycznie (np. resolver ISP, 1.1.1.1).
  • Etap 4 – Iteracyjna wędrówka resolwera po globalnym drzewie DNS:
    • Zapytanie do serwera głównego (Root Server) → odpowiedź z referencją do serwerów TLD (np. .pl) + glue records;
    • Zapytanie do serwera rejestru TLD → odpowiedź z referencją do serwerów autorytatywnych domeny (np. firma.pl);
    • Zapytanie do serwera autorytatywnego → odpowiedź końcowa zawierająca rekord A/AAAA z flagą AA = 1.
  • Etap 5 – Zapis w buforze i nawiązanie sesji: resolver cachuje wynik na czas TTL i odsyła do klienta; aplikacja rozpoczyna trójetapowy uścisk dłoni TCP (3-way handshake) oraz negocjację TLS 1.3 na porcie 443.
Proces rozwiązywania nazw – pełna ścieżka od przeglądarki do autorytetu: Slajd przedstawia zagadnienie Co dzieje się od wciśnięcia klawisza Enter do nawiązania sesji? w ramach tematu Proces rozwiązywania nazw – pełna ścieżka od przeglądarki do autorytetu na przykładach poleceń oraz diagnostyki w systemach Linux, Windows i RouterOS. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Wyszukiwanie DNS
30/50
Narzędzie dig – zaawansowana diagnostyka DNS
Cel slajdu: Slajd omawia zagadnienie „Narzędzie dig – zaawansowana diagnostyka DNS” w kontekście: Podstawowe narzędzie diagnostyczne administratora i inżyniera sieci.

Podstawowe narzędzie diagnostyczne administratora i inżyniera sieci

Analiza sekcji odpowiedzi, flag nagłówkowych i kluczowe przełączniki CLI

  • Program dig (Domain Information Groper): standardowe uniksowe narzędzie diagnostyczne (część pakietu bind9-dnsutils / bind-utils), oferujące pełny wgląd w surowe nagłówki i sekcje protokołu DNS.
  • Składnia ogólna: dig [@serwer] [nazwa_domeny] [typ_rekordu] [opcje]
  • Praktyczne warianty wywołań w pracy administratora:
    • dig example.com A – standardowe zapytanie o rekord adresowy IPv4;
    • dig @1.1.1.1 example.com MX – odpytanie konkretnego serwera o rekordy pocztowe;
    • dig -x 192.0.2.1 – automatyczne zapytanie odwrotne PTR (Reverse DNS);
    • dig +trace example.com – pełne śledzenie ścieżki iteracyjnej od serwerów root aż po serwer autorytatywny;
    • dig +short example.com – tryb zwięzły (wyłącznie czyste adresy IP, idealny do skryptów Bash);
    • dig +dnssec example.com – żądanie rekordów kryptograficznych DNSSEC (ustawia bit DO – DNSSEC OK).
  • Interpretacja wyniku: analiza statusu odpowiedzi (NOERROR, NXDOMAIN, SERVFAIL), flag nagłówka (qr, aa, rd, ra) oraz czasu zapytania (Query time).
Narzędzie dig – zaawansowana diagnostyka DNS: Slajd przedstawia zagadnienie Podstawowe narzędzie diagnostyczne administratora i inżyniera sieci w ramach tematu Narzędzie dig – zaawansowana diagnostyka DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
dig
31/50
Narzędzie nslookup – klasyczna diagnostyka DNS
Cel slajdu: Slajd omawia zagadnienie „Narzędzie nslookup – klasyczna diagnostyka DNS” w kontekście: Uniwersalne narzędzie obecne w systemach Windows i Unix.

Uniwersalne narzędzie obecne w systemach Windows i Unix

Tryb interaktywny i wsadowy, przełączniki typu rekordów oraz ograniczenia narzędzia

  • Charakterystyka nslookup (Name Server Lookup): jedno z najstarszych narzędzi diagnostycznych DNS; jego kluczowym atutem jest natywna obecność w standardowej instalacji systemów Microsoft Windows (bez konieczności doinstalowywania oprogramowania zewnętrznego).
  • Dwa tryby pracy:
    • Tryb nieinteraktywny (wsadowy):
      nslookup example.com 1.1.1.1
      nslookup -type=MX example.com
    • Tryb interaktywny: uruchamiany poleceniem nslookup, oferuje dedykowaną powłokę do wykonywania serii zapytań:
      > server 8.8.8.8
      > set type=SOA
      > example.com
      > set debug
  • Pojęcie „Non-authoritative answer”: informacja oznaczająca, że odpowiedź została pobrana z pamięci podręcznej serwera rekurencyjnego (flaga AA = 0), a nie bezpośrednio z serwera autorytatywnego dla strefy.
  • Rekomendacje inżynierskie: konsorcjum ISC oraz IETF zalecają stosowanie narzędzia dig jako rozwiązania referencyjnego na platformach POSIX ze względu na bezpośrednią zgodność z surowym protokołem DNS.
Narzędzie nslookup – klasyczna diagnostyka DNS: Slajd przedstawia zagadnienie Uniwersalne narzędzie obecne w systemach Windows i Unix w ramach tematu Narzędzie nslookup – klasyczna diagnostyka DNS na przykładach poleceń oraz diagnostyki w systemach Linux, Windows i RouterOS. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
nslookup
32/50
Narzędzie host – szybkie kwerendy DNS
Cel slajdu: Slajd omawia zagadnienie „Narzędzie host – szybkie kwerendy DNS” w kontekście: Lekkie i intuicyjne narzędzie odpytywania DNS.

Lekkie i intuicyjne narzędzie odpytywania DNS

Kompaktowa składnia, automatyzacja w skryptach powłoki i przełączniki diagnostyczne

  • Rola programu host: proste, intuicyjne narzędzie wiersza poleceń w systemach uniksowych, zaprojektowane do błyskawicznego wykonywania zapytań DNS i zwracania zwięzłych, jednolinijkowych odpowiedzi.
  • Typowe przykłady użycia w codziennej pracy:
    • host example.com – natychmiastowe wyświetlenie adresów IPv4 (A), IPv6 (AAAA) oraz serwerów pocztowych (MX);
    • host 192.0.2.1 – automatyczne wykonanie zapytania odwrotnego PTR (Reverse DNS);
    • host -t MX example.com – odpytanie wyłącznie o wskazany typ rekordu;
    • host -a example.com (odpowiednik zapytania ANY; typ ANY jest przestarzały według RFC 8482 i publiczne resolwery mogą odpowiadać okrojone) – tryb rozszerzony (odpowiednik zapytania ANY w trybie verbose, prezentujący wszystkie sekcje komunikatu i rekordy SOA/NS);
    • host example.com 1.1.1.1 – skierowanie zapytania do wskazanego serwera DNS.
  • Wykorzystanie w automatyzacji: dzięki prostemu, przewidywalnemu formatowi wyjściowemu program host jest idealnym komponentem w skryptach powłoki Bash do walidacji dostępności usług i przetwarzania potokowego (pipeline) za pomocą narzędzi grep, awk i cut.
Narzędzie host – szybkie kwerendy DNS: Slajd przedstawia zagadnienie Lekkie i intuicyjne narzędzie odpytywania DNS w ramach tematu Narzędzie host – szybkie kwerendy DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
host
33/50
Bezpieczeństwo DNSSEC – kryptograficzna ochrona strefy
Cel slajdu: Slajd omawia zagadnienie „Bezpieczeństwo DNSSEC – kryptograficzna ochrona strefy” w kontekście: Jak zabezpieczyć integralność i autentyczność danych w DNS?

Jak zabezpieczyć integralność i autentyczność danych w DNS?

Standardy RFC 4033–4035, łańcuch zaufania (Chain of Trust) i kluczowe typy rekordów

  • Podatność tradycyjnego DNS: brak kryptograficznego uwierzytelnienia pakietów UDP pozwala na fałszowanie odpowiedzi (DNS Spoofing / Cache Poisoning) i przekierowanie użytkowników na złośliwe serwery (phishing).
  • Istota DNSSEC (DNS Security Extensions – RFC 4033–4035):
    • DNSSEC nie szyfruje danych (zapytania pozostają jawne w sieci!);
    • Zapewnia uwierzytelnienie źródła (Origin Authentication) oraz integralność danych (Data Integrity) za pomocą asymetrycznego podpisu cyfrowego.
  • Nowe typy rekordów zasobów w DNSSEC:
    • RRSIG (Resource Record Signature): podpis cyfrowy dla danego zbioru rekordów (RRset);
    • DNSKEY: publiczne klucze kryptograficzne strefy – klucz podpisywania strefy ZSK oraz klucz podpisywania kluczy KSK;
    • DS (Delegation Signer): skrót kryptograficzny klucza KSK potomka umieszczony w strefie nadrzędnej (tworzy nierozerwalny łańcuch zaufania – Chain of Trust od korzenia .);
    • NSEC / NSEC3 (RFC 5155): kryptograficzny dowód nieistnienia rekordu (Authenticated Denial of Existence) chroniący przed enumeracją strefy.
  • Walidacja po stronie klienta: resolver z włączoną walidacją sprawdza podpisy i w przypadku sukcesu ustawia w nagłówku flagę AD = 1 (Authentic Data); w przypadku naruszenia integralności zwraca błąd SERVFAIL.
Bezpieczeństwo DNSSEC – kryptograficzna ochrona strefy: Slajd przedstawia zagadnienie Jak zabezpieczyć integralność i autentyczność danych w DNS? w ramach tematu Bezpieczeństwo DNSSEC – kryptograficzna ochrona strefy na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
DNSSEC
34/50
DNS Cache Poisoning i atak Kaminsky'ego
Cel slajdu: Slajd omawia zagadnienie „DNS Cache Poisoning i atak Kaminsky'ego” w kontekście: Jak zatruć pamięć podręczną resolwera DNS?

Jak zatruć pamięć podręczną resolwera DNS?

Podatność 16-bitowego Transaction ID, losowość portów źródłowych (RFC 5452) i ochrona stref

  • Zasada zatruwania pamięci podręcznej (Cache Poisoning): wprowadzenie fałszywych odwzorowań domenowo-adresowych do pamięci RAM resolwera rekurencyjnego, w wyniku czego setki lub tysiące lokalnych użytkowników zostają przekierowane na serwery kontrolowane przez przestępcę.
  • Ograniczenia klasycznego ataku podszywania (DNS Spoofing): napastnik musiał odgadnąć 16-bitowy numer transakcji (XID) i wysłać fałszywy pakiet UDP zanim nadejdzie prawdziwa odpowiedź od serwera autorytatywnego (wyścig z czasem – Race Condition).
  • Przełomowy atak Dana Kaminsky'ego (2008 r.):
    • Agresor nie pyta o właściwą domenę example.com, lecz o tysiące losowych nieistniejących subdomen (np. 1234.example.com, 1235.example.com);
    • Resolver wysyła zapytanie iteracyjne do Internetu, a agresor zalewa go tysiącami fałszywych odpowiedzi z różnymi numerami XID;
    • W wygranej odpowiedzi fałszywka umieszcza w sekcji Authority złośliwy rekord NS przejmujący kontrolę nad całą strefą example.com!
  • Mechanizmy obronne:
    • Randomizacja portu źródłowego (RFC 5452): losowanie portu UDP z puli 1024–65535 zwiększa przestrzeń entropii z 16 do ~32 bitów (4 miliardy kombinacji);
    • DNS 0x20 bit encoding: losowa wielkość liter w zapytaniu (np. wWw.FiRmA.pL);
    • Ostateczne zabezpieczenie: pełne wdrożenie walidacji kryptograficznej DNSSEC.
DNS Cache Poisoning i atak Kaminsky'ego: Slajd przedstawia zagadnienie Jak zatruć pamięć podręczną resolwera DNS? w ramach tematu DNS Cache Poisoning i atak Kaminsky'ego na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
DNS cache poisoning
35/50
Dynamic DNS (DDNS) – automatyczna aktualizacja stref
Cel slajdu: Slajd omawia zagadnienie „Dynamic DNS (DDNS) – automatyczna aktualizacja stref” w kontekście: Automatyczna modyfikacja rekordów DNS bez restartu serwera.

Automatyczna modyfikacja rekordów DNS bez restartu serwera

Standard RFC 2136, integracja z serwerami DHCP, protokół TSIG oraz narzędzie nsupdate

  • Protokół DDNS (Dynamic DNS – RFC 2136): rozszerzenie DNS umożliwiające autoryzowanym stacjom roboczym, routerom oraz serwerom DHCP dynamiczne dodawanie, usuwanie i modyfikowanie rekordów zasobów w działającej strefie w czasie rzeczywistym (komunikat DNS UPDATE, Opcode 5).
  • Integracja z serwerem DHCP:
    • Klient sieciowy otrzymuje adres IP z serwera DHCP (np. Kea, ISC DHCP, MikroTik, Windows DHCP);
    • Serwer DHCP (lub bezpośrednio klient) wysyła pakiet DDNS rejestrujący rekord A oraz odpowiadający mu rekord odwrotny PTR;
    • W ten sposób stacja robocza laptop-jnowak.corp.local staje się natychmiast widoczna w całej sieci korporacyjnej.
  • Uwierzytelnianie i autoryzacja (TSIG – RFC 2845): aktualizacje dynamiczne muszą być bezwzględnie zabezpieczone kluczem kryptograficznym HMAC (w BIND9: allow-update { key "dhcp-key"; };), aby uniemożliwić nieautoryzowanym hostom modyfikację wpisów infrastruktury.
  • Narzędzie diagnostyczne nsupdate: interaktywny i skryptowalny program narzędziowy do ręcznego lub zautomatyzowanego wprowadzania zmian w strefie DNS.
Dynamic DNS – automatyczna aktualizacja stref (ang. DDNS): Slajd przedstawia zagadnienie Automatyczna modyfikacja rekordów DNS bez restartu serwera w ramach tematu Dynamic DNS (DDNS) – automatyczna aktualizacja stref na przykładach poleceń oraz diagnostyki w systemach Linux, Windows i RouterOS. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Dynamic DNS
36/50
Rozdzielny DNS (Split-Brain / Split-Horizon DNS)
Cel slajdu: Slajd omawia zagadnienie „Rozdzielny DNS (Split-Brain / Split-Horizon DNS)” w kontekście: Zróżnicowane odpowiedzi w zależności od pochodzenia zapytania.

Zróżnicowane odpowiedzi w zależności od pochodzenia zapytania

Widoki (views) w serwerze BIND9, eliminacja problemu Hairpin NAT i izolacja stref LAN/WAN

  • Pojęcie Split-Horizon DNS: architektura, w której serwer DNS zwraca różne zestawy rekordów dla tej samej nazwy domenowej w zależności od adresu IP klienta zadającego zapytanie:
    • Klient z sieci wewnętrznej LAN: otrzymuje prywatny adres IP (np. portal.firma.pl → 10.0.1.50), łącząc się z serwerem bezpośrednio przez sieć lokalną z prędkością gigabitową;
    • Klient z sieci zewnętrznej Internet: otrzymuje publiczny adres IP (np. portal.firma.pl → 198.51.100.50), łącząc się przez zaporę sieciową i reguły DNAT.
  • Główne korzyści inżynierskie:
    • Całkowita eliminacja problemu Hairpin NAT (NAT Loopback) na routerze brzegowym;
    • Optymalizacja pasma łącz internetowych organizacji;
    • Ochrona poufności architektury wewnętrznej – ukrycie adresacji prywatnej LAN przed rekonesansem z Internetu.
  • Implementacja w oprogramowaniu BIND9: mechanizm dyrektyw view powiązanych z listami kontroli dostępu match-clients.
Rozdzielny DNS (ang. Split-Brain / Split-Horizon DNS): Slajd przedstawia zagadnienie Zróżnicowane odpowiedzi w zależności od pochodzenia zapytania w ramach tematu Rozdzielny DNS (Split-Brain / Split-Horizon DNS) na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Split-brain DNS
37/50
Diagnostyka i rozwiązywanie problemów DNS (Troubleshooting)
Cel slajdu: Slajd omawia zagadnienie „Diagnostyka i rozwiązywanie problemów DNS (Troubleshooting)” w kontekście: Metodyczne diagnozowanie i usuwanie awarii w usłudze DNS.

Metodyczne diagnozowanie i usuwanie awarii w usłudze DNS

Analiza błędów NXDOMAIN, SERVFAIL, REFUSED, przekroczeń czasu i problemów z buforem

  • Klasyfikacja najczęstszych kodów błędów:
    • NXDOMAIN: domena nie istnieje; weryfikacja literówek, ważności rejestracji w bazie WHOIS oraz delegacji w rejestrze nadrzędnym;
    • SERVFAIL: serwer nie może zrealizować zapytania; najczęstsze przyczyny: błąd walidacji DNSSEC (wygasły podpis RRSIG), brak kontaktu z serwerem autorytatywnym lub asymetria routingu MTU na łączu;
    • REFUSED: żądanie aktywnie odrzucone; błąd uprawnień na serwerze DNS (naruszenie list allow-query, allow-recursion lub allow-transfer);
    • Timeout (przekroczenie limitu czasu): brak odpowiedzi serwera; blokada portów UDP/TCP 53 na firewallu, pętla routingowa lub zawieszenie usługi named/systemd-resolved.
  • Problemy z pamięcią podręczną (DNS Cache Stale): klient otrzymuje nieaktualny rekord IP po migracji hostingu; procedury czyszczenia bufora:
    • Windows (wymaga uprawnień administratora): ipconfig /flushdns
    • Linux (systemd): resolvectl flush-caches
    • BIND9 (wymaga serwera BIND9 z programem rndc): rndc flush
    • MikroTik RouterOS: /ip dns cache flush
  • Diagnoza DNSSEC: sprawdzenie zapytania z wyłączoną walidacją: dig +cd example.com; jeśli z flagą CD odpowiedź wraca poprawnie, przyczyną awarii jest uszkodzony łańcuch kryptograficzny DNSSEC.
Diagnostyka i rozwiązywanie problemów DNS (ang. Troubleshooting): Slajd przedstawia zagadnienie Metodyczne diagnozowanie i usuwanie awarii w usłudze DNS w ramach tematu Diagnostyka i rozwiązywanie problemów DNS (Troubleshooting) na przykładach poleceń oraz diagnostyki w systemach Linux, Windows i RouterOS. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
DNS troubleshooting
38/50
Monitorowanie i analiza ruchu DNS
Cel slajdu: Slajd omawia zagadnienie „Monitorowanie i analiza ruchu DNS” w kontekście: Jak nadzorować wydajność i wykrywać cyberzagrożenia w DNS?

Jak nadzorować wydajność i wykrywać cyberzagrożenia w DNS?

Metryki wydajnościowe, narzędzia dnstop, dnstap, tcpdump oraz detekcja tunelowania DNS

  • Kluczowe metryki wydajnościowe DNS:
    • RTT (Round Trip Time): czas odpowiedzi serwera na zapytania klientów (zalecana wartość < 20–30 ms w sieciach lokalnych);
    • Współczynnik trafień bufora (Cache Hit Ratio): odsetek zapytań obsłużonych bezpośrednio z pamięci RAM resolwera (wartość docelowa > 80–90%);
    • Rozkład kodów odpowiedzi: nagły wzrost udziału kodów SERVFAIL lub NXDOMAIN sygnalizuje awarię delegacji lub infekcję złośliwym oprogramowaniem.
  • Specjalistyczne narzędzia analityczne:
    • dnstop (pakiet dodatkowy, instalowany osobno, na przykład apt install dnstop) – konsolowy analizator ruchu DNS w czasie rzeczywistym, generujący macierze zapytań według domen, typów rekordów i adresów źródłowych klientów;
    • dnstap – nowoczesny, ultrawydajny standard asynchronicznego logowania zapytań oparty na Protocol Buffers, wspierany m.in. przez BIND9, Unbound i Knot DNS;
    • tcpdump -nn -i any port 53 (zamiast any podaj nazwę interfejsu z polecenia ip link, na przykład enp0s3; wymaga uprawnień administratora) – niskopoziomowe przechwytywanie pakietów do szczegółowej inspekcji w programie Wireshark.
  • Wykrywanie tunelowania DNS (DNS Tunneling): identyfikacja techniki eksfiltracji danych ze stacji roboczych poprzez kodowanie poufnych informacji w etykietach subdomen (np. narzędzia iodine, dnscat2) z ominięciem zaporowych filtrów brzegowych.
Monitorowanie i analiza ruchu DNS: Slajd przedstawia zagadnienie Jak nadzorować wydajność i wykrywać cyberzagrożenia w DNS? w ramach tematu Monitorowanie i analiza ruchu DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
DNS monitoring
39/50
Zarządzane usługi DNS w architekturze chmurowej
Cel slajdu: Slajd omawia zagadnienie „Zarządzane usługi DNS w architekturze chmurowej” w kontekście: Ewolucja w stronę globalnych, wysoce dostępnych platform Anycast.

Ewolucja w stronę globalnych, wysoce dostępnych platform Anycast

AWS Route 53, Cloudflare DNS, Azure DNS, Google Cloud DNS i zaawansowane reguły routingu

  • Przejście do chmury: zastąpienie tradycyjnych, fizycznych serwerów DNS zarządzanymi platformami globalnymi oferującymi gwarancję dostępności SLA na poziomie 99,99% do 100% w oparciu o architekturę Anycast BGP.
  • Liderzy rynku i ich unikalne cechy:
    • AWS Route 53: głęboka integracja z ekosystemem Amazon Web Services (rekordy aliasowe dla balancerów ALB/NLB, strefy Route 53 Private Hosted Zones);
    • Cloudflare DNS: ultra-szybki resolver publiczny (1.1.1.1), zarządzanie strefami autorytatywnymi, ochrona przed atakami DDoS, maskowanie adresów IP (Reverse Proxy) oraz mechanizm CNAME Flattening w wierzchołku strefy;
    • Azure DNS & Google Cloud DNS: pełna automatyzacja stref prywatnych w sieciach wirtualnych (VNet/VPC) oraz wbudowane, bezobsługowe zarządzanie kluczami DNSSEC.
  • Zaawansowane polityki routingu DNS:
    • Routing oparty na opóźnieniach (Latency-based Routing): kierowanie klienta do centrum danych zapewniającego najniższy czas RTT;
    • Routing geolokalizacyjny (Geolocation Routing): prezentowanie różnych wersji serwisu w zależności od kraju lub kontynentu użytkownika;
    • DNS Failover z kontrolą stanu (Health Checks): automatyczne usuwanie z puli rekordów serwerów, które uległy awarii aplikacyjnej.
Zarządzane usługi DNS w architekturze chmurowej: Slajd przedstawia zagadnienie Ewolucja w stronę globalnych, wysoce dostępnych platform Anycast w ramach tematu Zarządzane usługi DNS w architekturze chmurowej na przykładzie platform AWS Route 53, Cloudflare, Azure DNS i Google Cloud DNS. Podstawę stanowią normy RFC 1034 i RFC 1035.
DNS w chmurze
40/50
DNS w sieci lokalnej i małej firmie – praktyka administratora
Cel slajdu: Slajd omawia zagadnienie „DNS w sieci lokalnej i małej firmie – praktyka administratora” w kontekście: Optymalizacja, filtrowanie i bezpieczeństwo w sieci biurowej i domowej.

Optymalizacja, filtrowanie i bezpieczeństwo w sieci biurowej i domowej

Konfiguracja MikroTik RouterOS, lokalne serwery buforujące (Pi-hole / AdGuard Home) i mDNS

  • Rola routera brzegowego jako serwera buforującego (DNS Forwarder): router pobiera adresy DNS od operatora ISP lub korzysta ze sprawdzonych publicznych resolverów Anycast (1.1.1.1, 8.8.8.8, 9.9.9.9), buforując zapytania dla urządzeń w sieci LAN.
  • Konfiguracja i twarde reguły bezpieczeństwa w MikroTik RouterOS:
    /ip dns set allow-remote-requests=yes servers=1.1.1.1,8.8.8.8 cache-size=4096KiB
    /ip firewall filter add chain=input in-interface-list=WAN protocol=udp dst-port=53 action=drop comment="Blokada Open Resolver na WAN (lista WAN musi istnieć, utwórz ją w /interface list albo użyj in-interface z nazwą portu)"
    /ip firewall filter add chain=input in-interface-list=WAN protocol=tcp dst-port=53 action=drop comment="Blokada DNS TCP na WAN"
    Kardynalna zasada: włączenie allow-remote-requests=yes wymaga zablokowania portu 53 na interfejsie WAN w firewallu, aby router nie stał się niebezpiecznym węzłem Open Resolver!
  • Blokowanie zagrożeń i telemetrii (DNS Sinkholing): wdrożenie rozwiązań takich jak Pi-hole lub AdGuard Home w sieci LAN – zapytania do domen reklamowych, śledzących i złośliwych są blokowane na poziomie zapytania DNS (zwracany adres 0.0.0.0 lub kod NXDOMAIN).
  • Automatyczne rozwiązywanie nazw lokalnych (mDNS / Zeroconf – RFC 6762): mechanizm Multicast DNS w domenie .local umożliwia bezobsługową komunikację z drukarkami sieciowymi i serwerami NAS bez konieczności stawiania dedykowanego serwera DNS.
DNS w sieci lokalnej i małej firmie – praktyka administratora: Slajd przedstawia zagadnienie Optymalizacja, filtrowanie i bezpieczeństwo w sieci biurowej i domowej w ramach tematu DNS w sieci lokalnej i małej firmie – praktyka administratora na przykładzie routera MikroTik RouterOS oraz lokalnych filtrów Pi-hole i AdGuard Home.
DNS w domu
41/50
DNS API i automatyzacja zarządzania strefami
Cel slajdu: Slajd omawia zagadnienie „DNS API i automatyzacja zarządzania strefami” w kontekście: Zarządzanie DNS w duchu Infrastructure as Code (IaC).

Zarządzanie DNS w duchu Infrastructure as Code (IaC)

Terraform, Ansible, dynamiczna aktualizacja i integracja z certyfikatami ACME

  • Ewolucja w stronę automatyzacji (DevOps / GitOps): odejście od ręcznej edycji plików strefowych i restartów serwerów na rzecz deklaratywnego definiowania rekordów DNS w repozytoriach kodu (wersjonowanie zmian w systemie Git).
  • Główne narzędzia ekosystemu IaC:
    • Terraform / OpenTofu: oficjalni dostawcy (providers) dla systemów BIND9, AWS Route 53, Cloudflare, PowerDNS – zarządzanie milionami rekordów za pomocą spójnych manifestów HCL;
    • Ansible: moduły community.general.nsupdate (standard RFC 2136 z autoryzacją TSIG) oraz moduły chmurowe do automatycznego wdrażania stref w procesach CI/CD.
  • Automatyzacja certyfikatów TLS (Protokół ACME – RFC 8555): Wyzwanie typu dns-01 w narzędziu Certbot umożliwia automatyczne generowanie certyfikatów wildcard (*.firma.pl) poprzez automatyczne tworzenie tymczasowych rekordów _acme-challenge za pośrednictwem bezpiecznego API DNS dostawcy.
  • Zasada najniższych uprawnień (Least Privilege): tokeny dostępowe do DNS API muszą być ściśle zawężone do pojedynczych stref lub typów rekordów, aby uniknąć przejęcia całej domeny w przypadku wycieku klucza API.
DNS API i automatyzacja zarządzania strefami: Slajd przedstawia zagadnienie Zarządzanie DNS w duchu Infrastructure as Code (IaC) w ramach tematu DNS API i automatyzacja zarządzania strefami na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
DNS API
42/50
Prywatność w DNS – szyfrowanie transmisji (DoT i DoH)
Cel slajdu: Slajd omawia zagadnienie „Prywatność w DNS – szyfrowanie transmisji (DoT i DoH)” w kontekście: Ochrona przed inwigilacją i profilowaniem zapytań użytkowników.

Ochrona przed inwigilacją i profilowaniem zapytań użytkowników

Standardy DNS over TLS (RFC 7858) oraz DNS over HTTPS (RFC 8484)

  • Fundamentalna podatność klasycznego DNS: transmisja w postaci czystego tekstu (Cleartext) na porcie 53 UDP/TCP umożliwia dowolnemu węzłowi pośredniemu (ISP, operator Wi-Fi, agencje rządowe) podglądanie każdej odwiedzanej domeny oraz manipulację ruchem (cenzura, wstrzykiwanie reklam).
  • DNS over TLS (DoT – RFC 7858):
    • Pakiet DNS opakowany bezpośrednio w bezpieczny tunel TLS;
    • Dedykowany port TCP 853;
    • Natywne wsparcie w systemie Android („Prywatny DNS”) oraz usłudze systemd-resolved w dystrybucjach Linux;
    • Łatwy do zablokowania lub odfiltrowania przez zaporę sieciową w środowiskach korporacyjnych.
  • DNS over HTTPS (DoH – RFC 8484):
    • Zapytania przesyłane wewnątrz strumienia HTTP/2 lub HTTP/3 przez standardowy port TCP 443;
    • Ruch DNS jest całkowicie nierozróżnialny od zwykłego szyfrowanego ruchu WWW (niewykrywalny dla tradycyjnych zapór sieciowych);
    • Domyślnie zintegrowany z przeglądarkami Google Chrome, Mozilla Firefox oraz systemem Windows 11.
  • Wyzwania korporacyjne: DoH utrudnia administratorom egzekwowanie firmowych polityk bezpieczeństwa (DLP) oraz blokowanie szkodliwego oprogramowania na bramach brzegowych.
Prywatność w DNS – szyfrowanie transmisji (ang. DoT i DoH): Slajd przedstawia zagadnienie Ochrona przed inwigilacją i profilowaniem zapytań użytkowników w ramach tematu Prywatność w DNS – szyfrowanie transmisji (DoT i DoH) na przykładzie standardów RFC 7858 (DoT) i RFC 8484 (DoH) oraz obsługi w przeglądarkach i systemach operacyjnych.
DoH i DoT
43/50
Technologia Anycast – globalne skalowanie DNS
Cel slajdu: Slajd omawia zagadnienie „Technologia Anycast – globalne skalowanie DNS” w kontekście: Wiele fizycznych serwerów pod jednym globalnym adresem IP.

Wiele fizycznych serwerów pod jednym globalnym adresem IP

Zasada działania BGP Anycast (RFC 4786), optymalizacja opóźnień i absorpcja ataków DDoS

  • Pojęcie technologii Anycast (RFC 4786): technika routingu sieciowego, w której dokładnie ten sam adres IP (np. 1.1.1.1, 8.8.8.8 lub adresy Root serwerów) jest rozgłaszany przez protokół BGP jednocześnie z setek niezależnych centrów danych na całym świecie.
  • Rola protokołu BGP (Border Gateway Protocol): routery dostawców Internetu kierują pakiety DNS do instancji serwera znajdującej się najbliżej klienta pod względem metryk topologicznych sieci (najkrótsza ścieżka AS-Path).
  • Kluczowe zalety architektury Anycast w systemie DNS:
    • Radykalna redukcja opóźnień (Low Latency): zapytanie z Warszawy trafia do węzła w Warszawie lub Frankfurcie (RTT poniżej 5 ms), a zapytanie z Sydney – do węzła w Australii;
    • Bezobsługowa redundancja (Automatic Failover): awaria centrum danych powoduje wycofanie trasy BGP; globalne routery w kilka sekund przekierowują pakiety do kolejnego sprawnego węzła bez zmiany konfiguracji klientów;
    • Rozproszenie ataków DDoS: wolumen ataku rozkłada się równolegle na setki węzłów (tzw. zjawisko geograficznej absorpcji uderzenia).
  • Infrastruktura serwerów głównych: 13 logicznych serwerów Root (od a.root-servers.net do m.root-servers.net) to w rzeczywistości ponad 2000 fizycznych klastrów Anycast (około 2045 we wrześniu 2026 roku według serwisu root-servers.org) rozlokowanych na wszystkich kontynentach.
Technologia Anycast – globalne skalowanie DNS: Slajd przedstawia zagadnienie Wiele fizycznych serwerów pod jednym globalnym adresem IP w ramach tematu Technologia Anycast – globalne skalowanie DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Anycast DNS
44/50
EDNS0 – mechanizmy rozszerzeń protokołu DNS
Cel slajdu: Slajd omawia zagadnienie „EDNS0 – mechanizmy rozszerzeń protokołu DNS” w kontekście: Nowoczesne możliwości bez naruszania kompatybilności wstecznej.

Nowoczesne możliwości bez naruszania kompatybilności wstecznej

Standard RFC 6891, negocjacja rozmiaru bufora UDP, obsługa DNSSEC i EDNS Client Subnet

  • Ograniczenia pierwotnego standardu RFC 1035: maksymalny rozmiar odpowiedzi UDP ograniczony do 512 bajtów; brak miejsca w nagłówku na dodatkowe flagi, kody błędów czy metadane bezpieczeństwa.
  • Standard EDNS0 (Extension Mechanisms for DNS – RFC 6891): Wprowadza pseudo-rekord OPT umieszczany w sekcji Additional komunikatu DNS, niosący parametry rozszerzone bez modyfikacji formatu samego 12-bajtowego nagłówka.
  • Kluczowe funkcjonalności EDNS0:
    • Negocjacja bufora UDP: możliwość przesyłania odpowiedzi UDP o rozmiarze od 1232 do 4096 bajtów (eliminuje konieczność przełączania na TCP przy większych odpowiedziach);
    • Flaga DO (DNSSEC OK): informuje serwer, że klient akceptuje i potrafi zwalidować rekordy kryptograficzne DNSSEC (RRSIG, DNSKEY);
    • Rozszerzenie kodu odpowiedzi RCODE: zwiększenie puli kodów błędów z 4 do 12 bitów;
    • EDNS Client Subnet (ECS – RFC 7871): resolver przekazuje skróconą podsieć IP klienta (np. /24) do serwera autorytatywnego sieci CDN w celu optymalizacji geolokalizacyjnej odpowiedzi.
  • DNS Flag Day (2019/2020): skoordynowana akcja twórców oprogramowania (BIND, PowerDNS, Knot, Unbound) usuwająca przestarzałe obejścia dla serwerów nieobsługujących poprawnie EDNS0.
EDNS0 – mechanizmy rozszerzeń protokołu DNS: Slajd przedstawia zagadnienie Nowoczesne możliwości bez naruszania kompatybilności wstecznej w ramach tematu EDNS0 – mechanizmy rozszerzeń protokołu DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
EDNS0
45/50
DNS w kontenerach i platformie Kubernetes
Cel slajdu: Slajd omawia zagadnienie „DNS w kontenerach i platformie Kubernetes” w kontekście: Odkrywanie usług (Service Discovery) w środowisku chmurowym.

Odkrywanie usług (Service Discovery) w środowisku chmurowym

Wbudowany resolver Docker 127.0.0.11, CoreDNS w Kubernetes i wyzwanie konfiguracyjne ndots:5

  • DNS jako serce mikroarchitektury: w dynamicznych środowiskach kontenerowych kontenery i Pody są obiektami efemerycznymi (nieustannie tworzonymi i niszczonymi ze zmiennymi adresami IP); DNS stanowi podstawowy mechanizm lokalizacji usług sieciowych (Service Discovery).
  • DNS w środowisku Docker:
    • Wbudowany serwer DNS działający pod adresem pętli zwrotnej 127.0.0.11:53;
    • Automatycznie tłumaczy nazwy kontenerów na ich prywatne adresy IP w ramach zdefiniowanych mostków sieciowych (user-defined bridge networks).
  • Architektura CoreDNS w klastrze Kubernetes:
    • Napisany w języku Go, wysoce zoptymalizowany i modułowy serwer DNS wchodzący w skład warstwy sterowania (Control Plane);
    • Automatycznie rejestruje każdy Serwis w ustandaryzowanym formacie FQDN:
      nazwa-uslugi.nazwa-namespace.svc.cluster.local
    • Generuje rekordy SRV dla nazwanych portów usług oraz rekordy A/AAAA dla poszczególnych Podów.
  • Wyzwanie wydajnościowe ndots:5: domyślna konfiguracja pliku resolv.conf w Podach wymusza sprawdzanie wielu lokalnych sufiksów domenowych przed wysłaniem zapytania do Internetu, generując setki niepotrzebnych zapytań NXDOMAIN do CoreDNS.
DNS w kontenerach i platformie Kubernetes: Slajd przedstawia zagadnienie Odkrywanie usług (Service Discovery) w środowisku chmurowym w ramach tematu DNS w kontenerach i platformie Kubernetes na przykładzie usługi CoreDNS i wykrywania usług w środowiskach Docker i Kubernetes.
Kubernetes DNS
46/50
Ataki DDoS na infrastrukturę DNS i metody obrony
Cel slajdu: Slajd omawia zagadnienie „Ataki DDoS na infrastrukturę DNS i metody obrony” w kontekście: Jak zabezpieczyć serwery nazw przed zmasowanym paraliżem sieciowym?

Jak zabezpieczyć serwery nazw przed zmasowanym paraliżem sieciowym?

Wzmacnianie zapytań (DNS Amplification), powodzie NXDOMAIN, Response Rate Limiting (RRL) i BCP 38

  • Główne wektory ataków DDoS na DNS:
    • DNS Amplification / Reflection: agresor wysyła krótkie zapytania (np. 60 bajtów) o rekord ANY lub duże klucze DNSSEC ze sfałszowanym adresem IP ofiary (UDP IP Spoofing) do niezabezpieczonych publicznych serwerów; serwery odsyłają do ofiary gigantyczne odpowiedzi (nawet 3000–4000 bajtów), uzyskując współczynnik wzmocnienia 50x–70x;
    • NXDOMAIN Flood (Water Torture Attack): zalewanie serwerów rekurencyjnych milionami zapytań o losowe, nieistniejące subdomeny; paraliżuje pamięć podręczną serwera i wysyca zasoby procesora;
    • Direct Authoritative Flood: bezpośrednie uderzenie wolumetryczne w serwery autorytatywne obsługujące daną strefę.
  • Kluczowe mechanizmy obronne:
    • Response Rate Limiting (RRL): funkcja w serwerach BIND9, NSD i Knot DNS drastycznie ograniczająca liczbę identycznych odpowiedzi zwracanych na ten sam adres/podsieć klienta w jednostce czasu;
    • Likwidacja otwartych resolverów (BCP 140 / RFC 5358): całkowita blokada rekurencji dla zapytań z publicznego Internetu;
    • Standard BCP 38 (RFC 2827): filtrowanie ruchu wychodzącego (Ingress Filtering) u operatorów ISP w celu uniemożliwienia wysyłania pakietów ze sfałszowanym adresem źródłowym (Antispoofing).
  • Konsekwencje prawne: przeprowadzanie ataków DDoS stanowi przestępstwo z art. 268a i 269b Kodeksu karnego zagrożone karą pozbawienia wolności do lat 5 (lub do lat 8 w przypadku zakłócenia infrastruktury krytycznej).
Ataki DDoS na infrastrukturę DNS i metody obrony: Slajd przedstawia zagadnienie Jak zabezpieczyć serwery nazw przed zmasowanym paraliżem sieciowym? w ramach tematu Ataki DDoS na infrastrukturę DNS i metody obrony na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
DDoS a DNS
47/50
Podsumowanie modułu – kluczowe koncepcje protokołu DNS
Cel slajdu: Slajd omawia zagadnienie „Podsumowanie modułu – kluczowe koncepcje protokołu DNS” w kontekście: Co każdy inżynier i administrator sieci musi bezwzględnie wiedzieć o DNS?

Co każdy inżynier i administrator sieci musi bezwzględnie wiedzieć o DNS?

Hierarchia, zapytania, rekordy zasobów, narzędzia inżynierskie i zasady bezpieczeństwa

  • Architektura systemu: globalna, wysoce rozproszona i hierarchiczna baza danych oparta na odwróconej strukturze drzewa (Root → TLD → domena drugiego poziomu → subdomeny).
  • Podział ról i przepływ zapytań:
    • Stub resolver: lokalny klient w systemie operacyjnym;
    • Resolver rekurencyjny (Caching DNS): serwer odciążający klienta, wykonujący zapytania iteracyjne i agresywnie buforujący wyniki;
    • Serwer autorytatywny: oficjalne źródło prawdy dla strefy (Primary/Secondary), odpowiadające z flagą AA = 1.
  • Fundamenty protokołu: port 53 UDP (szybkość) oraz port 53 TCP (EDNS0, DNSSEC, transfery AXFR/IXFR); unikalny 16-bitowy numer transakcji (XID) i flagi nagłówka (QR, AA, TC, RD, RA, kody RCODE).
  • Główne typy rekordów zasobów:
    • Adresowe: A (IPv4), AAAA (IPv6), aliasy CNAME (ścisła reguła wyłączności!);
    • Infrastrukturalne: SOA (metryka strefy i Negative TTL), NS (delegacja);
    • Usługowe: MX (poczta e-mail z priorytetami), PTR (odwrotne mapowanie w in-addr.arpa), SRV (port i priorytet usług);
    • Bezpieczeństwo i metadane: TXT (SPF, DKIM, DMARC), CAA (autoryzacja CA dla certyfikatów TLS).
  • Filary bezpieczeństwa: kryptograficzna walidacja DNSSEC, ochrona przed Open Resolver (BCP 140), randomizacja portów (RFC 5452) oraz prywatność DoT / DoH.
Podsumowanie modułu – kluczowe koncepcje protokołu DNS: Slajd przedstawia zagadnienie Co każdy inżynier i administrator sieci musi bezwzględnie wiedzieć o DNS? w ramach tematu Podsumowanie modułu – kluczowe koncepcje protokołu DNS na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Podsumowanie DNS
48/50
Ewolucja protokołu DNS – od pliku HOSTS.TXT do czasów współczesnych
Cel slajdu: Slajd omawia zagadnienie „Ewolucja protokołu DNS – od pliku HOSTS.TXT do czasów współczesnych” w kontekście: Ponad 40 lat rozwoju fundamentu globalnej sieci.

Ponad 40 lat rozwoju fundamentu globalnej sieci

Kalendarium najważniejszych kamieni milowych w historii systemu nazw domenowych

  • 1970–1983 – Era pliku HOSTS.TXT (ARPANET): Centralny plik tekstowy mapujący nazwy komputerów na adresy numeryczne, redagowany ręcznie przez zespół Elizabeth Feinler w Stanford Research Institute (SRI-NIC) i pobierany okresowo przez protokół FTP; całkowity paraliż koncepcji przy wzroście liczby hostów powyżej tysiąca.
  • 1983 – Narodziny DNS (RFC 882 i RFC 883): Dr Paul Mockapetris projektuje zdecentralizowaną, hierarchiczną bazę danych z wbudowaną pamięcią podręczną; powstaje serwer referencyjny BIND na uniwersytecie UC Berkeley.
  • 1987 – Standard STD 13 (RFC 1034 i RFC 1035): Zdefiniowanie obowiązującego do dziś fundamentu protokołu, formatu 12-bajtowego nagłówka i składni plików strefowych.
  • 1997–2005 – Bezpieczeństwo i rozszerzenia: Standard DDNS (RFC 2136), rekordy SRV (RFC 2782), rozszerzenie EDNS0 (RFC 2671/6891) oraz publikacja standardu DNSSEC (RFC 4033–4035).
  • 2010–2026 – Era nowoczesna: Podpisanie korzenia DNS (Root DNSSEC Trust Anchor), szyfrowanie transmisji DoT (RFC 7858) i DoH (RFC 8484), CoreDNS w chmurze Kubernetes oraz nowy standard rekordów HTTPS/SVCB (RFC 9460).
Ewolucja protokołu DNS – od pliku HOSTS.TXT do czasów współczesnych: Slajd przedstawia zagadnienie Ponad 40 lat rozwoju fundamentu globalnej sieci w ramach tematu Ewolucja protokołu DNS – od pliku HOSTS.TXT do czasów współczesnych na przykładach konfiguracji i diagnostyki w systemie Linux. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Ewolucja DNS
49/50
Integracja protokołu DNS z ekosystemem sieciowym
Cel slajdu: Slajd omawia zagadnienie „Integracja protokołu DNS z ekosystemem sieciowym” w kontekście: Głęboka symbioza DNS z protokołami DHCP, HTTP/HTTPS, SMTP i VPN.

Głęboka symbioza DNS z protokołami DHCP, HTTP/HTTPS, SMTP i VPN

Współpraca stosu sieciowego: autokonfiguracja, routing poczty, ochrona przed DNS Leak

  • DNS + DHCP: serwer DHCP przekazuje stacjom roboczym adresy serwerów DNS (opcja 6), nazwę domeny przeszukiwania (opcja 15) oraz listę domen przeszukiwania (Domain Search List – opcja 119); mechanizm DDNS (RFC 2136) rejestruje w locie nowe adresy IP w strefie DNS.
  • DNS + HTTP/3 i TLS 1.3:
    • Rekordy HTTPS / SVCB (RFC 9460) przekazują przeglądarce informację o obsłudze protokołu HTTP/3 (QUIC port 443 UDP) bez konieczności oczekiwania na nagłówek Alt-Svc;
    • Udostępniają klucz publiczny dla mechanizmu Encrypted Client Hello (ECH), uniemożliwiając podsłuchanie nazwy domeny w nagłówku SNI sesji TLS.
  • DNS + Poczta elektroniczna (SMTP): Kierowanie poczty przez rekordy MX, rygorystyczny test tożsamości nadawcy FCrDNS (PTR) oraz kryptograficzny parasol ochronny oparty na rekordach TXT (SPF, DKIM, DMARC).
  • DNS + Tunele VPN i SD-WAN: Konieczność precyzyjnego zarządzania routingiem zapytań DNS w tunelach Split-Tunneling; eliminacja groźnego zjawiska wycieku DNS (DNS Leak), w którym zapytania o domenę wewnętrzną trafiają do publicznego resolvera dostawcy ISP.
Integracja protokołu DNS z ekosystemem sieciowym: Slajd przedstawia zagadnienie Głęboka symbioza DNS z protokołami DHCP, HTTP/HTTPS, SMTP i VPN w ramach tematu Integracja protokołu DNS z ekosystemem sieciowym na przykładach poleceń oraz diagnostyki w systemach Linux, Windows i RouterOS. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
DNS a inne protokoły
50/50
Zestawienie narzędzi administratora DNS i zalecenia inżynierskie
Cel slajdu: Slajd omawia zagadnienie „Zestawienie narzędzi administratora DNS i zalecenia inżynierskie” w kontekście: Podręczna ściąga poleceń, ścieżki certyfikacji i kanon dobrych praktyk.

Podręczna ściąga poleceń, ścieżki certyfikacji i kanon dobrych praktyk

Zestawienie komend Linux / Windows / MikroTik oraz kierunki dalszego rozwoju zawodowego

  • Praktyczne zestawienie narzędzi diagnostycznych i konfiguracyjnych:
    Zadanie / Operacja System GNU/Linux Microsoft Windows MikroTik RouterOS
    Odpytanie o rekord A dig example.com A +short Resolve-DnsName example.com :put [:resolve example.com]
    Śledzenie delegacji dig +trace example.com nslookup -debug example.com Brak narzędzia natywnego
    Czyszczenie bufora cache resolvectl flush-caches ipconfig /flushdns (wymaga uprawnień administratora) /ip dns cache flush
    Podgląd pamięci podręcznej rndc dumpdb -cache (tylko na serwerze BIND9 z programem rndc) ipconfig /displaydns /ip dns cache print
    Statyczny wpis DNS Wpis w /etc/hosts Wpis w pliku C:\Windows\System32\drivers\etc\hosts hosts /ip dns static add name=przyklad.pl address=192.0.2.10 (wymaga ustawionych serwerów w /ip dns)
  • Złoty kanon inżyniera sieci:
    • Zawsze utrzymuj co najmniej dwa niezależne geograficznie serwery autorytatywne (RFC 2182);
    • Nie uruchamiaj otwartej rekurencji na serwerze wystawionym do sieci publicznej (BCP 140);
    • Zabezpieczaj strefy podpisem cyfrowym DNSSEC oraz regułami RRL;
    • Pamiętaj o kropce kończącej (FQDN trailing dot) w plikach strefowych i konfiguracji rekordów CNAME/MX.
  • Ścieżki certyfikacji branżowej: CompTIA Network+, LPIC-2 (Exam 202 – BIND9), Cisco CCNP Enterprise, Microsoft AZ-800, CKA (Certified Kubernetes Administrator – CoreDNS).
Zestawienie narzędzi administratora DNS i zalecenia inżynierskie: Slajd przedstawia zagadnienie Podręczna ściąga poleceń, ścieżki certyfikacji i kanon dobrych praktyk w ramach tematu Zestawienie narzędzi administratora DNS i zalecenia inżynierskie na przykładach poleceń oraz diagnostyki w systemach Linux, Windows i RouterOS. Szczegóły modelu danych, formatu komunikatów i typów rekordów opisano w RFC 1034 i RFC 1035, a praktyczną implementację stanowi serwer BIND 9.
Co dalej z DNS