En VPN-advarsel, der udløses på et nyt land, virker afgørende, og det er den sjældent. Autentificering siger, at et forsøg blev accepteret; sessionen siger, hvilken forbindelse der bar det; ressourceposter siger, hvad der skete inde i den forbindelse. Hver især svarer de på et forskelligt spørgsmål. En regel, der smelter alle tre sammen, giver tredive sager om mandagen og overser det virkelige tilfælde om fredagen.

En udenlandsk adresse er et spørgsmål, ikke et svar

Rejser, mobiloperatører med udgang i et andet land, en virksomhedswebproxy og en omfordelt carrier-grade NAT-pulje flytter alle den tilsyneladende kilde uden at flytte angriberen. Loginposten afspejler, hvor forbindelsen kom ind i netværket, ikke hvem der holdt enheden.

Den omvendte fejl er værre, fordi den er stille. En stjålen adgangskode brugt fra brugerens egen by giver et login, der matcher hvert tidligere login i geografikontrollen.

At behandle geografi som dommen har en målbar pris. Rejsende bærbare computere skaber en jævn strøm af gennemsyn, gennemgående lærer at lukke dem uden at læse, og vanen holder, indtil en virkelig sag lander i samme kø.

Tre posttyper svarer på tre forskellige spørgsmål

Begynd med det, de udrullede produkter faktisk udsender, ikke med hvad en produktbrochure antyder, at de kunne udsende. Autentificeringsbeslutningen angiver den hævdede identitet, metoden og resultatet. Sessionens livscyklus angiver forbindelsen, gatewayen og den tildelte adresse, fra start til stop.

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 hul i indsamlingen, ikke en frifindelse. Hvis ressourcehændelser aldrig ankommer, betyder fraværet af en mistænkelig læsning, at pipelinen ikke har noget at rapportere, og et stille dashboard beskriver pipelinen snarere end netværket. Skriv ned, hvilke poster udrulningen faktisk producerer, før du lover en regel, der afhænger af dem, og navngiv ejeren af hvert manglende feed.

Regnskabsdetaljer er, hvor sessioner bliver kontrollerbare. RADIUS-regnskab som beskrevet i RFC 2866 bærer start, stop og mellemliggende opdateringer knyttet til en sessionsidentifikator, så en session med en start og intet stop er et hul, du kan navngive i stedet for et mysterium.

Knyt sammen på sessionen, ikke på brugernavnet

Én konto holder legitimt flere sessioner på én gang: en bærbar, en telefon, en laboratoriemaskine efterladt forbundet om natten. At forbinde hver hændelse for det brugernavn smelter tre enheder til én historie og læser derefter kombinationen som kompromittering. Tildelte adresser genbruges også, så en sammenkædning, der fortsat matcher en adresse, efter sessionen sluttede, trækker sidste måneds enhed ind i dagens hændelse. Behold sessionsnøglen ved siden af adressen, og afgræns matchningen til det tidsvindue, sessionen faktisk dækkede.

Hvor oversættelse fjerner den oprindelige kilde, før en tjeneste ser den, så brug den identitet, der overlever ved den grænse, såsom et gensidigt TLS-subjekt eller en single sign-on-påstand. At opfinde en en-til-en-mapping mellem en adresse og en person er den samme fejl med ekstra trin.

En advarsel uden ejer er et dashboard

Hver regel kræver en betingelse, de godartede forklaringer, der frembringer den, de beviser, der skal trækkes, og den person, der handler. En gentagen afvist administrativ handling, en byge af mislykkede adgangskoder og en tavs collector er tre forskellige hændelser med tre forskellige ure.

Notifikation er ikke inddæmning, og en distribitionsliste begrænser intet. Ændring af en live session kræver den komponent, der kan gøre det, hvad enten det er gatewayen, der dropper forbindelsen, eller identitetsudbyderen, der tilbagekalder sessionen. Forældede feeds og manglende stop-poster hører også til i regelteksten, fordi en collector, der ikke har sendt noget i et døgn, ser nøjagtig ud som et stille netværk fra dashboardet. Forskellen er kun synlig i pipelinen selv.

Kontroller indsamlingsvejen, før du tror på en stille uge

Bevis pipelinen ende til ende, før du justerer en enkelt regel. Kommandoerne nedenfor bekræfter, at lytterne til autentificering og regnskab er oppe, at en testlegitimation afvises af den rigtige grund, og at sessionhændelser stadig ankommer:

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 anmodningen nåede serveren, og at den delte hemmelighed passede, og det er den del, folk springer over. En timeout peger i stedet på hemmeligheden, lytteren eller et filter foran den, og hver advarsel nedenstrøms er uverificerbar, indtil det er rettet.

Urstatus betyder noget, fordi korrelationsvinduer forudsætter enighed. En gateway, der er minutter forkert, får en ellers ren sessionssammenkædning til at se umulig ud, og gennemgående kompenserer ved at udvide vinduet, indtil sammenkædningen holder op med at skelne. Kontroller afvigelsen, før du redigerer reglen.

Kør derefter en regel gennem en uskadelig test: generér et login fra en uventet adresse, bekræft, at advarslen udløses, bekræft, at den reagerende kan trække sessionen og dens ressourcehændelser, og bekræft, at sagen bærer sessionsidentifikatoren. En regel, der giver en sammenhængende historie, består. En regel, der giver en bunke loglinjer, er stadig et dashboard. Skriv resultatet op mod reglen, så det næste gennemsyn starter med beviser i stedet for intuition.

Relaterede artikler