Mida kohalikud süsteemilogid VPN-ühenduse kohta näitavad
Operatsioonisüsteem registreerib teenuse käivitused, adapteri muudatused ja marsruudivead, mida rakendus kunagi üles ei kirjuta. Lugege üht kitsast ajavahemikku ja seostage see.
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.
| Facility | What it records | What it cannot show |
|---|---|---|
| systemd journal | Unit start and stop, helper output, exit status | Whether packets actually reached the peer |
| Kernel and netlink | Interface creation, address assignment, route changes | Why the client asked for that configuration |
| Windows event log | Provider-specific connection and adapter events | Anything 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.