Kako zabilježiti i provjeriti korištenu izlaznu adresu VPN-a
Klijentske aplikacije prikazuju naziv lokacije, a ne adresu s koje je otišao vaš promet. Zabilježite izlazni IP pri spajanju i usporedite ga s izravnom referencom.
Pitajte stolno VPN klijenta koje ste poslužitelje koristili i iskren odgovor obično je naziv lokacije. Taj je naziv ulazna točka koju ste odabrali, a adresa s koje je otišao vaš promet može biti posve drugi stroj. Ništa u aplikaciji nije osmišljeno da zadrži drugi broj, pa se zapis mora izgraditi u trenutku upotrebe. Postoje dva pristupa i samo jedan od njih preživi susret s predmetom podrške.
Dva zapisa, a samo jedan od njih postoji
Pogled samog klijenta najviše je popis odabranih lokacija s vremenskim oznakama. To je odluka o dizajnu, a ne propust: adrese su operativni detalj, rotiraju između dodjela, a otkrivanje preslikavanja otežava i podršku i obradu zloupotreba. Davatelji stavljaju instance u oblaku ispred svojih mreža upravo zato da se krajnja točka može premjestiti bez da ikome kažu. Ono što vam aplikacija pokazuje je vaš odabir, a ne put koji je promet prešao.
Zapis koji možete izgraditi jest lokalna datoteka s jednom javnom adresom i jednom vremenskom oznakom UTC po retku. Manji je, ružniji i mnogo korisniji, jer opisuje točno ono što i vanjski promatrač može vidjeti.
Opcija A: sami zabilježite izlaznu adresu
Usluga odjeka vraća izvornu adresu s koje je zahtjev stigao, a to je po definiciji izlazna adresa. Pokrenite snimanje nakon što tunel javi da je spojen, jer će klijent koji kaže spojeno prije nego se utvrde rute i DNS zabilježiti adresu prije tunela i zatrovati zapisnik već od prvog retka.
#!/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 detalja čine taj ulomak korisnim, a ne ukrasnim. Vremenska oznaka i adresa dijele jedan redak, pa kasnija obrada ne mora sparivati zapise, a umask 077 čuva datoteku privatnom od trenutka nastanka. Pokrećite ga jednom po vezi, a ne jednom po pokretanju, i držite jednu datoteku po uređaju.
Zapisnik bilježi kada ste upotrijebili tunel i iz koje ste se mreže pojavili, što je bliže povijesti pregledavanja nego brojaču. Odaberite razdoblje čuvanja koje možete braniti, držite datoteku izvan zajedničkih mapa za sinkronizaciju i brišite je namjerno.
Opcija B: zatražite povijest od davatelja
Neki davatelji vode zapisnike veza i odgovorit će na pitanje podrške vremenskom oznakom i nazivom poslužitelja. Taj zapis opisuje njihovu infrastrukturu, a ne vaš promet, i vrijedi samo onoliko koliko vrijede njihov prozor čuvanja i njihova volja da pogledaju. Opisuje i sesiju, a ne zahtjev. Prozor je obično kratak i mjeri se s davateljeve strane tunela.
Davatelji koji oglašavaju da ne vode zapisnike ne mogu to pripremiti na zahtjev, a popis nedavnih lokacija na strani klijenta nije isto. Traženje izlazne adrese od davatelja bez zapisnika obično završi objašnjenjem zašto ti podaci ne postoje.
Što svaki zapis može dokazati u predmetu podrške
Dva zapisa odgovaraju na različita pitanja i upravo u tablici usporedba prestaje biti akademska.
| 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 |
Samo je prvi stupac pod vašom kontrolom. Davateljev zapis može potvrditi da je račun bio spojen u određeno vrijeme, ali ne može potvrditi koji su zahtjevi koristili tunel i neće navesti adresu koju davatelj tretira kao operativni detalj. Nijedan zapis ne identificira osobu, jer zajednička izlazna adresa može u istoj minuti nositi mnogo korisnika.
Usporedite oba s referencom prije nego povjerujete ijednomu
Adresa sama po sebi ne dokazuje ništa. Snimite izravnu adresu prije spajanja, tuneliranu poslije i usporedite ih. Identične vrijednosti znače da tunel ne prenosi taj zahtjev, bilo zbog podijeljenog tunela, nadređenog proxyja ili klijenta koji se vratio na izravan put.
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
Ponovite usporedbu za DNS i za IPv6, jer odjek adrese dokazuje put jednog HTTP zahtjeva i ništa o tome koji je resolver odgovorio. Uređaj koji propušta na jednome može na drugome izgledati posve zdravo.