Чаму пазначэнне краіны ў DNS не даказвае ўцечку праз VPN
Тэст прывязвае адрас да краіны; гэта мала гаворыць пра маршрут. Прачытайце рэзалвер, ланцуг перасылкі і палітыку, перш чым нешта змяняць.
Адрасы рэзалвераў, што выглядаюць замежнымі, пастаянна трапляюць у вынікі DNS-тэстаў, і выснова, да якой прыходзяць людзі, заўсёды адна: запыты мусілі выйсці з тунеля. Часам так і было. Часцей за ўсё справаздача апісвае, якая рэкурсіўная служба адказала і дзе база даных, на яе думку, знаходзіцца гэты адрас, а гэта сцвярджэнне пра інфраструктуру, а не пра вашыя пакеты. Каб аддзяліць назіранне ад высновы, патрэбны тры факты: хто адказаў, як падарожнічала імя і якую палітыку вы насамрэч наладзілі.
Прачытайце, што тэст насамрэч назіраў
Большасць тэставых старонак працуюць аднолькава: яны просяць кліент развязаць унікальнае імя хоста і потым шукаюць, які рэзалвер яго прынёс, або проста вяртаюць адрас рэзалвера, які паведамляе кліент. Гэта вызначае рэкурсіўную службу і, калі запыт нёс інфармацыю пра падсетку кліента, прыблізнае месца ў сетцы. Гэта не даказвае, што запыт пакінуў прыладу па-за тунелем, і тым больш не даказвае, што той самы шлях выкарыстоўваўся для кожнага імя. Адно назіранне аднаго пошуку абагульняецца да сцвярджэння пра ўвесь трафік.
Тэст, які паказвае адрас рэзалвера, карыснейшы за значак краіны, бо адрас можна параўнаць са спісам рэзалвераў, які кліент насамрэч атрымаў.
Anycast і перасылка тлумачаць большасць нечаканасцей
Вялікія публічныя рэзалверы абвяшчаюць той самы адрас з мноства месцаў, і сетка накіроўвае кожны запыт туды, дзе бліжэй паводле маршруту. Затым база геалакацыі прывязвае гэты адрас да аднаго месца, якое можа быць карпаратыўным адрасам рэгістрацыі на іншым кантыненце або цэнтрам даных, які не адказаў. RFC 4786 апісвае эксплуатацыйную практыку для anycast-службаў і складанасць прывязкі такога адраса да аднаго фізічнага месца. Карта — гэта спрошчанае адлюстраванне рашэння пра маршрут, і яно спрашчае ў бок, які дае трывожныя вынікі.
Перасылка дадае другі слой. Лакальны stub-рэзалвер, маршрутызатар або рэзалвер інтэрнэт-правайдэра могуць перадаваць запыты вышэйшай службе, і імя, якое з’яўляецца ў тэсце, адлюстроўвае апошняга аператара ў гэтым ланцугу, а не першага. Пашырэнні падсеткі кліента могуць зрабіць адказ вышэйшай службы падладжаным пад вашу сетку, адначасова робячы паведамленае месца такім, дзе вы ніколі не былі.
Такім чынам, наладжаны рэзалвер можа быць правільным і ўсё ж даваць вынік, які выглядае замежным, а рэзалвер у вашай краіне можа быць няправільным, бо належыць боку, якога вы не выбіралі.
Хто атрымаў імя і па якім маршруце
Два пытанні адказваюць на практычную частку: які сервер выкарыстоўвае кліент і ці дасягаецца гэты сервер праз тунель. Параўнайце спіс рэзалвераў з адрасам у выніку тэсту, перш чым рабіць высновы пра маршрутызацыю, затым праверце, што запыт да гэтага адраса выходзіць праз інтэрфейс тунеля. Калі два адрасы розныя, цікавая знаходка ў тым, што нешта перапісала або абыйшло патрэбны рэзалвер, і гэта вартае ўважлівага позірку больш за назву краіны.
resolvectl query example.com
resolvectl status | grep -A3 'DNS Servers'
dig +short TXT whoami.akamai.net
Першая каманда паказвае, які сервер адказаў за імя, другая паказвае наладжаны спіс і яго абсяг, а трэцяя паведамляе адрас рэзалвера так, як яго бачыць публічная служба. Калі ўсе тры згаджаюцца, палітыка робіць тое, для чаго была наладжана, што б ні казаў значак краіны.
Параўнайце з палітыкай, якую вы выбралі
VPN, які навязвае рэзалвер, браўзер, наладжаны на ўласны шыфраваны DNS, і аперацыйная сістэма, якая аддае перавагу наладам аднаго інтэрфейса, могуць быць паасобку правільнымі, але разам супярэчыць. Сучасныя браўзеры могуць адпраўляць запыты шыфраваным транспартам да пастаўшчыка, выбранага ў браўзеры, што наўмысна абыходзіць спіс рэзалвераў сістэмы. Гэта не ўцечка ў сэнсе зламанага тунеля; гэта палітыка, выбраная недзе іншым, і знайсці, дзе яна выбраная, — сапраўдная задача.
Працоўныя прылады дадаюць правілы для асобных даменаў: унутраныя імёны мусяць ісці да рэзалвера арганізацыі, а ўсё астатняе ідзе па змаўчанні. Замяніць гэты парадак таму, што тэставая старонка паказала нечаканую краіну, — гэта шлях да таго, каб унутраныя імёны перасталі развязвацца для цэлай каманды.
Трымайце тэсты вузкімі і бяспечнымі
Запыт да публічнай тэставай службы пра ўнутранае імя хоста раскрывае імя боку, якому няма да гэтага справы, а адказ не кажа вам нічога такога, чаго не сказала б лакальнае чытанне спісу рэзалвераў.
Замість гэтага выкарыстоўвайце імёны, якія раскрываюць інфраструктуру, запісвайце адрас рэзалвера, яго абсяг і выкарыстаны інтэрфейс і параўноўвайце гэты запіс з дакументаванай задумай. Пазначэнне на карце — гэта кантэкст для размовы, а не вынік «прайшоў ці не», і абыходжанне з ім як з прысудам спараджае змены наладаў замест дыягностыкі.