Leisti DNS tik per savo VPN sprendiklį: žingsnis po žingsnio
Sekite vieną vardo užklausą nuo naršyklės iki atsakymo. Pažiūrėkite, kur pasirenkamas sprendiklis, kur ugniasienė jį įgyvendina ir ko 53 porto taisyklė niekada neapima.
Sekite vieną vardo užklausą nuo tos akimirkos, kai ją įrašote. Naršyklė klausia operacinės sistemos, operacinė sistema klausia sprendiklio, kurį parenka jos politika, o užklausa palieka įrenginį per kokią nors sąsają kokiu nors transportu. Jūsų VPN projektas sako, kad atsakymas turi ateiti iš konkretaus sprendiklio konkrečiu keliu. Skirtumas tarp šių dviejų teiginių yra tai, ką sukonfigūruojate ir po to įgyvendinate.
1 žingsnis: įvardykite sprendiklį ir kelią
Užsirašykite tris dalykus prieš liesdami ugniasienę: sprendiklio adresą, laukiamą protokolą ir portą, ir sąsają, kuria užklausa turi išeiti. Be šio sąrašo taisyklė yra spėjimas apie srautą, o ne sprendimo vykdymas. VPN gali nešti programų duomenis, kol DNS laikosi atskiro susitarimo, ir tai savaime nėra klaida. Taip atsitinka, kai niekas nepasakė klientui nieko kito.
Aiškus kelio įvardijimas yra skirtumas tarp projekto ir atsitiktinumo. Tai taip pat duoda medžiagos vėlesniam testavimui, nes kiekvieną stebėjimą galima palyginti su rašytiniu lūkesčiu. Laikykite šį sąrašą pakeitimo biliete, o ne kieno nors galvoje.
2 žingsnis: nustatykite politiką ten, kur ji tikrai gyvena
Sprendiklio pasirinkimas priklauso klientui: operacinės sistemos tinklo konfigūracija, paties VPN kliento nustatymai arba valdoma naršyklės politika. Nustatykite ją pirmiausia ten, platformos palaikomu mechanizmu, nes ugniasienė negali priversti kliento pasirinkti sprendiklio, apie kurį jam niekada nebuvo pasakyta. Skaldyto tunelio kliente aiškiai pasakykite, kurie domenai eina į vidinį sprendiklį. Valdomame parke naršyklės politika dažnai yra vienintelė svirtis DoH, nes naršyklė gali pasirinkti savo šifruotą sprendiklį nepriklausomai nuo sistemos nustatymo.
Praleiskite tai ir eikite tiesiai prie ugniasienės, ir gausite taisyklę, leidžiančią teisingą sprendiklį, kartu su klientu, kuris jo niekada nenaudoja. Taisyklė atrodo teisinga, o sprendiklio žurnalai lieka tušti, ir tai klaidų paieškoje klaidina. Pirmiausia sukonfigūruokite pasirinkimą, tada jį įgyvendinkite.
3 žingsnis: įgyvendinkite kelią siaurai
Dabar pridėkite tinklo leidimą leidžiamam keliui: sprendiklio adresą, protokolą ir portą, ir sąsają, kuria jis turi išeiti. Laikykite taisyklę apribotą tuo sprendikliu, o ne leiskite visą išeinantį DNS. Trys žemiau nurodyti keliai yra tie, kuriuos gali pasirinkti šiuolaikinis klientas, ir tik pirmąjį apima 53 porto taisyklė.
| Path | Port | Who controls it |
|---|---|---|
| Classic DNS | UDP and TCP 53 | System resolver settings |
| DNS over TLS | TCP 853 | Resolver or stub configuration |
| DNS over HTTPS | TCP 443 | Browser or application policy |
Blokuoti DoH ir DoT yra teisėta; manyti, kad 53 porto taisyklė juos jau užblokavo, ne. Naršyklė su DoH išsprendžia vardus keliu, kurio jūsų taisyklė niekada neaprašė, ir programa su savo sprendikliu daro tą patį. Užrašykite kiekvieną kelią, kurį ketinate leisti, ir kiekvieną, kurį ketinate atmesti. Taisyklė, kuri neįvardija kelio, dėl jo nenusprendė.
4 žingsnis: sekite privačius ir viešus vardus
Skaldytas DNS sąmoningai siunčia tik privačias vardų erdves vidiniam sprendikliui, o vieši vardai eina kitur, todėl daugiau nei vienas sprendiklis projekte nėra nutekėjimas. Nutekėjimas yra užklausa, kuri turėjo eiti į jūsų sprendiklį ir atsiduria kitur, arba nepasiekiamas numatytas kelias, dėl kurio klientas tyliai grįžta atgal. Šiuos du atvejus ir reikia ieškoti. Sekite vieną vidinį ir vieną viešą vardą pagal numatytą politiką ir pažymėkite, kuris sprendiklis atsakė į kiekvieną.
Bandomoji svetainė, kuri praneša apie jūsų sprendiklį, yra užuomina, o ne įrodymas, nes ji mato tik tas užklausas, kurios ją pasiekė. Užfiksuokite užklausą kliento pusėje, kai reikia žinoti, kokiu keliu ji iš tikrųjų nuėjo, ir palyginkite abu stebėjimus. Kai jie nesutampa, radote atsarginį grįžimą, kurio niekas nedokumentavo.
Jei sprendiklio adresas teisingas, bet nepasiekiamas, problema yra maršrutizavime arba filtravime, o ne politikoje. Atsekite užklausą iki to adreso ir patvirtinkite, kad atsakymas grįžta per laukiamą sąsają, prieš keisdami bet kurį sprendiklio nustatymą.
5 žingsnis: palikite kelią atgal
Prieš sugriežtindami DNS prieigą prie tinklų sietuvės, patvirtinkite atkūrimo būdą, kuris nepriklauso nuo vardų sprendimo. Sugadintas sprendiklis apsunkina priėjimą prie kiekvieno taisymo įrankio, įskaitant tuos, kuriais atšauktumėte pakeitimą. Laikykite vietinę konsolę arba už juostos esantį kelią atidarytą, kol nauja politika bus įrodyta. Pašalinkite jį tik po to, kai politika atlaikė prisijungimą iš naujo.
Po prisijungimo iš naujo arba naršyklės politikos atnaujinimo dar kartą patikrinkite efektyvią būseną, nes abu gali pakeisti sprendiklį nepakeisdami jūsų taisyklės. Reikalavimas yra žinomas gavėjas ir apsaugotas kelias užklausoms, o ne raminantis sprendiklio žymeklis vienoje ekrano kopijoje. RFC 8484 DNS over HTTPS specifikacija yra nuoroda šifruotam keliui, kurio jūsų porto taisyklė nemato.