BIND DNS-palvelimen 9.18.0 julkaisu, joka tukee DNS-over-TLS- ja DNS-over-HTTPS-palveluita

Kahden vuoden kehitystyön jälkeen ISC-konsortio on julkaissut ensimmäisen vakaan julkaisun suuresta uudesta BIND 9.18 DNS -palvelimen haarasta. Toimialan 9.18 tukea tarjotaan kolmen vuoden ajan vuoden 2 2025. neljännekseen saakka osana pidennettyä tukisykliä. Tuki 9.11 haaralle päättyy maaliskuussa ja tuki 9.16 haaralle vuoden 2023 puolivälissä. BIND:n seuraavan vakaan version toiminnallisuuden kehittämiseksi on muodostettu kokeellinen haara BIND 9.19.0.

BIND 9.18.0:n julkaisu on huomionarvoinen DNS yli HTTPS (DoH, DNS over HTTPS) ja DNS over TLS (DoT, DNS over TLS) sekä XoT (XFR-over-TLS) -mekanismin tuen toteuttamisesta DNS-sisällön turvalliseen siirtoon vyöhykkeet palvelimien välillä (sekä lähetys- että vastaanottovyöhykkeet XoT:n kautta ovat tuettuja). Asianmukaisilla asetuksilla yksi nimetty prosessi voi nyt palvella perinteisten DNS-kyselyjen lisäksi myös DNS-over-HTTPS- ja DNS-over-TLS:n kautta lähetettyjä kyselyjä. DNS-over-TLS:n asiakastuki on sisäänrakennettu dig-apuohjelmaan, jota voidaan käyttää pyyntöjen lähettämiseen TLS:n kautta, kun "+tls"-lippu on määritetty.

DoH:ssa käytetyn HTTP/2-protokollan toteutus perustuu nghttp2-kirjaston käyttöön, joka sisältyy valinnaisena kokoonpanoriippuvuutena. Käyttäjä voi tarjota DoH- ja DoT-sertifikaatit tai luoda ne automaattisesti käynnistyksen yhteydessä.

Pyynnön käsittely DoH:n ja DoT:n avulla otetaan käyttöön lisäämällä "http"- ja "tls"-vaihtoehdot kuunteluohjeeseen. Jos haluat tukea salaamatonta DNS-over-HTTP:tä, sinun tulee määrittää asetuksissa "tls none". Avaimet määritellään "tls"-osiossa. Oletusverkkoportit 853 DoT:lle, 443 DoH:lle ja 80 DNS-over-HTTP:lle voidaan ohittaa tls-port-, https-port- ja http-port-parametreilla. Esimerkiksi:

tls local-tls { avaintiedosto "/polku/yksityisavain.pem"; cert-tiedosto "/polku/to/cert_chain.pem"; }; http paikallinen-http-palvelin { päätepisteet { "/dns-kysely"; }; }; valinnat { https-portti 443; kuunteluportti 443 tls local-tls http myserver {kaikki;}; }

Yksi DoH-toteutuksen ominaisuuksista BINDissa on kyky siirtää TLS:n salaustoiminnot toiselle palvelimelle, mikä voi olla tarpeen olosuhteissa, joissa TLS-varmenteita on tallennettu toiseen järjestelmään (esimerkiksi infrastruktuuriin, jossa on verkkopalvelimia) ja niitä ylläpidetään. muun henkilöstön toimesta. Tuki salaamattomalle DNS-over-HTTP:lle on toteutettu yksinkertaistamaan virheenkorjausta ja kerroksena edelleenlähetystä toiselle sisäisen verkon palvelimelle (salauksen siirtämiseksi erilliseen palvelimeen). Etäpalvelimella nginxiä voidaan käyttää TLS-liikenteen luomiseen, samalla tavalla kuin HTTPS-sidos on järjestetty verkkosivustoille.

Toinen ominaisuus on DoH:n integrointi yleiseksi kuljetukseksi, jota voidaan käyttää paitsi asiakaspyyntöjen käsittelemiseen ratkaisijalle, myös palvelinten välisessä kommunikoinnissa, kun valtuutettu DNS-palvelin siirtää vyöhykkeitä ja käsitellään muiden DNS-palvelinten tukemia kyselyitä. kuljetukset.

Puutteista, joita voidaan kompensoida poistamalla DoH/DoT:n avulla rakentaminen käytöstä tai siirtämällä salaus toiselle palvelimelle, erottuu koodikannan yleinen monimutkaisuus - sisäänrakennettu HTTP-palvelin ja TLS-kirjasto on lisätty, mikä saattaa sisältää haavoittuvuuksia. ja toimivat lisähyökkäysvektoreina. Myös DoH:ta käytettäessä liikenne lisääntyy.

