Sie wollen mehr?
Weitere Artikel im Archiv
auditd für die Einhaltung von Richtlinien konfigurieren
Die Erfahrung des Auditors bestimmt, ob die generierten Protokollkategorien auf der Grundlage der analysierten Situation ausreichend sind. Nehmen wir jedoch die Rolle eines Ingenieurs an, der mit der Konfiguration von auditd auf einem Linux-System beauftragt ist, welche Konfigurationen müssen letztendlich aktiviert werden?
In diesem Artikel werden wir mit einer sehr hohen Kontrolle beginnen, zwischenzeitliche Anforderungen entwickeln und diese dann in eine auditd
Konfiguration umsetzen.
Wir verwenden häufig die CIS CSC V8 als Kontrollrahmen. Kapitel 8, das der “Audit Log Management” gewidmet ist, enthält mehrere Kontrollen, die eine System-Audit-Konfiguration erfordern:
8.2 – Collect Audit Logs – Collect audit logs. Ensure that logging, per the enterprise’s audit log management process, has been enabled across enterprise assets.
8.5 – Collect Detailed Audit Logs – Configure detailed audit logging for enterprise assets containing sensitive data. Include event source, date, username, timestamp, source addresses, destination addresses, and other useful elements that could assist in a forensic investigation.
Wir haben eine allgemeine Vorstellung davon, welche Informationen gesammelt werden müssen, aber die Anforderungen müssen weiter geklärt werden. Der CIS Controls Navigator ordnet Steuerelemente verschiedenen Frameworks zu. Schauen Sie sich also an, was andere Frameworks erfordern, indem Sie die 8.2-Zuordnung erweitern. Wir scrollen hinunter zu den PCI v4.0-Gruppen und entdecken feiner abgestufte Steuerelemente, aus denen wir einfach diejenigen auswählen können, die auf unseren Anwendungsfall zutreffen.
Wir können nun unsere Zwischenanforderungen erstellen:
Dieser Artikel bezieht sich auf CIS CSC V8, um die Beziehung zwischen High-Level-Kontrollen und Low-Level-Konfiguration zu veranschaulichen. Sie könnten die sehr detaillierten Sicherheitskontrollen, die z.B. in CIS Linux Server beschrieben sind, einfach implementieren, aber wir empfehlen, sie erst zu verwenden, nachdem Sie die Auswirkungen der Konfiguration auf das System verstanden haben.
Da wir nun die Anforderungen kennen, können wir mit der auditd-Konfiguration auf niedriger Ebene fortfahren. Die auditd
-Regeln legen fest, welche Ereignisse geprüft werden sollen. Die Regeln werden in der Datei /etc/audit/rules.d/audit.rules
definiert.
Fügen Sie mit einem Editor Ihrer Wahl Regeln in der Datei hinzu oder ändern Sie sie entsprechend Ihren Anforderungen an die Überwachung. Die Syntax für die Regeln folgt der Syntax des Befehls auditctl
. Um zum Beispiel Änderungen an der Datei /etc/passwd
zu überwachen, können Sie die folgende Regel hinzufügen:
## /etc/passwd monitor for write/change -a always,exit -F path=/etc/passwd -F perm=wa -F key=passwd-changes
Diese Regel filtert Schreib- (w) und Attribut- (a) Änderungen an der Datei /etc/passwd
und verknüpft sie mit dem Schlüssel passwd_changes.
Um die Regeln zu konfigurieren, lesen Sie auditctl(8) – Linux manual page
Es ist eine gute Praxis, mit einer leeren Regelbasis zu beginnen und einige Parameter einzustellen.
## Clean all rules -D ## Increase buffer to survive stressful situation -b 8192 ## Set failure mode to panic if the system should stop in case of auditd error ## Enable this if the system must not work without a functional audit log # -f 2
Dies erfordert die Konfiguration des Tools pam_tty_audit
. Ausgehend von Unix PAM bietet Linux PAM (Pluggable Authentication Modules) flexible Authentifizierungsdienste für Anwendungen und Systemdienste. Die Komponenten Konto, Authentifizierung, Passwort und Sitzung regeln die Authentifizierungsfunktionen.
Mit der Option enable in /etc/pam.d/system-auth
und /etc/pam.d/password-auth
können Sie die TTY
-Eingabe eines Benutzers überprüfen. Die Konfigurationsparameter finden Sie unter pam_tty_audit(8) – Linux manual page.
Dies gilt auch für “Audit-Protokolle erfassen alle ungültigen logischen Zugriffsversuche”, da sowohl gültige als auch ungültige Aktionen überprüft werden.
Die Überwachung der auditd
-Komponenten bietet Einblick in den Audit-Prozess, gewährleistet die Integrität der Audit-Protokolle, validiert die Konfiguration und erhält den Systemzustand aufrecht.
Dies umfasst auch “Audit-Protokolle erfassen alle Initialisierungen neuer Audit-Protokolle und alle Starts, Stopps oder Pausen der bestehenden Audit-Protokolle”.
## Access to all audit trails. -a always,exit -F dir=/var/log/audit/ -F perm=r -F auid>=1000 -F auid!=unset -F key=access-to-audit-objects -a always,exit -F path=/usr/sbin/aulast -F perm=x -F key=access-to-audit-objects -a always,exit -F path=/usr/sbin/aulastlogin -F perm=x -F key=access-to-audit-objects -a always,exit -F path=/usr/sbin/aureport -F perm=x -F key=access-to-audit-objects -a always,exit -F path=/usr/sbin/ausearch -F perm=x -F key=access-to-audit-objects -a always,exit -F path=/usr/sbin/auvirt -F perm=x -F key=access-to-audit-objects
Audit-Protokolle müssen Änderungen an Identifizierungs- und Authentifizierungsdaten für die Untersuchung von Sicherheitsvorfällen, die Rechenschaftspflicht, die Einhaltung von Vorschriften, die Erkennung verdächtiger Aktivitäten, forensische Analysen und die Reaktion auf Vorfälle aufzeichnen.
## Elevation of privileges -a always,exit -F arch=b64 -S setuid -F a0=0 -F exe=/usr/bin/su -F key=elevation-of-privileges -a always,exit -F arch=b32 -S setuid -F a0=0 -F exe=/usr/bin/su -F key=elevation-of-privileges -a always,exit -F arch=b64 -S setresuid -F a0=0 -F exe=/usr/bin/sudo -F key=elevation-of-privileges -a always,exit -F arch=b32 -S setresuid -F a0=0 -F exe=/usr/bin/sudo -F key=elevation-of-privileges -a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -F key=elevation-of-privileges -a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -F key=elevation-of-privileges ## All changes, additions, or deletions to accounts -a always,exit -F path=/etc/group -F perm=wa -F key=account-change -a always,exit -F path=/etc/passwd -F perm=wa -F key=account-change -a always,exit -F path=/etc/gshadow -F perm=wa -F key=account-change -a always,exit -F path=/etc/shadow -F perm=wa -F key=account-change -a always,exit -F path=/etc/security/opasswd -F perm=wa -F key=account-change
Audit-Protokolle sollten unbefugte Dateizugriffe aufzeichnen, um potenzielle Sicherheitsverletzungen oder unbefugten Zugriff auf sensible Daten zu erkennen und abzumildern.
##- Unauthorized access attempts to files (unsuccessful) -a always,exit -F arch=b32 -S open,creat,truncate,ftruncate,openat,openat2,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access -a always,exit -F arch=b32 -S open,creat,truncate,ftruncate,openat,openat2,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access -a always,exit -F arch=b64 -S open,truncate,ftruncate,creat,openat,openat2,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access -a always,exit -F arch=b64 -S open,truncate,ftruncate,creat,openat,openat2,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Audit-Protokolle sollten Datenexporte erfassen, um die unbefugte oder verdächtige Exfiltration sensibler Informationen aus dem System zu erkennen und zu verhindern.
##- Export to media (successful) ## You have to mount media before using it. You must disable all automounting ## so that its done manually in order to get the correct user requesting the ## export -a always,exit -F arch=b32 -S mount -F auid>=1000 -F auid!=unset -F key=export -a always,exit -F arch=b64 -S mount -F auid>=1000 -F auid!=unset -F key=export
Sicherheit, Betrugsaufdeckung, Datenintegrität, Compliance, forensische Analyse, Reaktion auf Vorfälle und Systemintegrität erfordern die Überwachung von Änderungen im Zeitverlauf.
## Time changes -a exit,always -S adjtimex -S settimeofday -k time_change
Audit-Protokolle sollten Änderungen an ausführbaren Systemdateien und Bibliotheken, Manipulationen an Paketen und Manipulationen an Kernel-Modulen erfassen.
## For Fedora/CentOS/Red-Hat package monitor -a always,exit -F perm=x -F path=/usr/bin/yum -F key=system-objects ## boot objects -a always,exit -S all -F dir=/boot -F perm=aw -k system-objects ## System binaries -a always,exit -S all -F dir=/bin -F perm=aw -k system-objects -a always,exit -S all -F dir=/sbin -F perm=aw -k system-objects -a always,exit -S all -F dir=/usr/bin -F perm=aw -k system-objects -a always,exit -S all -F dir=/usr/local/bin -F perm=aw -k system-objects -a always,exit -S all -F dir=/usr/local/sbin -F perm=aw -k system-objects -a always,exit -S all -F dir=/usr/sbin -F perm=aw -k system-objects ## system libraries -a always,exit -S all -F dir=/lib -F perm=aw -k system-objects -a always,exit -S all -F dir=/lib64 -F perm=aw -k system-objects -a always,exit -S all -F dir=/usr/lib -F perm=aw -k system-objects ## configuration files (most common) -a always,exit -S all -F dir=/etc -F perm=aw -k system-objects ## systemd -a always,exit -S all -F dir=/usr/lib/systemd/ -F perm=aw -k system-objects ## Kernel modules insert/remove -w /sbin/insmod -p x -k system-objects -w /sbin/rmmod -p x -k system-objects -w /sbin/modprobe -p x -k system-objects -a always,exit -F arch=b32 -S init_module -S delete_module -k system-objects -a always,exit -F arch=b64 -S init_module -S delete_module -k system-objects
Auditd sollte über eine unveränderliche Konfiguration verfügen, um unbefugte Änderungen zu verhindern, die die Integrität und Zuverlässigkeit des Auditing-Systems beeinträchtigen könnten.
##Make the configuration immutable, a reboot is required to change the configuration settings or rulesets. -e 2
Wir haben gezeigt, wie ein einfaches Wort innerhalb eines Steuerelements zu einer komplizierten Konfigurationsdatei werden kann, die erhebliche Auswirkungen auf das System haben kann, wenn man von einem hochrangigen Sicherheitsrahmen ausgeht.
In Bezug auf das Framework ist es notwendig, Zwischenanforderungen zu entwickeln, die unabhängig voneinander in Low-Level-Konfigurationen umgewandelt werden können. Da sich jeder Filter auf die Leistung des Systems auswirkt, sollte jede Zwischenanforderung nur dann überprüft und konfiguriert werden, wenn sie notwendig ist oder wenn sie zu einer erhöhten Systemsicherheit beiträgt.
Unsere Spezialisten kontaktieren Sie gern!
Rocco Gagliardi
Rocco Gagliardi
Rocco Gagliardi
Rocco Gagliardi
Unsere Spezialisten kontaktieren Sie gern!