Überwachungsrichtlinien

Im Rahmen eines Sicherheitskonzepts für die Integration eines Geräts in ein Netzwerk sollte festgelegt werden, welche Stufe des Sicherheitsaudits geeignet ist, um potenzielle Angriffe zu erkennen. Sicherheitsaudit bedeutet, dass ein Industrie-PC Audit-Protokolle über Ereignisse erstellt, sobald mit dem Gerät interagiert wird. So können beispielsweise Datei- und Ordnerzugriffe protokolliert werden, jedes Mal, wenn ein Benutzer auf die ausgewählten Dateien oder Ordner zugreift.

Diese Protokolle sind zur Überprüfung vorgesehen, um Abweichungen von der normalen Nutzung zu erkennen, die auf einen Angriff hindeuten könnten, oder zu forensischen Zwecken, um Details über einen Angriff zu rekonstruieren. Die Überprüfung kann sofort oder in regelmäßigen Abständen durch automatisierte Mechanismen oder manuell erfolgen. Es hängt von der Umgebung und der Anwendung ab, welche Abweichungen relevant sind. Daher werden Regeln, die beschreiben, welche Aktionen protokolliert werden, üblicherweise mit Hilfe von Überwachungsrichtlinien konfiguriert.

Die Konfiguration zu vieler Regeln kann jedoch zu einer Art Blindheit führen. Die Protokolle können mit irrelevanten Einträgen überfrachtet werden, wobei die relevanten Einträge von Menschen leicht übersehen oder von automatischen Überwachungsmechanismen nicht schnell genug verarbeitet werden. Manchmal ist es eine gute Praxis, Protokolle an eine zentrale Stelle zur automatischen Überprüfung und/oder Archivierung weiterzuleiten, um unter anderem eine begrenzte Protokollkapazität nicht zu erschöpfen.

Datei- und Ordnerzugriffe sowie sicherheitsrelevante Benutzereingaben können unter Beckhoff RT Linux® protokolliert werden. Jedes Mal, wenn ein Benutzer eine definierte Aktion ausführt, wird das Ereignis geloggt. Diese Ereignisprotokolle sind vor allem für die Überwachung des Systems, die Erkennung unberechtigter Zugriffe und für die anschließende Analyse nach einem Sicherheitszwischenfall von Bedeutung.

Installieren und aktivieren Sie den Audit-Daemon:

sudo apt update
sudo apt install auditd audispd-plugins
sudo systemctl enable auditd

Starten des Audit-Daemons:

sudo systemctl start auditd

Prüfen des Status:

sudo systemctl status auditd

Soll auch der frühe Systemstart bereits auditiert werden, kann zusätzlich der Kernel-Parameter audit=1 gesetzt werden.

In /etc/audit befinden sich die Konfigurationsdateien des Audit-Daemons, mit denen sich das Audit feingranular einstellen lässt. Wichtig sind hier vor allem zwei Bereiche:

/etc/audit/auditd.conf welche zur allgemeinen, systemweiten Audit-Einstellung dient und /etc/audit/rules.d/*.rules wo die eigentlichen Audit-Regeln festgelegt werden.

Für ein Beckhoff RT Linux®-System empfiehlt sich zunächst ein konservativer Satz von Regeln, der Änderungen an sicherheitsrelevanten Konfigurationsdateien, Identitätsdaten, Mount-Vorgängen, Kernelmodulen und Berechtigungen protokolliert, ohne hochfrequente Laufzeitpfade unnötig stark zu belasten.

Eine naheliegende Beispielkonfiguration ist:

# /etc/audit/rules.d/30-rt-security.rules
-b 8192
-f 1
# Audit-Konfiguration selbst überwachen
-w /etc/audit/ -p wa -k audit-config
# Benutzer-, Gruppen- und Authentisierungskonfiguration
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/group -p wa -k identity
-w /etc/gshadow -p wa -k identity
-w /etc/sudoers -p wa -k privilege
-w /etc/sudoers.d/ -p wa -k privilege
-w /etc/pam.d/ -p wa -k pam-config
# Zeitänderungen
-a always,exit -F arch=b64 -S adjtimex,settimeofday,clock_settime -k time-change
-w /etc/localtime -p wa -k time-change
# Host- und Netzwerkkonfiguration
-w /etc/hostname -p wa -k network-config
-w /etc/hosts -p wa -k network-config
-w /etc/resolv.conf -p wa -k network-config
-w /etc/network/ -p wa -k network-config
# Persistenzmechanismen
-w /etc/crontab -p wa -k cron

Bei 64-Bit-Systemen, auf denen auch 32-Bit-Anwendungen zugelassen sind, sollten die entsprechenden arch=b32-Regeln zusätzlich ergänzt werden.

Führen Sie sudo augenrules –load aus, um die Regeln zu laden und sudo auditctl -l, um die geladenen Regeln anzuzeigen. Anschließend können die Audit-Protokolle über Befehle wie sudo aureport -k -i oder sudo ausearch -k identity -i eingesehen werden.

Es gilt, dass Regeln vermieden werden sollten, die hochfrequente Verzeichnisse oder stark genutzte Systemaufrufe umfassend überwachen, zum Beispiel globale Regeln auf /tmp, /run, /var/tmp oder eine vollständige Überwachung aller execve-,open- oder Lesezugriffe. Solche Regeln können schnell zu großen Protokollmengen führen und die Echtzeiteigenschaften beeinträchtigen. Empfehlenswert ist stattdessen eine Fokussierung auf: