Auditd ist ein leistungsstarkes Werkzeug zur Überwachung und Protokollierung von Aktivitäten auf einem Linux-System. Wir zeigen, aus welchen Komponenten das Audit-Framework von Linux besteht und wie man sie richtig zur Überwachung von Systemintegrität, Benutzeraktivitäten und Konfigurationsänderungen nutzt.
Auditd ist das ideale Werkzeug zur Überwachung von Linux-Systemen.
Auditd bietet umfassende Überwachungsfunktionen, einschließlich der Überwachung von Systemaufrufen, Dateizugriffen und Benutzeraktionen. Es ermöglicht die Definition spezifischer Regeln zur Erfassung von sicherheitsrelevanten Ereignissen, was die Sicherheit und Compliance erhöht. Zu den Einsatzbereichen gehören unter anderem die Überwachung von Systemintegrität, Benutzeraktivitäten und Konfigurationsänderungen.
Auditd ist damit ein ideales Werkzeug zur Überwachung von Linux-Systemen. Die Installation kann mit apt install auditd erfolgen. Nach der Installation ist der Konfigurationsordner /etc/audit von besonderer Bedeutung. Dieser Ordner enthält wichtige Dateien wie auditd.conf und audit.rules. Hierüber erfolgt die Konfiguration der Umgebung. Generell sind für die Verwaltung von Auditd Root-Rechte erforderlich, das heißt die Befehle werden entweder mit einem "sudo" verwendet, oder Admins eröffnen per SSH oder auf der lokalen Shell eine Root-Shell mit sudo -s.
Das Audit-Framework von Linux besteht aus mehreren Komponenten. Die zentrale Komponente ist der Audit-Daemon (auditd), der die vom Kernel gesendeten Audit-Daten sammelt und speichert. Weitere wichtige Komponenten sind auditctl, das zur Verwaltung der Audit-Regeln verwendet wird, und ausearch sowie aureport, die zur Analyse und Berichterstellung der Audit-Daten dienen.
Die Hauptkonfigurationsdatei von Auditd ist auditd.conf, die sich im Verzeichnis /etc/audit/ befindet. Diese Datei enthält Parameter wie log_file (Pfad zur Logdatei), log_format (Format der Logeinträge) und max_log_file (maximale Größe der Logdatei). Die Audit-Regeln werden in der Datei audit.rules definiert, die ebenfalls im Verzeichnis /etc/audit/ liegt. Diese Regeln bestimmen, welche Ereignisse überwacht und protokolliert werden sollen.
Um den Auditd-Dienst zu starten, wird der Befehl sudo systemctl start auditd verwendet. Um sicherzustellen, dass der Dienst bei jedem Systemstart aktiviert ist, wird sudo systemctl enable auditd ausgeführt. Diese Befehle stellen sicher, dass Auditd kontinuierlich läuft und alle definierten Audit-Regeln anwendet.
Auditd konfigurieren
Die Datei auditd.conf enthält grundlegende Konfigurationsparameter, einschließlich des Speicherorts der Protokolldateien, die standardmäßig in /var/log/audit/audit.log abgelegt werden. Diese Protokolle können bei Bedarf mit Syslog an einen externen Server gesendet werden. Die Datei audit.rules definiert die Überwachungsregeln, die Auditd beim Start lädt. Änderungen in der audit.rules-Datei werden bei jedem Neustart von Auditd angewendet.
Um den aktuellen Status von Auditd zu überprüfen, kann der Befehl auditctl -s verwendet werden. Dieser zeigt an, ob das Auditing aktiviert (1), deaktiviert (0) oder aktiviert, aber unveränderbar bis zum nächsten Neustart (2) ist. Der Status kann mit auditctl -e 1 aktiviert werden.
Auditd ermöglicht die Überwachung spezifischer Dateien oder Verzeichnisse. Zum Beispiel kann die Datei /etc/passwd überwacht werden, um alle Lese-, Schreib-, Ausführungs- oder Attributänderungen zu protokollieren. Dies kann durch den Befehl auditctl -w /etc/passwd -p rwxa -k passwd_watch erreicht werden.
Dabei steht -w für den Überwachungspfad, -p für die zu überwachenden Berechtigungen (lesen, schreiben, ausführen, Attributänderung) und -k für einen benutzerdefinierten Schlüssel, der in den Protokollen erscheint, um die Einträge leichter auffindbar zu machen.
Definieren von Audit-Regeln
Audit-Regeln werden verwendet, um spezifische Ereignisse zu überwachen. Die Regeln können temporär mit auditctl oder persistent in der Datei audit.rules definiert werden. Ein weiteres Beispiel für eine temporäre Regel, die Änderungen an der Datei /etc/passwd überwacht, ist:
auditctl -w /etc/passwd -p wa -k user-modify
Diese Regel überwacht Schreib- und Attributänderungen an der Datei und versieht sie mit dem Schlüssel user-modify.
Durchsuchen der Protokolle und Persistente Regeln
Zum Durchsuchen der Audit-Protokolle kann der Befehl ausearch verwendet werden. Um beispielsweise nach Ereignissen zu suchen, die mit der Datei /etc/passwd zusammenhängen, kann der Befehl ausearch -f /etc/passwd genutzt werden. Für eine Suche nach spezifischen Schlüsselwörtern, die bei der Erstellung der Regeln definiert wurden, kann ausearch -k passwd_watch verwendet werden.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Damit Überwachungsregeln auch nach einem Neustart von Auditd bestehen bleiben, müssen diese in der Datei rules.d gespeichert werden. Eine neue Regel kann in die Datei /etc/audit/rules.d/audit.rules hinzugefügt werden. Zum Beispiel kann die vorher erstellte Regel durch Hinzufügen von -w /etc/passwd -p rwxa -k passwd_watch in dieser Datei persistent gemacht werden. Nach einem Neustart von Auditd durch systemctl restart auditd wird diese Regel automatisch angewendet.
Es ist wichtig, die Integrität und Sicherheit der Auditd-Konfiguration zu gewährleisten. Ein Angreifer könnte versuchen, die Protokollierung zu deaktivieren, indem er beispielsweise die audit.rules-Datei manipuliert. Eine Möglichkeit, dies zu verhindern, besteht darin, sicherzustellen, dass keine Regel wie -e 0 am Anfang der Datei steht, die das Auditing beim Start deaktivieren würde. Stattdessen sollte diese auf -e 1 gesetzt oder vollständig entfernt werden.
Die Datei auditd.conf enthält grundlegende Einstellungen für den Audit-Daemon. Wichtige Parameter sind:
log_file definiert den Speicherort der Audit-Logs.
log_format bestimmt das Format der Logs, wie RAW oder ENRICHED.
flush gibt an, wie oft die Logs auf die Festplatte geschrieben werden sollen.
Ein Beispiel für eine auditd.conf-Datei könnte folgendermaßen aussehen:
Ein häufiges Szenario ist die Überwachung von Änderungen an der Datei /etc/passwd, um Benutzeraktivitäten zu protokollieren. Die folgende Regel überwacht Schreib- und Attributänderungen an der Datei:
auditctl -w /etc/passwd -p wa -k user-modify
Nach dem Hinzufügen eines neuen Benutzers mittels sudo useradd testuser kann überprüft werden, ob die Änderung protokolliert wurde:
Ein weiteres Beispiel ist die Überwachung des Systemaufrufs clock_settime, der verwendet wird, um die Systemzeit zu ändern:
auditctl -a exit,always -S clock_settime -k changetime
Diese Regel erzeugt ein Ereignis, jedes Mal wenn der Systemaufruf clock_settime erfolgt.
Ein Bericht über alle ausführbaren Ereignisse kann mit dem folgenden Befehl erstellt werden:
sudo aureport -x
Die Performance des Auditd-Systems kann durch sorgfältige Planung der Audit-Regeln verbessert werden. Es ist wichtig, unnötige Regeln zu vermeiden und die Reihenfolge der Regeln zu optimieren. Regeln, die häufiger angewendet werden, sollten am Anfang der Konfigurationsdatei stehen, um die Verarbeitungsgeschwindigkeit zu erhöhen.
Auditd kann effektiv mit anderen Sicherheitswerkzeugen integriert werden, um eine umfassendere Sicherheitsüberwachung zu gewährleisten. Ein Beispiel hierfür ist die Integration mit Auditbeat, einem Datensammler, der Auditd-Daten an Elasticsearch weiterleitet und eine erweiterte Analyse ermöglicht.
Umgang mit großen Log-Dateien und Speicherproblemen
Eine Herausforderung bei der Nutzung von Auditd ist der Umgang mit großen Log-Dateien. Um Speicherprobleme zu vermeiden, können Logrotation und Speicheroptimierungen implementiert werden. Die Konfigurationsparameter num_logs und max_log_file in der Datei auditd.conf helfen dabei, die Größe der Log-Dateien zu kontrollieren und sicherzustellen, dass alte Logs automatisch rotiert werden.
Ein häufiges Problem bei der Verwendung von Auditd ist die Überlastung des Systems durch zu viele oder ineffiziente Regeln. Es ist wichtig, die Audit-Regeln sorgfältig zu planen und regelmäßig zu überprüfen, um sicherzustellen, dass sie effizient und effektiv sind. Bei Problemen kann die Dokumentation und die Community-Unterstützung hilfreich sein, um Lösungen zu finden und Best Practices zu implementieren.