Ako zaznamenať a overiť použitú výstupnú adresu VPN
Klientske aplikácie zobrazujú názov lokality, nie adresu, ktorou váš prenos odišiel. Zachyťte výstupnú IP pri pripojení a porovnajte ju s priamou referenciou.
Opýtajte sa desktopového VPN klienta, ktoré servery ste použili, a čestná odpoveď je zvyčajne názov lokality. Ten názov je vstupný bod, ktorý ste vytáčali, a adresa, ktorou váš prenos odišiel, môže byť úplne iný stroj. Nič v aplikácii nie je navrhnuté tak, aby si pamätalo druhý údaj, takže záznam musí vzniknúť v okamihu použitia. Existujú dva postupy a len jeden z nich prežije kontakt s prípadom podpory.
Dva záznamy, z ktorých existuje len jeden
Pohľad samotného klienta je v najlepšom prípade zoznam zvolených lokalít s časovými pečiatkami. Je to rozhodnutie o návrhu, nie opomenutie: adresy sú prevádzkový detail, rotujú medzi priradeniami a zverejnenie mapovania sťažuje aj podporu, aj riešenie zneužití. Poskytovatelia stavajú pred svoje siete cloudové inštancie práve preto, aby sa koncový bod mohol presunúť bez toho, aby o tom niekto vedel. Čo vám aplikácia ukazuje, je vaša voľba, nie trasa, ktorou prenos išiel.
Záznam, ktorý si môžete postaviť, je miestny súbor s jednou verejnou adresou a jednou časovou pečiatkou UTC na riadok. Je menší, škaredší a oveľa užitočnejší, pretože opisuje presne to, čo môže vidieť aj vonkajší pozorovateľ.
Variant A: zachyťte výstupnú adresu sami
Ozvenová služba vracia zdrojovú adresu, z ktorej požiadavka prišla, čo je z definície výstupná adresa. Spustite zachytenie po tom, čo tunel ohlási pripojenie, pretože klient, ktorý povie pripojené skôr, než sa usadia trasy a DNS, zaznamená adresu pred tunelom a od prvého riadku otrávi log.
#!/bin/sh
umask 077
log="$HOME/vpn-exit.log"
printf '%s %s\n' "$(date -u +%Y-%m-%dT%H:%M:%SZ)" "$(curl -fsS https://api.ipify.org)" >> "$log"
Dva detaily robia ten úryvok použiteľným, nie dekoratívnym. Časová pečiatka a adresa zdieľajú jeden riadok, takže neskoršie spracovanie nemusí párovať záznamy, a umask 077 drží súbor súkromný od okamihu vytvorenia. Spúšťajte ho raz na pripojenie, nie raz na štart, a majte jeden súbor na zariadenie.
Log zaznamenáva, kedy ste tunel použili a z ktorej siete ste sa objavili, čo je bližšie k histórii prehliadania než k počítadlu. Zvoľte dobu uchovania, ktorú dokážete obhájiť, držte súbor mimo zdieľaných synchronizačných priečinkov a mažte ho vedome.
Variant B: požiadajte poskytovateľa o históriu
Niektorí poskytovatelia vedú záznamy o pripojení a odpovedia na otázku podpory časovou pečiatkou a názvom servera. Ten záznam opisuje ich infraštruktúru, nie váš prenos, a platí len toľko, koľko platí ich okno uchovania a ich ochota pozrieť sa. Opisuje tiež reláciu, nie požiadavku. Okno býva krátke a meria sa z poskytovateľovej strany tunela.
Poskytovatelia, ktorí inzerujú, že nič nelogujú, to na požiadanie nedokážu doložiť, a zoznam nedávnych lokalít na strane klienta nie je to isté. Požiadať poskytovateľa bez logov o výstupnú adresu zvyčajne skončí vysvetlením, prečo tie údaje neexistujú.
Čo môže každý záznam preukázať v prípade podpory
Oba záznamy odpovedajú na rôzne otázky a práve v tabuľke prestáva byť porovnanie akademické.
| Question | Your local log | Provider record |
|---|---|---|
| Which address did the traffic leave from? | Yes, for the moment it was captured | Usually not disclosed |
| Was the tunnel in use at 14:20? | Yes, if the capture ran | Yes, within the retention window |
| Why did a location get slower? | Yes, by comparing addresses over time | Sometimes, as an infrastructure note |
| Who sent this specific request? | No | No |
Pod vašou kontrolou je len prvý stĺpec. Záznam poskytovateľa môže potvrdiť, že účet bol v danom čase pripojený, ale nemôže potvrdiť, ktoré požiadavky tunel použili, a neoznačí adresu, ktorú poskytovateľ považuje za prevádzkový detail. Ani jeden záznam neidentifikuje osobu, pretože zdieľaná výstupná adresa môže v tej istej minúte niesť mnoho zákazníkov.
Porovnajte oba s referenciou, kým jednému z nich uveríte
Adresa sama o sebe nič nedokazuje. Zachyťte priamu adresu pred pripojením, tunelovanú po ňom, a porovnajte ich. Zhodné hodnoty znamenajú, že tunel tú požiadavku nenesie, či už pre rozdelený tunel, nadradené proxy alebo klienta, ktorý prešiel na priamu cestu.
curl -fsS https://api.ipify.org; echo
curl -fsS https://api64.ipify.org; echo
dig +short TXT o-o.myaddr.l.google.com @1.1.1.1
Zopakujte porovnanie pre DNS a pre IPv6, pretože ozvena adresy dokazuje cestu jednej požiadavky HTTP a nič o tom, ktorý resolver odpovedal. Zariadenie, ktoré uniká v jednom z prípadov, môže v druhom vyzerať úplne zdravo.