Nakon dvije godine razvoja, konzorcij ISC predstavio je prvu stabilnu verziju nove značajne grane DNS poslužitelja BIND 9.18. Podrška za granu 9.18 bit će osigurana tijekom tri godine do drugog kvartala 2025. godine, unutar proširenog ciklusa održavanja. Podrška za granu 9.11 prestat će u ožujku, a 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 obilježeno je implementacijom podrške za tehnologije 'DNS preko HTTPS' (DoH, DNS over HTTPS) i DNS preko TLS (DoT, DNS over TLS), kao i mehanizma XoT (XFR-over-TLS) za sigurnu prijenos sadržaja DNS zona između poslužitelja (podržava se i isporuka i primanje zona putem XoT). Uz odgovarajuće postavke, jedan proces named sada može obraditi ne samo tradicionalne DNS upite, već i upite poslane korištenjem DNS-over-HTTPS i DNS-over-TLS. Klijentska podrška za DNS-over-TLS ugrađena je u alat dig, koji se može koristiti za slanje upita putem TLS-a uz navođenje oznake '+tls'.
Implementacija protokola HTTP/2, koji se koristi u DoH, temelji se na primjeni biblioteke nghttp2, koja je uključena u skup opcionalnih ovisnosti za gradnju. Certifikati za DoH i DoT mogu biti pruženi od strane korisnika ili generirani automatski tijekom pokretanja.
Obrada upita korištenjem DoH i DoT uključuje se dodavanjem opcija 'http' i 'tls' u direktivi listen-on. Za podršku nezaštićenog DNS-over-HTTP u postavkama treba navesti 'tls none'. Ključevi se definiraju u odjeljku 'tls'. Standardne mrežne portove 853 za DoT, 443 za DoH i 80 za DNS-over-HTTP može se premostiti putem parametara 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 local-http-server { endpoints { '/dns-query'; }; }; options { https-port 443; listen-on port 443 tls local-tls http myserver {any;}; }
Jedna od karakteristika implementacije DoH u BIND-u je mogućnost premještanja operacija šifriranja za TLS na drugi poslužitelj, što može biti potrebno u situacijama kada se TLS certifikati pohranjuju na drugom sustavu (npr. u infrastrukturi s web poslužiteljima) i njima upravlja drugi osoblje. Podrška za nešifrirani DNS-over-HTTP implementirana je za pojednostavljenje otklanjanja grešaka i kao nivo za prosljeđivanje na drugi poslužitelj unutar interne mreže (za premještanje šifriranja na zaseban poslužitelj). Na premještanom poslužitelju za generiranje TLS prometa može se koristiti nginx, na sličan način kao što se organizira obloga HTTPS za web stranice.
Druga karakteristika je integracija DoH kao zajedničkog transporta, koji se može koristiti ne samo za obradu zahtjeva klijenata prema resolveru, već i za razmjenu podataka između poslužitelja, prilikom prijenosa zona od strane autoritativnog DNS poslužitelja i za obradu bilo kojih zahtjeva podržanih drugim DNS transportima.
Među nedostacima, koji se mogu nadoknaditi onemogućavanjem sastavljanja s DoH/DoT ili premještanjem šifriranja na drugi poslužitelj, ističe se opće komplikovanje koda — dodaje se ugrađeni HTTP poslužitelj i TLS biblioteka, koji potencijalno mogu sadržavati ranjivosti i predstavljati dodatne vektore za napade. Također, korištenjem DoH povećava se promet.
Podsjetimo, DNS-over-HTTPS može biti koristan za isključivanje curenja informacija o traženim imenima hostova putem DNS poslužitelja pružatelja usluga, borbu protiv MITM napada i zamjene DNS prometa (na primjer, prilikom spajanja na javni Wi-Fi), te suprotstavljanje blokadama na razini DNS (DNS-over-HTTPS ne može zamijeniti VPN u području zaobilaženja blokada, implementiranih na razini DPI) ili za organizaciju rada u slučaju nemogućnosti izravnog pristupa DNS poslužiteljima (na primjer, prilikom rada putem proxyja). Ako se u običnoj situaciji DNS upiti izravno šalju na određene DNS poslužitelje definirane u konfiguraciji sustava, u slučaju DNS-over-HTTPS upit za određivanje IP adrese hosta je inkapsuliran u HTTPS prometu i šalje se na HTTP poslužitelj, na kojem resolver obrađuje upite putem Web API-ja.
DNS over TLS razlikuje se od DNS over HTTPS korištenjem standardnog DNS protokola (obično koristi mrežni port 853), obavijenog u šifrirani komunikacijski kanal, organiziran uz pomoć TLS protokola s provjerom valjanosti hosta putem TLS/SSL certifikata, koji je ovjeren od strane certifikacijskog tijela. Postojeći standard DNSSEC koristi šifriranje samo za autentifikaciju klijenta i poslužitelja, ali ne štiti promet od presretanja i ne jamči povjerljivost upita.
Neka druga poboljšanja:
- Dodane su postavke tcp-receive-buffer, tcp-send-buffer, udp-receive-buffer i udp-send-buffer za definiranje veličina buffera koji se koriste prilikom slanja i primanja zahtjeva putem TCP i UDP. Na opterećenim poslužiteljima povećanje ulaznih buffera omogućit će izbjegavanje odbacivanja paketa u trenucima vršnog prometa, dok će smanjenje pomoći da se riješimo preopterećenja memorije starim zahtjevima.
- Dodana je nova kategorija logova "rpz-passthru", koja omogućava odvojeno evidentiranje radnji prosljeđivanja RPZ (Response Policy Zones).
- U sekciji response-policy dodana je opcija "nsdname-wait-recurse", koja, ako je postavljena na "no", pravila RPZ NSDNAME primjenjuju se samo ako su za zahtjev pronađeni prisutni u cacheu autoritativni poslužitelji imena, inače se pravilo RPZ NSDNAME ignorira, ali se informacija izvlači u pozadini i primjenjuje na sljedeće zahtjeve.
- Za zapise s tipovima HTTPS i SVCB implementirana je obrada sekcije "ADDITIONAL".
- Dodani su prilagodljivi tipovi pravila update-policy — krb5-subdomain-self-rhs i ms-subdomain-self-rhs, koji omogućuju ograničavanje ažuriranja SRV i PTR zapisa. U blokove update-policy također je dodana mogućnost postavljanja ograničenja broja zapisa, posebno za svaku vrstu.
- U izlaz alata dig dodane su informacije o transportnom protokolu (UDP, TCP, TLS, HTTPS) i DNS64 prefiksima. Za svrhe otklanjanja grešaka u alatu dig dodana je mogućnost navođenja specifičnog identifikatora zahtjeva (dig +qid=).
- Dodana je podrška za OpenSSL 3.0 biblioteku.
- Kako bi se rešili problemi s IP fragmentacijom pri obradi velikih DNS poruka, označenih inicijativom DNS Flag Day 2020, kod koji vrši prilagođavanje veličine EDNS buffera je uklonjen iz resolvera. Veličina EDNS buffera sada je postavljena kao stalna (edns-udp-size) za sve odlazne zahtjeve.
- Sistem izgradnje prebačen je na korištenje kombinacije autoconf, automake i libtool.
- Prekid podrške za datoteke zona u «map» formatu (masterfile-format map). Korisnicima ovog formata preporučeno je da konvertiraju zone u raw format pomoću alata named-compilezone.
- Prekid podrške za stare DLZ (Dynamically Loadable Zones) drajvere, koje su zamijenili DLZ moduli.
- Prekid podrške za izgradnju i pokretanje na Windows platformi. Zadnja grana koja se može instalirati na Windows ostaje BIND 9.16.
Izvor: opennet.ru
