Razvijalci DNS strežnika BIND so sporočili, da so v eksperimentalno vejo 9.17 dodali implementacijo strežniške podpore za tehnologije "DNS nad HTTPS" (DoH, DNS over HTTPS) in DNS nad TLS (DoT, DNS over TLS), pa tudi mehanizem XFR-over-TLS za varno prenašanje vsebin DNS con med strežniki. DoH je na voljo za testiranje v izdaji 9.17.10, medtem ko je podpora DoT prisotna od izdaje 9.17.7. Po stabilizaciji bo podpora DoT in DoH prenesena v stabilno vejo 9.16.
Implementacija protokola HTTP/2, ki se uporablja v DoH, temelji na uporabi knjižnice nghttp2, ki je vključena med gradbene odvisnosti (v prihodnje se načrtuje prenos te knjižnice med neobvezne odvisnosti). Podpirajo se tako šifrirane (TLS) kot nezahtevene povezave preko HTTP/2. Pri ustreznih nastavitvah en proces named zdaj lahko obravnava ne le tradicionalne DNS poizvedbe, temveč tudi poizvedbe, poslane z uporabo DoH (DNS-over-HTTPS) in DoT (DNS-over-TLS). Podpora HTTPS na strani odjemalca (dig) zaenkrat še ni realizirana. Podpora XFR-over-TLS je na voljo tako za prihajajoče kot za odhajajoče poizvedbe.
Obdelava poizvedb z uporabo DoH in DoT se vklopi z dodajanjem možnosti http in tls v neposredno poslušanje. Za podporo nezahtevanemu DNS nad HTTP je treba v nastavitvah določiti "tls none". Ključi so opredeljeni v razdelku "tls". Standardne omrežne povezave 853 za DoT, 443 za DoH in 80 za DNS-over-HTTP se lahko prepisujejo preko parametrov tls-port, https-port in http-port. Na primer: 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;}; }
Med značilnostmi implementacije DoH v BIND je omenjeno, da se integrira kot splošni transport, ki se lahko uporablja ne le za obdelavo poizvedb strank k resolverju, temveč tudi pri izmenjavi podatkov med strežniki, prenosu con s strani avtoritativnega DNS strežnika ter pri obdelavi vseh poizvedb, ki jih podpirajo drugi transporti DNS.
Druga značajka je mogućnost premještanja operacija šifriranja za TLS na drugi poslužitelj, što može biti potrebno kada se TLS certifikati pohranjuju na drugom sustavu (na primjer, u infrastrukturi s web poslužiteljima) i upravlja im drugi osoblje. Podrška za nezaštićeni DNS-over-HTTP implementirana je za pojednostavljenje debuggiranja i kao sloj za prijenos unutar mreže, na temelju kojeg se može organizirati šifriranje na drugom poslužitelju. Na vanjskom poslužitelju za formiranje TLS prometa može se koristiti nginx, slično načinu na koji se organizira obvezivanje HTTPS za web stranice.
Podsjećamo da DNS-over-HTTPS može biti koristan za isključivanje curenja informacija o traženim nazivima poslužitelja putem DNS poslužitelja pružatelja usluga, borbu protiv MITM napada i zamjene DNS prometa (na primjer, prilikom povezivanja na javne Wi-Fi mreže), te protiv blokada 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 kada nije moguće izravno pristupiti DNS poslužiteljima (na primjer, prilikom rada putem proxyja). Ako se u uobičajenom scenariju DNS upiti izravno šalju na određene DNS poslužitelje navedene u konfiguraciji sustava, tada se u slučaju DNS-over-HTTPS upit za određivanje IP-naslove naziva ugrađuje u HTTPS promet i šalje na HTTP poslužitelj, gdje resolver obrađuje upite putem Web API-ja.
«DNS over TLS» razlikuje se od «DNS over HTTPS» primjenom standardnog DNS protokola (obično koristi mrežni port 853), omotanog u šifrirani komunikacijski kanal, organiziran uz pomoć TLS protokola s provjerom valjanosti poslužitelja putem TLS/SSL certifikata koje je ovjerio certifikacijski autoritet. 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.
Izvor: opennet.ru
