Iga töölaud peab oma arvestust selle kohta, mida VPN tegi, ja rakenduse eksport on tavaliselt neist kõige puudulikum. Teenusehaldurid märgivad, millal üksus käivitus, kernel märgib, millal liides ilmus, ja võrgupinu märgib, millal marsruute rakendada ei õnnestunud. Ükski neist mehhanismidest ei tea, mida klient kavatses, ja klient ei tea, mida kernel tema päringuga tegi.

Ühe sellise kirje lugemine eraldi kutsub esile vale järelduse. Lugege kahte, samast minutist, ja järjestus muutub nähtavaks.

Kolm mehhanismi kolme sõnavaraga

Linuxis püüab systemd journal kinni üksuse elutsükli sõnumid allikast wg-quick@wg0 või NetworkManageri VPN-pluginast, ja kerneli ringpuhver kannab liidese- ja marsruutimissõnumeid. Windowsis jagab sündmuselogi loo süsteemi-, WLAN- ja kaugjuurdepääsu pakkujate vahel, igaühel oma identifikaatorid. macOS-is kannab ühtne logi alamsüsteemiga piiratud sõnumeid, mida graafiline Console näitab vaid osaliselt.

Sõnavarad ei tõlgi. Ühe platvormi sündmuse identifikaator ei tähenda teisel midagi, ja Windowsi dialoogi ekraanipilt ei tõesta Linuxi üksuse kohta midagi.

Kõigi kolme ühine on ajatempel, allikas ja tõsidusaste, ja just see kolmik teeb võimalikuks kliendilogi ja operatsioonisüsteemi kirje seostamise. Ka kättesaadavus varieerub: journalita konteiner, kärbitud Windowsi kujutis või ehitamise ajal vähendatud logitase võivad varjata terve kihi.

FacilityWhat it recordsWhat it cannot show
systemd journalUnit start and stop, helper output, exit statusWhether packets actually reached the peer
Kernel and netlinkInterface creation, address assignment, route changesWhy the client asked for that configuration
Windows event logProvider-specific connection and adapter eventsAnything the provider chose not to log

Mida ühendatud rida tõestab ja mida mitte

Teenuse käivitamise sündmus registreerib, et kohalikku üksust paluti käivitada ja et see ei lõppenud kohe. See ei registreeri lõpetatud kätlust, kehtivat partneri võtit ega töötavat marsruuti. Selle rea pidamine tunneli tõestuseks on nende logide kõige levinum vale tõlgendus. Rida tõestab kavatsust ja protsessi olekut ning mitte kui midagi kättesaadavuse kohta.

Edastusolek on eraldi vaatlus ja see tuleb marsruutimistabelist, mitte ühestki logist.

Adapteri sündmus võib selgitada vaikset riket: liides tuli üles, aadress määrati, ja marsruute ei paigaldatud kunagi, sest poliitikareegel lükkas need tagasi. Selles järjestuses näeb iga nähtav rida terve välja, samal ajal kui midagi ei marsruutita, ja ainus viis seda näha on võrrelda logi ajatempleid marsruutimistabeliga samal hetkel. Hoidke kliendi enda sündmuste järjekord mõlema kõrval, sest klient on ainus allikas, mis teab, mida ta küsis. Kaks fakti, mida koos vajate, ei esine peaaegu kunagi samal real.

Hilisem uuesti ühendamine kirjutab selle pildi huvitava osa üle, nii et jäädvustage aken esimese rikke ajal, mitte pärast kolme katset.

Seostage kitsas aken

Kirjutage katse aeg koos ajavööndiga üles, seejärel tõmmake välja need mõned minutid selle ümbert. Akna esimene viga eelneb peaaegu alati katkestusreale, mida tugipiletid tsiteerivad.

journalctl -u wg-quick@wg0 --since "today 09:00" --until "today 09:20"
ip route show table all | grep wg0
log show --last 20m --predicate 'subsystem == "com.apple.network"'

Iga käsk vastab küsimuse eri osale: esimene annab elutsükli, teine edastusoleku, kolmas macOS-i võrgu alamsüsteemi. Windowsis filtreerige süsteemilogi pakkuja nime järgi, selle asemel et tervet kanalit kerida, ja eksportige ainult sobivad sündmused.

Hoidke väljavõte piisavalt väike, et lugeja suudaks seda jälgida. Kahekümne minuti aken nelja asjakohase sündmusega toetab järeldust; tuhandete ridadega terve päeva eksport ei toeta midagi.

Kus need kirjed lõpevad

Kohalikud kirjed kirjeldavad seadet, mitte teekonda. Need ei saa näidata, mida pakkuja salvestas, kas seanss seoti kontoga või mida sihtkoht nägi. Pakkuja väide, et ta loge ei pea, ei ütle midagi sinu sülearvuti operatsioonisüsteemi kohta, ja kohalik sündmus ei tõesta midagi pakkuja ajalooliste kirjete kohta.

Need kannavad ka rohkem isikuandmeid, kui oodatud: kasutajanimed, hostinimed, mountimisteid ja seadme identifikaatorid esinevad tavalistes süsteemisõnumites isegi siis, kui sirvimissisu pole. Eemaldage need enne, kui midagi piletile lisada, ja hoidke originaali tavapärase juurdepääsukontrolli all.

Hallatud seadmes küsige IT-osakonnalt asjakohast väljavõtet, selle asemel et proovida organisatsioonilist logimist kustutada. Diagnostiline eesmärk on üks kitsas küsimus, millele vastavad kaks allikat, mitte masina täielik ajalugu.

Seotud artiklid