Applikationsloggar Vad vill vi göra Vad får vi får göra Exempel från verkligheten Roger Lindblom Secorum AB roger.lindblom@secorum.se
Var börjar vi?
Problemområden Loggdata i flertalet av dina existerande system är inte skapad för analys utanför det egna systemet Det finns en övertro på att ju mer jag loggar desto bättre rustad är jag för kommande analyser Det finns inte en ägare för samtliga steg i logghanteringskedjan vilket innebär att roller, ansvar och mandat kopplat till ett logghanteringssystem sällan finns En skrämmande stor del av delmängderna i loggposterna går inte att förklara vad de betyder (ingen vet) Få är klara med för vilka syften man vill logga sina användare Ännu färre vet vad som är rätt information att logga för att uppnå avsedda syften
Lokal loggkontroll Kombination av logg och databas Lågt informationsvärde + 1. 2010:04:15 12:00:10+0200 Läsa 191212121212 Intervju Dokument_id 5068799 0 319752 1 319752 20100505140000 EXD_REFRESH TB E 938 1 1 938 191212121212 1 = Loggrapport Högt informationsvärde 2. SELECT dokumentnamn, forfattare FROM Tabell_X WHERE Dokument_id= 5068799 ; 3. 12:00:10+0200 Läsa 191212121212 Intervju Dokument_id 506879 9 0 Intervju med Sture Svensson 2010-05-05 kl 14:00 Roger Lindblom 0 319752 1 319752 20020529135723 EXD_REFRESH TBE 938 1 1 938 191212121212 1 RESULTAT En loggrapport som är helt OK
Central logganalys Samma logg 2010:04:15 12:00:10+0200 Läsa 191212121212 Intervju Dokument_id 5068799 0 319752 1 319752 20100505140000 EXD_REFRESH TBE 938 1 1 938 191212121212 1 + Applikationens databas nås ej = = 2010:04:15 12:00:10+0200 Läsa 191212121212 Intervju Dokument_id 5068799 0 319752 1 319752 20100505140000 EXD_REFRESH TBE 938 1 1 938 191212121212 1 RESULTAT Analysen kan inte fullföljas utan uppslag mot applikationens databas. Dokument-ID 5068799 säger inget utan översättning
Data vs Info 2009-11-11T08:33:57.937+0000 suser test-system 172.31.32.182 PC- 123456 Search 1 1 QueryRequest QueryRequest=se.ttt.org.sis.schema.;TrackingID=PC-669292/172.31.32.182T1257928436718 ;BoatQuery=se.ttt.org.sis.schema.v2.query.BoatQueryType[se.ttt.org.sis.schema.v2.query.BoatQueryType=BoatQueryType;MinScore=0; RegistrationNumber=ABC123;CountryOfRegistration=0001.01;Category=0011.01;];];
Kravhantering När det går fel och hur det bör gå till En kravare behöver inte ha någon djupare kunskap om logghantering för att kravställa på systemet! Krav hämtas från verksamheten och ett logghanteringssystem kravställs som vilket annat IT-system som helst! HÄR BÖRJAR DET GÅ ÅT SKOGEN Kravaren har inte de relevanta frågorna att ställa och verksamheten har svårt att kravställa på en funktion de ofta tror redan finns Du behöver tillföra expertisen kring logghantering för att dina befintliga roller ska generera något som fungerar Kravhanteringen måste hela tiden utgår från hur den påverkar analysen och eftersom kravaren inte analyserat loggar tidigare så.
Användningsfall/Analysbehov Ska vi skriva användningsfall efter den information vi har i våra loggar eller Ska vi skapa den information vi behöver för att uppnå våra användningsfall
Var fångas kraven? Beställaren (bör rimligen ha en aning om vad han vill ha ut) Förvaltningar (applikationer och plattformar) Drift Logganalytiker (ofta manuell verksamhet) Internal audit funktioner (om sådana finns) PUO och organisationens jurister Verksamheten genom att ställa de relevanta frågorna Lagstiftning och styrande regelverk EXPERTER SOM GJORT DENNA RESA FLERA GÅNGER TIDIGARE
https://www.expressen.se/nyheter/atal-vantar-for-lindh-nyfikenhet/ Erfarenheter från intrång
Vi behöver en logghanteringsmodell Nya IT-system Analysbehov alt Syfte och Mål Regulatoriska krav och Verksamhetsbehov Återkoppling Generering av loggdata Insamling Bearbetning Analys Rapportering Lagring Radering Data Data/Information Information
Typiska krav på insamling Realtid och batch Omfatta loggdata från fil, databas och syslog Logginsamling ska ske med garanterad Riktighet Sekretess Mottagning Inga dubbletter Bandbreddskontroll Komprimering
Typiska krav på bearbetning Parsa (skapa strukturerad data som Json, CEF m.fl.) Filtrera Uppslag Berika Aggregera Kategorisera Konvertera (t.ex. CEF till Json)
Typiska krav på analys Analys på loggdata insamlad i snar realtid Automatisering Korrelering Visualisering (larm, dashboards m.m.) Ärendehantering Repeterbarhet (återskapa tidigare rapporter) Säker lagring av loggdata Lagringstider (olika för olika typer av loggar) Gallring/radering (automatiserad)
Krav på information (applikationsloggen) Skapa Uppdatera Söka Läsa Radera Annat Första loggposten som skapas när ett nytt huvudobjekt skapas. Loggning sker av den information användaren skapar Loggning sker av den information användaren uppdaterar Detta blir en snapshot av objektet vid vare uppdatering Loggning sker av sökvärden och om möjligt antal träff (numeriskt) Loggning sker av objektets identitet och tillhörande värden Ingen loggning sker av objektets innehåll Loggning sker av huvudobjektets id om hela objektet raderas Radering av subobjekt loggar subobjektets id samt huvudobjektets Loggas utifrån behov, t.ex. Utskrift om det är aktuellt
Exempel på loggade värden i en applikationslogg Network modelling Geografisk info Etc DiarieNr Myndighet GIS Metadata Kontext Anv User-ID LogMap (UUID) Source system ID Destination system ID Certificate serial number CA name Role Object-ID Object-Type Object-ID-Type Message field Success Etc. Objekt H-typ Plats Source IP-Address Log generating IP-Address Log generating system-id MAC-Address Computer name Create Read Search Update Delete Etc. Tid Different type of time stamps Create Log agent receive Correlation engine receive Archive receive Etc.
Loggad Läsa händelse Det går att skapa en bra logg Ärende 17/03 Huvudobjekt Förhör Brottsplats Rättsläkare Objekt-Typ Må Vittne Mt Annat Skiss Foto Annat Utlåtande Annat Objekt-Id-Typ Förhör 1 Förhör 2 Förhör 3 Förhör 1 Förhör 2 Förhör 3 Förhör 1 Förhör 2 Förhör 3 Förhör 1 Förhör 2 Förhör 3 Skiss 1 Skiss 2 Skiss 3 Foto 1 Foto2 Annat 1 Annat 2 Annat 3 Objekt-Id 2010-04-21T09:16:49.593+0200 187105140000 6188942c-4964-4652-becb-6d0a58ef72a5 test-system 172.31.2.171 PC-123456 Läsa 1 1 Förhör Målsägande Förhör 2 Ärende:17-03; 0203
Anv-id:AD12345 Händelsetyp:Search PATH: Röd text ApplikationA LeverantörA 19 20140303T17:14:05.438+0200 AD12345 Search 1 Darc DC4 Personer;Personnummersökning Personnummer=19121212-1212,Ta Personrapport=false Krav på loggning Collectum 2016-09-14
Ändamålsbeskrivningen GDPR artikel 5 exempel Ändamålet med organisationens logghantering är att skydda den enskildes integritet samt skydda organisationens information och IT-system mot otillåtna behandlingar och andra skador. Detta innebär att loggdata bland annat ska kunna användas för: att systematisk och återkommande kontrollera och följa upp att användningen av organisationens ITsystem sker i enlighet med de regler och krav som tar sikte på skyddet för den personliga integriteten och informationssäkerheten, att i förekommande fall, och där särskild anledning finns, kontroll av att aktiviteter i IT-system är lagliga såvitt avser t.ex. oegentligheter, att upptäcka och följa upp obehörig åtkomst till informationen i fråga, att följa upp och kontrollera hanteringen av IT-system av tekniska, tillgänglighetsrelaterade och säkerhetsmässiga skäl, att leverera information för statistiska ändamål ur tillgänglighets- och säkerhetsrelaterade skäl, att skapa, förbättra och verifiera verksamhetsprocesser, att kunna förebygga, upptäcka, utreda och rapportera brister och intrång i organisationens IT-system.
Nu när vi kan och får Mäta användarnas beteenden före, under och efter en utbildningsinsats Mäta systemanvändning vid övergång till nya IT-system (avveckling av gamla) Nyfikenhetsslagningar vid större händelser, kändisar och Korrelering - multipla inloggningar från olika geografiska områden Korrelering systemutnyttjanden av användare som har semester Följa remisser och upptäcka avbrott i remissflödet Mäta nyttjandegraden av höga behörigheter Följa hur ett objekt hanteras längs en kedja (flyg person och bagage) Jämföra antaganden med faktiska resultat (Nova-listor med verkligt intresse)
Produktifiering Hela logghanteringsområdet idag är produktifierat Det är svårt för en beställare att veta vad som är en lämplig lösning Leverantörerna lovar mycket och allt är lätt. I verkligheten är det svårt Det händer mycket på marknaden. Kommersiella lösningar börjar fungera med open source lösningar Nu finns möjligheten att minska licenskostnaderna utan avkall på funktionalitet
Agent Producenter (push) Köhanterare Kluster Konsumenter (pull) Windows EventLog Kafka Applikation A LogStash LogStash LogStash search Elasticsearch Kibana Routers Switchar Applikation B Syslog brygga FW?? Kafka Kafka ArcSight Splunk? Asynkron överföring Cache
Skapa testdata av dina produktionsdata med Hidesense https://hidesense.com