Linux auditd und CRLF
« | 25 Feb 2023 | »Bei mir lagen heute zwei Dateien in /etc/audit/rules.d
.
Wenn in der zweiten alle Regeln auskommentiert wurden, funktionierte
auditd zumindest mit den Regeln
der ersten Datei.
Kaum wurden die Regeln in der zweiten Datei aktiviert, funktionierte gar
nichts mehr.
Und wieder einmal habe ich einen Tag Lebenszeit verloren …
Der Linux-Wächter: auditd
Ich durfte für ein Projekt in der Firma den Einsatz des Linux Daemons auditd
ausprobieren. Dieser lädt seine Konfiguration aus .rules
Dateien, die
in /etc/audit/rules.d
liegen.
auditd
loggt dann Zugriffe auf Dateien, Programme oder Systemcalls,
die man dann für Sicherheitsprüfungen nutzen kann.
So weit, so gut.
CRLF == Error
Natürlich habe ich logische Unterteilungen dieser “Rules” in mehrere Dateien
gemacht, die man dann über das selektive Kopieren von Dateien verteilen kann.
Und plötzlich funktionierte nichts mehr.
Ein Aufruf von auditctl -l
zeigte, dass keine einzige Regel geladen wurde,
obwohl alle Regeln zuvor in einer einzigen Datei perfekt funktioniert hatten.
Immer wieder kopierte ich die Dateien per SSH
zwischen meinem Windows System und dem Linux-Testsystem hin und her.
Wurden alle Rules in der Datei per #
Präfix auskommentiert und die Rules
in einer anderen Datei eingebunden, wurden sie geladen und funktionierten.
Nach mehreren Zweifeln an meiner Gesundheit, erkannte ich ganz unten rechts in der Statuszeile von Visual Studio Code den Unterschied zwischen den Dateien:
Die Originale waren mit typischen Linux
LF
Zeilenenden versehen, nur die eine störrische, die ich unter Windows neu angelegt hatte, zeigte:CRLF
an.
Fazit
So ein Fu**!
Naja … ich hätte da auch schon schneller darauf kommen können, aber wenn man die ersten Dateien “zufällig” auf dem richtigen System erstellt hat und einem nur die letzte in die Suppe spuckt, wird man eben blind für die Frage aus der Schreibmaschinenwelt.
Mich ärgert das deshalb, weil ich jetzt seit 20 Jahren in meinen Codes immer
beide Line-Ending Fälle brav behandle.
Das hätten die Macher von auditd
auch tun können, schließlich braucht man
nur das CR
vor einem LF
wegkürzen und alles ist gut.
However … Gefahr erkannt, Gefahr gebannt.