Izdanje BIND DNS servera 9.18.0 sa podrškom za DNS-over-TLS i DNS-over-HTTPS

Nakon dvije godine razvoja, ISC konzorcij je objavio prvo stabilno izdanje velike nove grane BIND 9.18 DNS servera. Podrška za granu 9.18 će se pružati tri godine do 2. kvartala 2025. kao dio produženog ciklusa podrške. Podrška za granu 9.11 prestaje u martu, a podrška za granu 9.16 sredinom 2023. godine. Za razvoj funkcionalnosti sljedeće stabilne verzije BIND-a, formirana je eksperimentalna grana BIND 9.19.0.

Izdanje BIND 9.18.0 je značajno po implementaciji podrške za DNS preko HTTPS-a (DoH, DNS preko HTTPS) i DNS preko TLS-a (DoT, DNS preko TLS-a), kao i XoT (XFR-over-TLS) mehanizma za siguran prenos DNS sadržaja.zone između servera (podržane su i zone za slanje i prijem preko XoT-a). Uz odgovarajuće postavke, jedan imenovani proces sada može poslužiti ne samo tradicionalne DNS upite, već i upite poslane koristeći DNS-over-HTTPS i DNS-over-TLS. Klijentska podrška za DNS-over-TLS ugrađena je u uslužni program dig, koji se može koristiti za slanje zahtjeva preko TLS-a kada je navedena zastavica "+tls".

Implementacija HTTP/2 protokola koji se koristi u DoH bazira se na korišćenju biblioteke nghttp2, koja je uključena kao opciona zavisnost sklopa. Sertifikate za DoH i DoT može dati korisnik ili ih može automatski generirati u vrijeme pokretanja.

Obrada zahtjeva koristeći DoH i DoT je omogućena dodavanjem opcija "http" i "tls" direktivi slušanja. Da biste podržali nešifrirani DNS-over-HTTP, trebate navesti “tls none” u postavkama. Ključevi su definirani u odjeljku "tls". Zadani mrežni portovi 853 za DoT, 443 za DoH i 80 za DNS-over-HTTP mogu se nadjačati kroz parametre tls-port, https-port i http-port. Na primjer:

tls local-tls { key-file "/path/to/priv_key.pem"; cert-file "/path/to/cert_chain.pem"; }; http lokalni-http-server { endpoints { "/dns-query"; }; }; opcije { https-port 443; port za slušanje 443 tls lokalni-tls http moj server {any;}; }

Jedna od karakteristika DoH implementacije u BIND-u je mogućnost premještanja operacija enkripcije za TLS na drugi server, što može biti potrebno u uvjetima kada su TLS certifikati pohranjeni na drugom sistemu (na primjer, u infrastrukturi sa web serverima) i održavani od strane drugog osoblja. Podrška za nešifrovani DNS-over-HTTP implementirana je kako bi se pojednostavilo otklanjanje grešaka i kao sloj za prosljeđivanje na drugi server na internoj mreži (za premještanje enkripcije na poseban server). Na udaljenom serveru, nginx se može koristiti za generiranje TLS prometa, slično kao što je organizirano HTTPS povezivanje za web stranice.

Još jedna karakteristika je integracija DoH-a kao opšteg transporta koji se može koristiti ne samo za rukovanje klijentskim zahtjevima do razrješavača, već i prilikom komunikacije između servera, prilikom prijenosa zona od strane ovlaštenog DNS servera i prilikom obrade bilo kakvih upita koje podržava drugi DNS. transporti.

Među nedostacima koji se mogu nadoknaditi onemogućavanjem gradnje sa DoH/DoT-om ili premeštanjem enkripcije na drugi server, ističe se opšta komplikacija kodne baze – dodaju se ugrađeni HTTP server i TLS biblioteka, koja bi potencijalno mogla da sadrži ranjivosti i djeluju kao dodatni vektori za napade. Također, kada se koristi DoH, promet se povećava.

