SIEM – AlienVault OSSIM 2/2
Welkom terug bij de tweede AlienVault OSSIM post. In de vorige post hebben we het OSSIM SIEM systeem geïnstalleerd en in deze post gaan we OSSIM verder configureren. We gaan de basisstappen zetten in het systeem en bekijken bepaalde interessante functionaliteiten die het systeem ons biedt. Je zult zien dat OSSIM een duidelijke structuur heeft en dat de meeste functies op logische plaatsen te vinden zijn. Let’s check it out:
De laatste afbeelding uit de vorige post was onderstaande afbeelding van het dashboard:
Dat zag er al aardig gelikt uit. Laten we even wat beter naar de specifieke onderdelen van OSSIM kijken:
1. Topmenu
In het topmenu vinden we een aantal zaken terug waaronder de basisinstellingen, logout button, IP adres van de OSSIM server en alle berichten. Via de settings kun voornamelijk je user settings configureren en de huidige sessies bekijken.
2. Dashboards
Onder de dashboards zijn verschillende handige dashboards te vinden die meer inzicht geven in de huidige deployment status, gevaren, incidenten en tickets. Dashboards kunnen volledig naar eigen inzicht ingericht worden.
3. Analysis
Deze “Analytics” tab geeft meer inzicht in de gegenereerde alerts (alarmen), de actuele tickets en de security events. Al deze gegevens zijn gemakkelijk te filteren zodat specifieke events gemakkelijk terug te vinden zijn. Ook vinden we hier (en elders in de OSSIM tool) diverse opties die niet in deze open source versie aanwezig zijn en waar dus USM voor aangeschaft dient te worden zoals de “forensic logger”.
4. Environment
Deze tab en zijn subtabs geeft meer inzicht in de huidige omgeving. Wat is de netwerkbelasting? Welke clients hebben geen verbinding meer en wat is de status van diverse services. Onder “Detection” kunnen diverse rules aanmaken of toevoegen aan het systeem en “Traffic Capture” geeft ons de mogelijkheid om specifiek netwerkverkeer te ondervangen en loggen.
5. Reports
De “Reports” tab geeft de mogelijkheid om rapportages te genereren over diverse uiteenlopende events. Deze rapportages kunnen als PDF worden opgeslagen of per e-mail worden verzonden.
6. Configuration
Configuration spreekt uiteraard voor zich. Deze functie laat ons diverse eigenschappen van de OSSIM server configureren. Zo kun je systeem backups automatiseren, ticket controle beheren, password policy instellen en nog veel meer generieke settings. Ook kunnen we de sensoren configureren, plugins aanmaken, compliance mappings maken en cross correlatie instellen. De “Configuration” tab biedt vele instellingen die initieel doorlopen moet worden voor een goede op maat gemaakte configuratie en werking van OSSIM.
7, 8, 9, 10 & 11. Dashboards / Submenu items
In de voorbeeldafbeelding zien we verschillende tabs welke behoren aan het “overview” dashboard. Dit menu is dan ook het submenu van de OSSIM tool en geeft snel toegang tot verschillende submenu items. In dit geval zien we verschillende duidelijke dashboards zoals statistieken over de huidige tickets, theats en security events.
12. Hoofdvenster
Het hoofdvenster laat de actuele content aan de gebruiker zien. In dit geval een dashboard.
Nu we bekend zijn met de basis SIEM indeling gaan we even de eerste stapjes nemen. Laten we voorop stellen dat het SIEM systeem afhankelijk is van de juiste logging gegevens. OSSIM deployed op elke node die in de gaten gehouden moet worden een zogenaamde agent, een scriptset en/of een sensor. Binnen OSSIM betekenen deze het volgende:
- Agent / HIDS Agent – Dit is software of een scriptset (bij een agentless installatie) welke op een cliënt geïnstalleerd is. De agent wordt gebruikt om lokaal HIDS logboeken te verzamelen en door te sturen.
- Asset – Dit is een identifier voor de apparaten in het netwerk.
- Sensor – De sensor is een profiel welke een specifieke set van functies omschrijft. Dit profiel is aanwezig op de OSSIM server en kan worden toegevoegd om als een standalone appliance data te verzamelen van remote sites (eventueel zonder aanwezigheid van de agent)
Hiermee ben je echter niet helemaal klaar. Een SIEM genereerd alleen de juiste output bij een goede input. Hier is dus duidelijk het “garbage in – garbage out” principe op van toepassing. Gelukkig heeft een SIEM wel enige intelligentie om met LOG bestanden om te gaan. Log bestanden kunnen vergeleken en aan elkaar gelinkt worden. Dit noemen we “log correlatie”. Kijk maar eens hoe een event meerdere log bestanden zal genereren.
Een SIEM ontvangt deze logs en vormt hiervan 1 event zodat de oorzaak evenals tijdens en betrokken systemen of gebruikers te achterhalen zijn.
De juiste logs van de juiste resources zorgen ervoor dat de tracing informatie zo compleet mogelijk is. Voor een goede deployment van je SIEM is het dus zaak dat alle belangrijke componenten van je netwerk opgenomen zijn in je SIEM. Het is dus jou taak om alle belangrijke nodes te voorzien van een sensor of een agent. In de meeste gevallen is het slim om na te denken over de verschillende netwerken, servers (denk vooral aan securty based servers zoals een AV central), hosts en netwerk devices.
Laten we 1 agent aan gaan maken (handmatig) om deze vervolgens te deployen naar een host die we niet automatisch gedeployed hebben. Om dit te doen gaan we naar “Environment” – “Agents”. Hier maken we een nieuwe agent aan middels de “Add Agent” button:
We kunnen ervoor kiezen om de hostname of het IP adres handmatig op te geven of om het netwerk te doorzoeken. Nadat de cliënt is geselecteerd slaan we de agent op om hem aan te maken:
Nu kunnen we de agent downloaden en deployen op het juiste systeem. Let op, deze agent werkt alleen maar op het aangegeven systeem en niet op andere systemen.
De installatie gaat geruisloos zonder vragen en de agent is zichtbaar in taakbeheer als “ossec-agent”. Helaas is het een 32-bits en geen 64-bits agent.
De agent is overigens prima te beheren vanuit het startmenu of direct in de configuratie tekstfile (C:\Program Files (x86)\ossec-agent\ossec.conf):
Doordat je zelf het configuratiebestand kunt modificeren kun je ervoor zorgen dat de agent zeer specifieke informatie retourneert. Op de indeling van het configuratiebestand gaan we nu niet verder in.
Let op dat je de agent voorziet van de juiste key als dit niet automatisch is gebeurt. Om dit te doen vraag je de sleutel op via “Extract Key” en voer je deze in bij de agent:
Nu de agent geïnstalleerd is hebben we de beschikking over verschillende statistieken van die machine. Om deze te bekijken ga je naar “Analysis” – “Security Events (SIEM)”. Hier kunnen we alle events bekijken en filteren op verschillende eigenschappen. Een interessante optie hier is de “Grouped” optie die verschillende events groepeert en meteen inzichtelijk maakt.
Maar om de juiste data te verkrijgen is het zaak dat we de Syslog collectie en de plugins die deze syslog informatie ophalen goed configureren. Dit is een van de belangrijkste taken en meteen ook de taak die het meeste tijd van de OSSIM administrator vergt. USM is iets makkelijker omdat USM meer out-of-the-box standaarden heeft dan OSSIM. Bij OSSIM moet het meeste handmatig geconfigureerd worden.
Syslog informatie varieert tussen verschillende devices en applicaties en dus moet er per device een juiste syslog plugin geactiveerd zijn zodat de ontvangen data goed geïnterpreteerd en gecategoriseerd kan worden. Een aantal benodigde syslog parameters zijn o.a.
- Bron IP
- Doel IP
- Poort (standard UDP 514)
Plugin configuratie kan op systeem niveau en op “asset” niveau gedaan worden. Om dit op asset niveau te doen ga je naar “Environment” – “Assets & Groups”. Hier klik je de juiste asset aan (een server / firewall etc.). Vervolgens gaan we naar “Plugins”.
Let op, niet voor elk apparaat zijn plugins beschikbaar. Als er geen default plugins beschikbaar zijn kun je zelf een plugin schrijven.
Om plugins voor meerdere soortgelijke apparaten te configureren (scheelt veel tijd omdat je anders hetzelfde trucje keer op keer aan het doen bent) ga je naar “Configuration” – “Deployment” – “System Detail” – “Sensor Configuration” – “Collection”. Hier selecteer je de sensor en vervolgens kun je je apparaten opzoeken en naar de juiste enabled plugins slepen:
Zoals je ziet zijn er 478 plugins beschikbaar welke ik kan activeren door ze naar links te slepen.
Het volgende dat we gaan doen is het activeren van de “Vulnerability Scan”. Deze scan zoekt naar zwakheden op een systeem en waarschuwt / adviseert ons wat er gemitigeerd moet worden. Op de achtergrond zal “OpenVAS” een groot gedeelte van de vulnerability scan taken op zich nemen maar in de frontend worden de resultaten netjes in onze SIEM gerapporteerd.
Om de vulnerability scan te activeren gaan we naar “Environment – Vulnerabilities” en daarna gaan we een “Scan Job” aanmaken.
Hier kunnen we een scan taak importeren middels een NBE file en we kunnen een nieuwe scan taak maken.
Voordat we een nieuwe taak gaan maken bekijken we eerst de “Profiles”. Standaard zijn er 3 soorten scan profiles aanwezig. Normaliter is dit voldoende maar je kunt ervoor kiezen om hier een nieuw scan profile aan te maken.
Onder “Settings” voegen we de juiste credentials toe waarmee we een scan kunnen uitvoeren op de clients. In een domein kan dit vaak met 1 credential maar soms zul je hier meerdere credentials toe moeten voegen.
Nu we alle settings juist hebben staan kunnen we de scan inregelen. De default scan welke aangeraden wordt om op de productieservers te draaien is “Default – Non destructive Full and Fast scan”. Door deze scan te kiezen voorkom je dat de scan je systemen zo zwaar belast dat de performance omlaag gaat (b.v. door jezelf te DOSsen).
Het volgende dat aan te raden is, is om de inside interface van je firewall in mirror mode (span port) te plaatsen en om alle packets door te sturen naar een OSSIM ethernet poort welke in “Promiscuous Mode” ofwel “Listening” mode staat. Op deze manier kunnen threat signatures beter herkent en gelogd worden. Om dit te doen plaats je een netwerk poort in “”. Dit doe je via “Configuration” – “Deployment” – “System Detail”. Hier plaats je een speciale poort in : Network Monitoring” zodat alle inkomende pakketten geaccepteerd en geanalyseerd worden.
Vervolgens zijn er nog een aantal zaken die je moet regelen. Wat is een beetje afhankelijk van je situatie. Je kunt de diepte ingaan door verschillende correlatie schema’s te maken (als dit gebeurt en als dat gebeurt en als vervolgens nog dit gebeurt interpreteer dit dan als X). Maar je kunt er ook voor kiezen om een nieuwe map te uploaden en om hier belangrijke assets op weer te geven. Bijvoorbeeld (Dashboard – Risk Maps):
Je kunt OSSIM koppelen met je OTX account om meer inzicht te krijgen in actuele threats of je gaat bepaalde “Directives” aanmaken of finetunen om specifieke alarms of tickets te genereren (Configuration – Threat Intelligence – Directives).
Conclusie
Zelfs na deze 2 posts zijn we eigenlijk nog niet door de stof heen. We hebben OSSIM geïnstalleerd en in de basis opgezet. Een testomgeving is echter anders dan een live omgeving. Dat betekend dat het toevoegen en testen van elke asset veel tijd in beslag zal nemen. Zorg ervoor dat je rustig alle assets toevoegt met alle additionele informatie. Tijdens de inrichting heb je de kans om het eenmalig goed te doen dus neem die tijd. Als alle agents en sensors geïnstalleerd zijn zul je nogmaals veel tijd moeten nemen om de scans en directives goed in te richten. Kijk eens naar additionele plug-ins of werk je dashboard bij zodat deze tonen wat je wilt zien. Met AlienVault OSSIM kun je ontzettend veel kanten op en wil je meer, dan kun je altijd nog kiezen voor AlienVault USM. Meer weten over AlienVault USM… stay tuned want binnenkort bekijken we een nieuw SIEM systeem en de kans dat dit USM is, is zeer groot!