← FAQ
FAQ

Auditlogboek van beheeracties

FAQ › EUZOS Server › Auditlogboek · English

Wat is het?

Elke beheeractie die iets op de server wijzigt (firewall, pakketten, netwerk, poorten, Bestandsserver, Webserver, Back-up, herstart, …) wordt vastgelegd in een blijvend auditlogboek op het opstartvolume, samen met de fout als ze mislukt, en elke wijziging van de firewall en de pakketten door de server zelf of vanaf de console. Het logboek blijft na een herstart bestaan en kan niet door onzinverzoeken worden weggedrukt, anders dan het logboek in het geheugen (log), dat alleen de laatste 200 regels bewaart.

Elk record heeft een volgnummer, de tijd, het beheerdersaccount, het bronadres en de actie. De records vormen een hashketen (elk record bevat de SHA-256 van het vorige) en elk record heeft een MAC met een sleutel die alleen de server heeft. Een record wijzigen, er een in het midden weghalen, of het einde afknippen en nieuwe records schrijven, wordt daardoor opgemerkt.

Hoe doe ik…?

Hoe bekijk ik het auditlogboek?

In Server Admin: de server › tabblad Logboek › Auditlogboek van beheeracties › Logboek tonen. Of met de CLI op de pc:

serveradmin <server-id> audit        de nieuwste 50 records
serveradmin <server-id> audit 200    de nieuwste 200 (hoogstens 500)

De eerste regel is het oordeel, daarna de records, nieuwste eerst:

audit: verified, 3 records (seq 1-3), chain and MACs intact
-- newest first: seq time account source text --
3 1793174400 beheer@example.org 192.0.2.20 admin pakket-aan web (pc 3b6a 27bc)
2 1793174390 - server firewall: Server Admin opens 'allow tcp 443 anywhere' -> version 4: …
1 1793174000 - server boot: audit log opened; verified, no records yet

De tijd staat in Unix-seconden. - / server betekent de server zelf of de console (geen beheerdersaccount). De tekst van de server is Engels.

Wat betekent "audit: BROKEN at …"?

Vanaf dat record klopt het logboek niet meer, bijvoorbeeld:

audit: BROKEN at AUDIT.TXT line 17 (seq 140): MAC wrong (record changed or forged); 139 records before it check out
RedenBetekenis
MAC wronghet record is gewijzigd, of geschreven zonder de sleutel van de server
sequence gaper is een record weggehaald of tussengevoegd
chain brokenhet record ervoor is gewijzigd
unreadable or incomplete recordde regel is beschadigd (ook na stroomuitval tijdens het schrijven)
truncateder ontbreken records aan het einde (vergeleken met wat de draaiende server weet)

De server laat het logboek zoals het is (het bewijs blijft) en zet de keten voort na het laatste geldige record. Bij het opstarten geeft een gebroken logboek een waarschuwing in het logboek van de server. Behandel het als een beveiligingsincident: wie had toegang tot de schijf?

Waar staat het?

Op het opstartvolume: \EOS\AUDIT\AUDIT.TXT (huidig) en AUDIT1.TXT (vorig), elk hoogstens 256 KiB (ongeveer 1000 records per bestand). Is het huidige bestand vol, dan wordt het AUDIT1.TXT en begint er een nieuw; de keten loopt door over beide bestanden. De MAC-sleutel is \EOS\AUDIT\AUDKEY.TXT, gemaakt bij de eerste start; hij verlaat de server nooit.

Welke acties worden vastgelegd?

Alle beheeracties die iets wijzigen (Action::audited); bekijken (status, log, firewall, packages, ports, audit, files usage, web status, web log, web cert, …) niet. Van een site-upload worden de losse bestanden niet vastgelegd, wel de web publish die de site live zet; certificaat-uploads wel. Geweigerde verzoeken vóór de authenticatie staan niet in het auditlogboek; die blijven in het logboek in het geheugen (log).

Waartegen beschermt het niet?

Wie het opstartvolume kan lezen, kan ook AUDKEY.TXT lezen en daarmee records vervalsen. Beide bestanden terugzetten naar een oudere kopie terwijl de server uit staat, wordt ook niet opgemerkt: daarvoor is een kopie van het logboek buiten de server nodig (nog niet beschikbaar).

Naslag

OnderdeelWaarde
Bestanden\EOS\AUDIT\AUDIT.TXT, AUDIT1.TXT, AUDKEY.TXT
Record<seq> <tijd> <account> <bron> <vorige-hash> <mac> <tekst>
Hash, MACSHA-256(vorige-hash ‖ "<seq> <tijd> <account> <bron> <tekst>"), HMAC-SHA256(sleutel, "EUZOS-audit-v1\0" ‖ hash)
Beheeractieaudit [n] (bekijken; Engelse naam op de lijn)
Codelibs/workplace/src/audit_file.rs, kernel/src/audit.rs

Zie ook