Et VPN-varsel som utløses på et nytt land virker avgjørende, og det er det sjelden. Autentisering sier at et forsøk ble godtatt; økten sier hvilken tilkobling som bar det; ressursposter sier hva som skjedde inne i den tilkoblingen. Hver svarer på et ulikt spørsmål. En regel som slår alle tre sammen, gir tretti saker på mandag og overser den virkelige saken på fredag.

En utenlandsk adresse er et spørsmål, ikke et svar

Reiser, mobiloperatører som går ut i et annet land, en bedriftswebproxy og en omfordelt carrier-grade NAT-pool flytter alle den tilsynelatende kilden uten å flytte angriperen. Innloggingsposten gjenspeiler hvor tilkoblingen kom inn i nettverket, ikke hvem som holdt enheten.

Den motsatte feilen er verre fordi den er stille. Et stjålet passord brukt fra brukerens egen by gir en innlogging som samsvarer med hver tidligere innlogging i geografikontrollen.

Å behandle geografi som dommen har en målbar kostnad. Reisende bærbare maskiner skaper en jevn strøm av gjennomganger, gjennomgåerne lærer å lukke dem uten å lese, og vanen holder til en virkelig sak lander i samme kø.

Tre posttyper svarer på tre ulike spørsmål

Start med det de utrullede produktene faktisk sender ut, ikke med det en produktbrosjyre antyder at de kan sende ut. Autentiseringsbeslutningen navngir den påståtte identiteten, metoden og resultatet. Øktens livssyklus navngir tilkoblingen, gatewayen og den tildelte adressen, fra start til stopp.

RecordQuestion it answersWhat it cannot prove
Authentication decisionWhich identity was accepted or rejected, by which method, at what timeThat the person operating the device was the account owner
Session lifecycleWhich connection, gateway and assigned address were active, and for how longWhat the session did with that access
Resource eventWhich read, write or denied operation a service observedWhich human behind the session triggered it
Policy changeWhether an administrator altered the rule that governs the accessWhether the change was reviewed or intended

En tom celle er et hull i innsamlingen, ikke en frifinnelse. Hvis ressursshendelser aldri kommer, betyr fraværet av en mistenkelig lesing at pipelinen ikke har noe å rapportere, og et stille dashbord beskriver pipelinen snarere enn nettverket. Skriv ned hvilke poster utrullingen faktisk produserer før du lover en regel som avhenger av dem, og navngi eieren av hver manglende feed.

Regnskapsdetaljene er der økter blir kontrollerbare. RADIUS-regnskap som beskrevet i RFC 2866 bærer start-, stopp- og mellomliggende oppdateringer knyttet til en øktidentifikator, så en økt med en start og ingen stopp er et hull du kan navngi i stedet for et mysterium.

Koble sammen på økten, ikke på brukernavnet

Én konto har legitimt flere økter samtidig: en bærbar, en telefon, en laboratoriemaskin som er latt tilkoblet over natten. Å knytte hver hendelse for det brukernavnet smelter tre enheter til én historie og leser deretter kombinasjonen som kompromittering. Tildelte adresser resirkuleres også, så en sammenkobling som fortsatt samsvarer med en adresse etter at økten er over, drar forrige måneds enhet inn i dagens hendelse. Behold øktnøkkelen ved siden av adressen, og begrens samsvaret til tidsvinduet økten faktisk dekket.

Der oversettelse fjerner den opprinnelige kilden før en tjeneste ser den, bruk identiteten som overlever ved den grensen, for eksempel et gjensidig TLS-subjekt eller en enkeltinnloggingspåstand. Å finne opp en en-til-en-kobling mellom en adresse og en person er den samme feilen med ekstra trinn.

Et varsel uten eier er et dashbord

Hver regel trenger en betingelse, de godartede forklaringene som frembringer den, bevisene som skal hentes, og personen som handler. En gjentatt avvist administrativ operasjon, en byge av mislykkede passord og en taus innsamler er tre ulike hendelser med tre ulike klokker.

Varsling er ikke inndemming, og en distribusjonsliste begrenser ingenting. Å endre en levende økt krever komponenten som kan gjøre det, enten det er gatewayen som dropper tilkoblingen, eller identitetsleverandøren som tilbakekaller økten. Utdaterte feeds og manglende stopp-poster hører også hjemme i regelteksten, fordi en innsamler som ikke har sendt noe på et døgn, ser nøyaktig ut som et stille nettverk fra dashbordet. Forskjellen er bare synlig i pipelinen selv.

Kontroller innsamlingsveien før du tror på en stille uke

Bevis pipelinen ende til ende før du justerer en eneste regel. Kommandoene nedenfor bekrefter at lytterne for autentisering og regnskap er oppe, at en testlegitimasjon avvises av riktig grunn, og at økthendelser fortsatt kommer inn:

ss -uanp | grep -E ':(1812|1813)\b'
radtest alice 'not-the-password' 127.0.0.1 0 testing123
journalctl -u openvpn-server@server --since '-30 min' | grep -c 'Peer Connection Initiated'
timedatectl | grep -E 'System clock|synchronized'

En Access-Reject fra testen beviser at forespørselen nådde serveren og at den delte hemmeligheten stemte, og det er den delen folk hopper over. En timeout peker i stedet på hemmeligheten, lytteren eller et filter foran den, og hvert varsel nedenfor er uverifiserbart til det er rettet.

Klokketilstanden betyr noe fordi korrelasjonsvinduer forutsetter enighet. En gateway som avviker med minutter gjør en ellers ren øktsammenkobling umulig, og gjennomgåerne kompenserer ved å utvide vinduet til sammenkoblingen slutter å skille. Kontroller avviket før du redigerer regelen.

Kjør deretter én regel gjennom en ufarlig test: generer en innlogging fra en uventet adresse, bekreft at varselet utløses, bekreft at den som svarer kan hente økten og ressursshendelsene dens, og bekreft at saken bærer øktidentifikatoren. En regel som gir en sammenhengende historie, består. En regel som gir en haug med logglinjer, er fortsatt et dashbord. Skriv resultatet ved regelen slik at neste gjennomgang starter med bevis i stedet for intuisjon.

Relaterte artikler