Podsjetimo da DNS-over-HTTPS može biti koristan za sprječavanje curenja informacija o traženim imenima hosta preko DNS servera provajdera, suzbijanje MITM napada i lažiranja DNS prometa (na primjer, pri povezivanju na javni Wi-Fi), suzbijanje blokiranje na DNS nivou (DNS-over-HTTPS ne može zamijeniti VPN u zaobilaženju blokiranja implementiranog na DPI nivou) ili za organizaciju rada kada je nemoguće direktno pristupiti DNS serverima (na primjer, kada se radi preko proxyja). Ako se u normalnoj situaciji DNS zahtjevi direktno šalju na DNS servere definisane u konfiguraciji sistema, onda se u slučaju DNS-over-HTTPS-a zahtjev za određivanje IP adrese hosta inkapsulira u HTTPS promet i šalje na HTTP server, gdje rezolver obrađuje zahtjeve preko Web API-ja.

“DNS preko TLS-a” se razlikuje od “DNS-a preko HTTPS-a” po korištenju standardnog DNS protokola (obično se koristi mrežni port 853), umotanog u šifrirani komunikacioni kanal organiziran korištenjem TLS protokola s provjerom valjanosti hosta putem certificiranih TLS/SSL certifikata od strane certifikacionog tijela. Postojeći DNSSEC standard koristi enkripciju samo za autentifikaciju klijenta i servera, ali ne štiti promet od presretanja i ne garantuje povjerljivost zahtjeva.

Neke druge inovacije:

  • Dodate postavke tcp-receive-buffer, tcp-send-buffer, udp-receive-buffer i udp-send-buffer za postavljanje veličina bafera koji se koriste prilikom slanja i primanja zahtjeva preko TCP i UDP. Na zauzetim serverima, povećanje dolaznih bafera će pomoći da se izbjegne ispuštanje paketa tokom špica prometa, a njihovo smanjenje će pomoći da se riješite začepljenja memorije starim zahtjevima.
  • Dodata je nova kategorija dnevnika “rpz-passthru” koja vam omogućava da zasebno evidentirate akcije prosljeđivanja RPZ (Response Policy Zones).
  • U odjeljku politika odgovora dodana je opcija “nsdname-wait-recurse”, kada je postavljeno na “ne”, pravila RPZ NSDNAME se primjenjuju samo ako se za zahtjev pronađu autoritativni serveri imena prisutni u kešu, u suprotnom RPZ NSDNAME pravilo se zanemaruje, ali informacije se preuzimaju u pozadini i primjenjuju se na naknadne zahtjeve.
  • Za zapise sa tipovima HTTPS i SVCB implementirana je obrada odeljka „DODATNO“.
  • Dodati prilagođeni tipovi pravila politike ažuriranja - krb5-subdomain-self-rhs i ms-subdomain-self-rhs, koji vam omogućavaju da ograničite ažuriranje SRV i PTR zapisa. Blokovi politike ažuriranja također dodaju mogućnost postavljanja ograničenja broja zapisa, pojedinačnih za svaki tip.
  • Dodate informacije o transportnom protokolu (UDP, TCP, TLS, HTTPS) i DNS64 prefiksima na izlazu uslužnog programa dig. Za potrebe otklanjanja grešaka, dig je dodao mogućnost specificiranja specifičnog identifikatora zahtjeva (dig +qid= ).
  • Dodata podrška za OpenSSL 3.0 biblioteku.
  • Za rješavanje problema s fragmentacijom IP-a prilikom obrade velikih DNS poruka koje je identificirao DNS Flag Day 2020, kod koji prilagođava veličinu EDNS bafera kada nema odgovora na zahtjev uklonjen je iz razrješača. Veličina EDNS bafera je sada postavljena na konstantnu (edns-udp-size) za sve odlazne zahtjeve.
  • Sistem izgradnje je prebačen na korištenje kombinacije autoconf, automake i libtool.
  • Podrška za datoteke zona u formatu “mapa” (mapa formata masterfile) je ukinuta. Korisnicima ovog formata se preporučuje da konvertuju zone u sirovi format koristeći uslužni program named-compilezone.
  • Podrška za starije DLZ (Dynamically Loadable Zones) drajvere je ukinuta i zamijenjena je DLZ modulima.
  • Podrška za izgradnju i pokretanje za Windows platformu je ukinuta. Posljednja grana koja se može instalirati na Windows je BIND 9.16.

izvor: opennet.ru

Dodajte komentar