VPN-inloggningsvarningar är inte intrångsvarningar: följ sessionen
En ovanlig inloggning är ett skäl till granskning, inte en dom. Knyt autentiseringsposten till en session och sedan till det sessionen rörde vid, innan du kallar det intrång.
En VPN-varning som utlöses för ett nytt land känns avgörande, och det är den sällan. Autentiseringen säger att ett försök accepterades; sessionen säger vilken anslutning som bar det; resursposterna säger vad som hände inuti den anslutningen. Var och en svarar på en annan fråga. En regel som slår ihop alla tre ger trettio ärenden på måndagen och missar det verkliga fallet på fredagen.
En utländsk adress är en fråga, inte ett svar
Resor, mobiloperatörer som går ut i ett annat land, en företagswebbproxy och en omfördelad carrier-grade NAT-pool flyttar alla den skenbara källan utan att flytta angriparen. Inloggningsposten speglar var anslutningen kom in i nätverket, inte vem som höll enheten.
Det omvända felet är värre eftersom det är tyst. Ett stulet lösenord som används från användarens egen stad ger en inloggning som stämmer med varje tidigare inloggning i geografikontrollen.
Att behandla geografi som domen har en mätbar kostnad. Resande bärbara datorer skapar ett jämnt flöde av granskningar, granskarna lär sig att stänga dem utan att läsa, och vanan håller tills ett verkligt fall landar i samma kö.
Tre posttyper svarar på tre olika frågor
Börja med vad de utrullade produkterna faktiskt sänder ut, inte med vad en produktbroschyr antyder att de skulle kunna. Autentiseringsbeslutet namnger den påstådda identiteten, metoden och resultatet. Sessionens livscykel namnger anslutningen, gatewayen och den tilldelade adressen, från start till stopp.
| Record | Question it answers | What it cannot prove |
|---|---|---|
| Authentication decision | Which identity was accepted or rejected, by which method, at what time | That the person operating the device was the account owner |
| Session lifecycle | Which connection, gateway and assigned address were active, and for how long | What the session did with that access |
| Resource event | Which read, write or denied operation a service observed | Which human behind the session triggered it |
| Policy change | Whether an administrator altered the rule that governs the access | Whether the change was reviewed or intended |
En tom cell är en lucka i insamlingen, inte en frikännande dom. Om resurshändelser aldrig kommer betyder avsaknaden av en misstänkt läsning att pipeline inte har något att rapportera, och en tyst instrumentpanel beskriver pipeline snarare än nätverket. Skriv ned vilka poster utrullningen faktiskt producerar innan du lovar en regel som beror på dem, och namnge ägaren till varje saknat flöde.
Redovisningsdetaljerna är där sessioner blir kontrollerbara. RADIUS-redovisning enligt RFC 2866 bär start-, stopp- och mellanliggande uppdateringar knutna till en sessionsidentifierare, så en session med en start och ingen stopp är en lucka du kan namnge i stället för ett mysterium.
Knyt ihop på sessionen, inte på användarnamnet
Ett konto har legitimt flera sessioner samtidigt: en bärbar dator, en telefon, en laboratoriemaskin som lämnats ansluten över natten. Att knyta varje händelse för det användarnamnet smälter tre enheter till en historia och läser sedan kombinationen som kompromettering. Tilldelade adresser återanvänds också, så en sammankoppling som fortsätter att matcha en adress efter att sessionen tagit slut drar in förra månadens enhet i dagens incident. Behåll sessionsnyckeln bredvid adressen och begränsa matchningen till det tidsfönster som sessionen faktiskt täckte.
Där översättning tar bort den ursprungliga källan innan en tjänst ser den, använd den identitet som överlever vid den gränsen, till exempel ett ömsesidigt TLS-subjekt eller ett påstående om enkel inloggning. Att hitta på en en-till-en-mappning mellan en adress och en person är samma misstag med extra steg.
En varning utan ägare är en instrumentpanel
Varje regel behöver ett villkor, de godartade förklaringar som framkallar den, bevisen som ska hämtas och personen som agerar. En upprepad avvisad administrativ åtgärd, en skur av misslyckade lösenord och en tyst insamlare är tre olika incidenter med tre olika klockor.
Avisering är inte inneslutning, och en distributionslista begränsar ingenting. Att ändra en levande session kräver komponenten som kan göra det, antingen gatewayen som släpper anslutningen eller identitetsleverantören som återkallar sessionen. Föråldrade flöden och saknade stopposter hör också hemma i regeltexten, eftersom en insamlare som inte skickat något på ett dygn ser precis ut som ett tyst nätverk från instrumentpanelen. Skillnaden syns bara i själva pipeline.
Kontrollera insamlingsvägen innan du tror på en tyst vecka
Bevisa pipeline från början till slut innan du justerar en enda regel. Kommandona nedan bekräftar att lyssnarna för autentisering och redovisning är uppe, att en testuppgift avvisas av rätt skäl och att sessionshändelser fortfarande kommer in:
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 från testet bevisar att begäran nådde servern och att den delade hemligheten stämde, och det är den delen folk hoppar över. En timeout pekar i stället på hemligheten, lyssnaren eller ett filter framför den, och varje varning nedanför är overifierbar tills det är åtgärdat.
Klocktillståndet spelar roll eftersom korrelationsfönster förutsätter enighet. En gateway som avviker med minuter gör en i övrigt ren sessionssammankoppling omöjlig, och granskarna kompenserar genom att vidga fönstret tills sammankopplingen slutar skilja. Kontrollera avvikelsen innan du redigerar regeln.
Kör sedan en regel genom ett ofarligt test: generera en inloggning från en oväntad adress, bekräfta att varningen utlöses, bekräfta att den som svarar kan hämta sessionen och dess resurshändelser, och bekräfta att ärendet bär sessionsidentifieraren. En regel som ger en sammanhängande historia går igenom. En regel som ger en hög loggrader är fortfarande en instrumentpanel. Skriv resultatet vid regeln så att nästa granskning börjar med bevis i stället för intuition.