Mitä paikalliset järjestelmälokit paljastavat VPN-yhteydestä
Käyttöjärjestelmä kirjaa palveluiden käynnistykset, sovittimien muutokset ja reittivirheet, joita sovellus ei koskaan kirjoita. Lue yksi kapea aikaikkuna ja korreloi se.
Jokainen työpöytä pitää omaa kirjaansa siitä, mitä VPN teki, ja sovelluksen vienti on yleensä niistä puutteellisin. Palvelunhallinnat merkitsevät, milloin yksikkö käynnistyi, ydin merkitsee, milloin rajapinta ilmestyi, ja verkkopino merkitsee, milloin reittejä ei voitu ottaa käyttöön. Mikään näistä mekanismeista ei tiedä, mitä asiakas aikoi, eikä asiakas tiedä, mitä ydin teki sen pyynnöllä.
Yhden tällaisen kirjauksen lukeminen erikseen houkuttaa väärään johtopäätökseen. Lue kaksi, samalta minuutilta, ja järjestys tulee näkyväksi.
Kolme mekanismia ja kolme sanastoa
Linuxissa systemd-journali kaappaa yksikön elinkaaren viestejä lähteestä wg-quick@wg0 tai NetworkManagerin VPN-liitännäisestä, ja ytimen rengaspuskuri kuljettaa rajapinta- ja reititysviestejä. Windowsissa tapahtumaloki jakaa tarinan järjestelmä-, WLAN- ja etäkäyttötoimittajille, kullakin omat tunnisteensa. macOSissa yhtenäinen loki kuljettaa alijärjestelmään rajattuja viestejä, joita graafinen Console näyttää vain osittain.
Sanastot eivät käänny. Yhden alustan tapahtumatunniste ei tarkoita toisella mitään, eikä Windows-dialogin kuvakaappaus todista mitään Linux-yksiköstä.
Kaikille kolmelle yhteistä on aikaleima, lähde ja vakavuusaste, ja juuri se kolmikko tekee mahdolliseksi asiakaslokin ja käyttöjärjestelmän kirjauksen korreloinnin. Myös saatavuus vaihtelee: kontti ilman journalia, karsittu Windows-levykuva tai rakennusvaiheessa laskettu lokitaso voivat piilottaa kokonaisen kerroksen.
| 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 |
Mitä yhdistetty rivi todistaa ja mitä ei
Palvelun käynnistymisen tapahtuma kirjaa, että paikallista yksikköä pyydettiin käynnistymään eikä se lopettanut heti. Se ei kirjaa valmistunutta kättelyä, kelvollista vertaisavainta eikä toimivaa reittiä. Kyseisen rivin pitäminen tunnelin todisteena on näiden lokien yleisin väärinluenta. Rivi todistaa aikomuksen ja prosessin tilan, ja täysin ei mitään saavutettavuudesta.
Edelleenlähetystila on erillinen havainto, ja se tulee reititystaulusta eikä mistään lokista.
Sovittimen tapahtuma voi selittää hiljaisen vian: rajapinta nousi, osoite annettiin, eikä reittejä koskaan asennettu, koska käytäntösääntö hylkäsi ne. Siinä järjestyksessä jokainen näkyvä rivi näyttää terveeltä, vaikka mitään ei reititetä, ja ainoa tapa nähdä se on verrata lokin aikaleimoja reititystauluun samalla hetkellä. Pidä asiakkaan oma tapahtumajärjestys molempien rinnalla, sillä asiakas on ainoa lähde, joka tietää, mitä se pyysi. Ne kaksi tosiasiaa, jotka tarvitset yhdessä, eivät lähes koskaan esiinny samalla rivillä.
Myöhempi uudelleenyhdistäminen kirjoittaa tämän kuvan kiinnostavan osan yli, joten tallenna ikkuna ensimmäisellä vikakerralla eikä vasta kolmen yrityksen jälkeen.
Korreloi kapea ikkuna
Kirjaa yrityksen aika aikavyöhykkeineen ja ota sitten ne muutamat minuutit sen ympäriltä. Ikkunan ensimmäinen virhe edeltää lähes aina katkaisuriviä, jota tukipyynnöt siteeraavat.
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"'
Jokainen komento vastaa kysymyksen eri osaan: ensimmäinen antaa elinkaaren, toinen edelleenlähetystilan, kolmas macOS:n verkon alijärjestelmän. Windowsissa suodata järjestelmäloki toimittajan nimen mukaan sen sijaan että vierität koko kanavan, ja vie vain vastaavat tapahtumat.
Pidä ote riittävän pienenä, että lukija voi seurata sitä. Kahdenkymmenen minuutin ikkuna neljällä merkityksellisellä tapahtumalla tukee johtopäätöstä; tuhansien rivien kokopäivän vienti ei tue mitään.
Mihin nämä kirjaukset päättyvät
Paikalliset kirjaukset kuvaavat laitetta, eivät polkua. Ne eivät voi näyttää, mitä palveluntarjoaja tallensi, yhdistettiinkö istunto tiliin tai mitä kohde näki. Palveluntarjoajan lausunto siitä, ettei se pidä lokeja, ei kerro mitään kannettavasi käyttöjärjestelmästä, eikä paikallinen tapahtuma todista mitään palveluntarjoajan historiallisista kirjauksista.
Ne sisältävät myös enemmän henkilötietoja kuin odotetaan: käyttäjänimet, isäntänimet, liitospolut ja laitetunnisteet näkyvät tavallisissa järjestelmäviesteissä, vaikka selaussisältöä ei olisi. Poista ne ennen kuin liität mitään tikettiin, ja säilytä alkuperäinen normaalin pääsynvalvonnan alaisena.
Hallitulla laitteella pyydä asiaankuuluva ote IT:ltä sen sijaan että yrittäisit tyhjentää organisaation lokituksen. Diagnostinen tavoite on yksi kapea kysymys, johon kaksi lähdettä vastaa, ei koneen täydellinen historia.