Muistetaan, että DNS-over-HTTPS voi olla hyödyllinen estämään pyydettyjä isäntänimiä koskevien tietojen vuotaminen palveluntarjoajien DNS-palvelimien kautta, torjumaan MITM-hyökkäyksiä ja DNS-liikenteen huijausta (esimerkiksi yhdistettäessä julkiseen Wi-Fi-verkkoon), torjumaan esto DNS-tasolla (DNS-over-HTTPS ei voi korvata VPN:ää ohittaessaan DPI-tasolla toteutettua estoa) tai töiden järjestämiseen, kun DNS-palvelimiin ei pääse suoraan (esimerkiksi välityspalvelimen kautta). Jos normaalitilanteessa DNS-pyynnöt lähetetään suoraan järjestelmäasetuksissa määritellyille DNS-palvelimille, niin DNS-over-HTTPS:n tapauksessa pyyntö isännän IP-osoitteen määrittämiseksi kapseloidaan HTTPS-liikenteeseen ja lähetetään HTTP-palvelimelle, jossa Ratkaisija käsittelee pyynnöt Web API:n kautta.

"DNS over TLS" eroaa "DNS over HTTPS" -standardin DNS-protokollan käytöstä (verkkoporttia 853 käytetään yleensä), käärittynä salattuun viestintäkanavaan, joka on järjestetty TLS-protokollaa käyttäen ja isäntäkelpoisuustarkistus TLS/SSL-varmenteiden kautta. varmenneviranomaisen toimesta. Nykyinen DNSSEC-standardi käyttää salausta vain asiakkaan ja palvelimen todentamiseen, mutta ei suojaa liikennettä sieppaukselta eikä takaa pyyntöjen luottamuksellisuutta.

Muutamia muita innovaatioita:

  • Lisätty tcp-receive-buffer, tcp-send-buffer, udp-receive-buffer ja udp-send-buffer asetukset puskurien koon määrittämiseksi, kun pyyntöjä lähetetään ja vastaanotetaan TCP:n ja UDP:n kautta. Kiireisillä palvelimilla saapuvien puskureiden lisääminen auttaa välttämään pakettien putoamisen liikenteen huippujen aikana, ja niiden vähentäminen auttaa pääsemään eroon muistin tukkeutumisesta vanhojen pyyntöjen takia.
  • Uusi lokiluokka “rpz-passthru” on lisätty, jonka avulla voit kirjata erikseen RPZ (Response Policy Zones) -välitystoiminnot.
  • Vastauskäytäntö-osioon on lisätty vaihtoehto "nsdname-wait-recurse", kun se on asetettu arvoon "ei", RPZ NSDNAME -sääntöjä sovelletaan vain, jos pyynnölle löytyy välimuistista arvovaltaisia ​​nimipalvelimia, muuten RPZ NSDNAME -sääntö ohitetaan, mutta tiedot haetaan taustalla ja koskevat myöhempiä pyyntöjä.
  • Tietueille, joissa on HTTPS- ja SVCB-tyypit, on otettu käyttöön LISÄTIEDOT-osion käsittely.
  • Lisätty mukautettuja päivityskäytäntöjen sääntötyyppejä - krb5-subdomain-self-rhs ja ms-subdomain-self-rhs, joiden avulla voit rajoittaa SRV- ja PTR-tietueiden päivitystä. Päivityskäytäntölohkot lisäävät myös mahdollisuuden asettaa rajoituksia tietueiden lukumäärälle, yksilöllisesti kullekin tyypille.
  • Lisätty tiedot siirtoprotokollasta (UDP, TCP, TLS, HTTPS) ja DNS64-etuliitteet dig-apuohjelman ulostuloon. Viankorjaustarkoituksiin dig on lisännyt mahdollisuuden määrittää tietyn pyynnön tunnisteen (dig +qid= ).
  • Lisätty tuki OpenSSL 3.0 -kirjastolle.
  • IP-osien pirstoutumiseen liittyvien ongelmien ratkaisemiseksi DNS-lippupäivä 2020:n tunnistamien suurten DNS-viestien käsittelyssä koodi, joka säätää EDNS-puskurin kokoa, kun pyyntöön ei vastata, on poistettu ratkaisijasta. EDNS-puskurin koko on nyt asetettu vakioksi (edns-udp-size) kaikille lähteville pyynnöille.
  • Rakennusjärjestelmä on vaihdettu käyttämään yhdistelmää autoconf, automake ja libtool.
  • Vyöhyketiedostojen tuki "kartta"-muodossa (masterfile-format map) on lopetettu. Tämän muodon käyttäjiä suositellaan muuttamaan vyöhykkeet raakamuotoon named-compilezone -apuohjelman avulla.
  • Vanhojen DLZ-ajureiden (Dynamically Loadable Zones) tuki on lopetettu, ja ne on korvattu DLZ-moduuleilla.
  • Windows-alustan rakennus- ja käyttötuki on lopetettu. Viimeinen Windowsiin asennettava haara on BIND 9.16.

Lähde: opennet.ru

Lisää kommentti