VPN-іңіз DNS-ті шифрлай ма, әлде тек келесі хопты ма?
VPN серверіндегі шифрланған DNS клиент жағындағы DoT-тан басқа хопты қорғайды. Бірдеңені қоспас бұрын әрбір сұрауды кім алатынын қадағалаңыз.
VPN серверінде шифрланған DNS-ті қосу жиі ақауды жабу деп сипатталады, бірақ бұл сипаттама қай байланыстың өзгергенін жасырады. Клиенттен резолверге дейінгі хоп пен резолверден жоғары ағынға дейінгі хоп — жеке иелері бар жеке байланыстар. Олардың біреуін шифрлау екіншісін бұрынғы қалпында қалдырады.
Конфигурация файлына тиіспес бұрын әр кезеңде сұрауды кім алатынын жазып алыңыз.
Екі конфигурация параметрлер бетінде бірдей көрінеді
Бірінші конфигурацияда құрылғы DNS over TLS-ті өзі іске қосады, ал туннель бұл байланысты таңдаған резолверге дейін жеткізеді ғана. TLS сессиясы резолверде аяқталады, яғни резолвер сұрауды көреді, ал VPN шығысы оқи алмайтын шифрлық мәтінді көреді. Екінші конфигурацияда құрылғы кәдімгі DNS-ті туннель арқылы VPN хосттағы форвардерге жібереді, ал ол форвардер жоғары ағын резолверіне өзінің шифрланған байланысын ашады. Мүмкіндіктер тізімінде екеуі де "VPN-мен шифрланған DNS" болып көрінеді, бірақ оқылатын сұрауды әртүрлі ғимараттарға орналастырады.
Айырмашылық философиялық емес, өлшенетін. TLS сессиясын клиенттен немесе серверден іздеңіз — қай конфигурацияда екеніңізді білесіз.
Тізбекті өзгерту алдында резолвер тізбегін картаға түсіріңіз
Жолдағы резолверлерді санап, әрқайсысының рөлін атаңыз. Форвардтаушы компонент сұранысты басқа резолверге береді, ал рекурсивті резолвер жауап табу жұмысын атқарады және авторитативті серверлермен тікелей сөйлесуі мүмкін. Бұл рөлдер дәл осы себептен бөлек анықталған, және RFC 9076 резолвер анықтамалары бір ғана жоғары ағын мақсаты бар деп есептемес бұрын оқуға тұрарлық. Өз рекурсивті резолверін іске қосатын хостта шифрлайтын бір "жоғары ағын" жоқ, бұл бүкіл жоспарды жарамсыз етеді.
Содан кейін клиент қай компонентті қолдануға конфигурацияланғанын сұраңыз. VPN профилі таратқан DNS мекенжайы сұраулардың қайда баратынын айтады, қай процесс жауап беретінін емес.
Сәтсіздік тәртібіне де назар аударыңыз. Шифрланған жоғары ағынға қол жетпей қалса, форвардер жабық күйде сәтсіздікке ұшырай ма, ашық мәтінге орала ма, әлде басқа резолверге ауыса ма? Бұл шешім жазбада болуы керек, өйткені туннель ең нашар күйде тұрған сәтте құпиялылық кепілін өзгертеді.
Қай хоптың шифрланғанын тексеріңіз
Клиенттен бастап, оның 853 портына TLS сессиясы бар-жоғын растаңыз. 53 порты арқылы дұрыс шешілетін сұрау шифрлау туралы ештеңе дәлелдемейді.
resolvectl status | grep -E "DNS Servers|DNS over TLS"
kdig +tls +tls-ca +tls-hostname=dns.example.net @198.51.100.53 example.com A
Содан кейін VPN хостқа өтіп, форвардер ашқан сыртқа бағытталған шифрланған байланысты іздеңіз. Сокет кестесі жоғары ағын TLS сессиясының бар-жоғын және оны қай процестің иеленетінін көрсетеді:
ss -tunp '( dport = :853 )'
dig @127.0.0.1 example.com A +short
Клиентте TLS сессиясы болып, серверде болмаса, сіз бірінші конфигурациядасыз және сервер IP деңгейінде жіберетін сұрауларды оқи алмайды. Серверде TLS сессиясы болып, клиент туннель ішінде 53 портының кәдімгі трафигін көрсетсе, сіз екінші конфигурациядасыз: келесі хоп қорғалған, бірақ форвардер құрылғы сұрайтын әрбір атауды әлі де оқиды. Бұл екінші нәтиже сәтсіздік емес, бірақ оны ұштан ұшқа шифрлау деп атау дұрыс емес.
Иесін және сәтсіздік тәртібін жазып алыңыз
Меншік құқығы нені уәде етуге болатынын анықтайды. Құрылғы иесі клиент жағындағы шифрланған байланысты басқарады, ал VPN әкімшісі өз форвардері жасайтын келесі байланысты басқарады. Екеуін де пайдаланбайтын адам жолды сипаттай алады ғана.
Бірдеңені қоспас бұрын ішкі атауларды тексеріңіз. Ұйым атауларын ашық резолверге жіберу балама дизайн емес, ал тек желі ішінде ғана болатын split-horizon аймағы жоғары ағында мүлде шешілмейді. Өзгерістен кейін бір ішкі және бір ашық атауды сынап, нәтижені конфигурация өзгерісімен бірге сақтаңыз. Егер шифрланған жол ішкі хосттардың шешілуін бұзса, түзету — кеңірек туннель емес, ауқымы шектелген резолвер ережесі.
Соңында әр хоп үшін бір сөйлем жазыңыз: сұрауды қай компонент алды, бұл хоп шифрланды ма, атауды кім оқи алады. VPN хост туралы сөйлем әлі де сұрауларды оқи алады десе, құжаттама да солай айтуы керек, өйткені керісінше тұжырымдайтын диаграммаға командаларды ешқашан іске қоспаған адам сенеді.