Onderzoek van het Lynis Audit Rapport

Lynis is een vrij en open-source beveiligingsaudit programma en uitgebracht als een GPL gelicentieerd project en is beschikbaar voor Linux en Unix-gebaseerde besturingssystemen als MacOS, FreeBSD, NetBSD, OpenBSD enzovoort.

Wat zullen we hier onderzoeken?

In deze zelfstudie zullen we proberen het Lynis audit rapport te onderzoeken en leren enkele van de hervormingen die het voorstelt toe te passen. Laten we nu met deze gids aan de slag gaan.

De Lynis Audit rapporten begrijpen

De post lynis scan liet ons een enorme samenvatting van de uitgevoerde tests na. Om van deze resultaten te profiteren is het van vitaal belang ze te begrijpen en specifieke aanvullende maatregelen te nemen. We geven eerst een korte samenvatting van een paar secties van de audit en springen dan naar de suggestie-secties. Op die manier krijgen we een idee van wat elke specifieke test betekent en hoe we suggesties kunnen toepassen.

1. Initialiseren van het programma

Programma Initialisatie
In de initialisatiefase voert Lynis de basis controle-operaties uit zoals het opsporen van OS type, kernel versie, CPU architectuur, geïnstalleerde Lynis versie, naam van de auditor, controleren op beschikbare Lynis update enz. Globaal geeft deze fase alleen een statische systeem- en programma-informatie.

2. Plugins

Lynis plugins
Lynis biedt plugins om het controleproces verder te verbeteren. De Firewall plugin bijvoorbeeld levert firewall-specifieke diensten. Deze plugins omvatten een of meer tests, waarvan sommige betaald zijn en alleen met de enterprise editie van Lynis beschikbaar zijn.

3. Debian Testen

Debian Tests
Zoals bij de test vermeld, controleert deze naar de systeem utilities die nodig zijn voor Debian tests. De bovenstaande scan meldt b.v. dat ‘libpam-tmpdir’ niet geïnstalleerd is. Als we dit pakket installeren verandert de bijbehorende melding van ‘Not Installed’ in ‘Installed and enabled’, zoals hieronder:

Het gereedschap libpam-tmpdir installeren

4. Opstarten en diensten

Boot en diensten afdeling
De sectie geeft informatie over het type dienstbeheerder (systemd in dit geval), de draaiende en opstartende dienst enz. Het belangrijkste is dat het de diensten labelt op basis van hun beveiligingsniveau: Onveilig, Blootgesteld, Beschermd, Medium.

5. Kernel

Kernel specifieke controles

Hier voert Lynis een controle uit op diverse kernel-specifieke parameters zoals run level, kernel versie, en type, enz.

6. Geheugen en Processen

Geheugen en Processen

In dit gedeelte controleert Lynis de toestand van processen, dat wil zeggen of ze dood zijn of in wachtende toestand.

Op een vergelijkbare manier controleert Lynis verschillende delen van het systeem, zoals diensten, software, netwerken, databases enzovoort. Elke stap beschrijven wordt een erg lange klus. Globaal genereert het suggesties en waarschuwingen voor elke sectie die het controleert. Het verhelpen van deze waarschuwingen en het toepassen van volgende suggesties helpen ons onze systemen verder te harden. We zullen nu onze aandacht verleggen naar het instellen van een paar suggesties.

De problemen verhelpen…

Zoals in de vorige paragraaf vermeld, vult Lynis de terminal met de scan resultaten, het genereert ook een logbestand(lynis.log) en een rapportbestand(lynis-report.dat). Het zal je waarschijnlijk opgevallen zijn dat elke waarschuwing en suggestie gevolgd wordt door een korte beschrijving en een link naar de ‘Controls’ sectie van de CISOfy website. Kijk b.v. naar het onderstaande plaatje:

Waarschuwingen en suggesties
Het laat zien dat er in totaal ongeveer 46 suggesties en 1 waarschuwing zijn. Het toont ook de eerste suggestie om het apt-listchanges pakket te installeren en eronder staat een link naar de ‘Controls’ sectie van de CISOfy website. Laten we proberen enkele van deze suggesties toe te passen:

1. Installeer het apt-listchanges pakket

Dit pakket vergelijkt de versie van een geïnstalleerd pakket met de nieuwe beschikbare versie. Om dit pakket te installeren gebruik je:

$ sudo apt apt-listchanges

2. Malware scanner

Suggestie voor het installeren van malware scanner

Lynis meldt dat er geen malware scanner op ons systeem geïnstalleerd is. Het geeft ook voorbeelden van zulke gereedschappen als rkhunter, chkrootkit en OSSEC. Laten we rkhunter op onze Kali Linux installeren:

$ sudo apt install rkhunter

3. PAM beveiligingsmodule installeren

Suggestie voor het installeren van de PAM beveiligingsmodule
Deze bevinding stelt voor een PAM module te installeren om de sterkte van wachtwoorden te kunnen controleren. Voor op debian gebaseerde systemen wordt hiervoor het ‘libpam-cracklib’ pakket gebruikt. Installeer dit hulpmiddel met:

$ sudo apt install libpam-cracklib

Laten we alle bovenstaande pakketten installeren en de Lynis audit opnieuw uitvoeren om te zien of er enige vermindering is in het aantal suggesties:

Installeren van libpam-cracklib
Als deze pakketten geïnstalleerd zijn, voer je de audit opnieuw uit:

$ sudo ./lynis audit system 

verminderd aantal suggesties
Deze keer zien we dat het aantal suggesties verminderd is tot 44. Ook de verhardingsindex is gesprongen van 62 naar 65. Merk op dat wanneer we nieuwe plugins installeren (Lynis Enterprise editie) of een probleem oplossen door nieuwe pakketten te installeren, de audittijd kan oplopen, dit is wat in dit geval gebeurde. Hoe meer je problemen oplost en de suggesties toepast, hoe uitgebreider je audit wordt en je systeem meer gehard wordt.

Opmerking: Tijdens het verkennen van een suggestie of waarschuwing kan het ‘show details’ commando gebruikt worden om de volledige beschrijving te zien met behulp van het ’test-id’. Om bv. ‘KRNL-5830’ te onderzoeken gebruik je het commando:

sudo lynis show details KRNL-5830

Ook kun je de link onder elk test-id gebruiken om de beschrijving ervan van de CISOfy websites te zien.

Conclusie

Je kunt bang worden als je voor de eerste keer veel suggesties in het audit resultaat ziet. Het is echter geen zaak van zorgen. Neem het als een schets voor het in kaart brengen van je systeembeveiliging. Sommige van de suggesties zijn gewoon een pakket installeren, een eenvoudig commando uitvoeren, terwijl je voor andere misschien verschillende configuratiebestanden moet aanpassen. Identificeer gewoon de problemen en verhelp elke kwetsbaarheid die je ontdekt.