In dieser Antwort wird erläutert, was zu tun ist, aber die Einzelheiten hängen davon ab, welche Verteilung, Einrichtung und Zweck Sie haben und welche Tools Sie zum Analysieren der Daten verwenden:
Was Sie suchen, ist der Auditd- Dämon in Linux. Aus der Manpage auditd (8) :
auditd ist die Userspace-Komponente des Linux-Auditing-Systems. Es ist für das Schreiben von Audit-Datensätzen auf die Festplatte verantwortlich. Das Anzeigen der Protokolle erfolgt mit den Dienstprogrammen ausearch oder aureport . Das Konfigurieren der Überwachungsregeln erfolgt mit dem Dienstprogramm auditctl . Während des Startvorgangs werden die Regeln
/etc/audit/audit.rules
von auditctl gelesen und in den Kernel geladen. Alternativ gibt es auch ein augenrules-Programm, das die darin enthaltenen Regeln liest/etc/audit/rules.d/
und in eineaudit.rules
Datei kompiliert . Der Audit-Daemon selbst verfügt über einige Konfigurationsoptionen, die der Administrator möglicherweise anpassen möchte. Sie befinden sich in derauditd.conf
Datei.
Bei der Überwachung werden im Kernel integrierte Funktionen verwendet, um bei bestimmten Systemaufrufen nach Ihren Vorgaben Protokolle zu erstellen. Nach der Einrichtung finden Sie die Protokolle in /var/log/audit
Ihrer Distribution oder an einem ähnlichen Ort.
Um den Zugriff auf eine Datei zu überprüfen, verwenden Sie Folgendes:
auditctl -w /path/to/interesting/files/ -p rwxa -k myfileaudits
Wo -w
der Pfad zu den Dateien gibt -p
gibt an, dass das System Audit r eads w Riten, e x ecutions und ein ttribute oder Berechtigungsänderungen. Schließlich -k
können Sie mit dieser Option einen beliebigen Schlüssel angeben, der bei der Suche nach dieser Regel mit ausearch verwendet werden soll .
Beachten Sie, dass, obwohl auditd abarbeitet Systemaufrufe, -p r
nicht die nicht verfolgt Lesefunktion, sondern offen, so dass die Protokolle mit jeder Lese nicht überflutet werden, aber ein Eintrag gemacht, jedes Mal einer Datei zum Lesen geöffnet wird.
Wenn die Überwachung aktiviert ist und die Protokolle installiert sind, kann mit ausearch diese Protokolle für den gesamten Zugriff auf die angegebenen Dateien analysiert werden, und mit Standardtext- oder Statistiktools können die Ergebnisse erstellt werden. Diese können von grep
und wc -l
zum Zählen der Protokolleinträge oder einer Kombination aus Skripting und GNU-R oder gnuplot zum Erstellen von Diagrammen und Berichten variieren .
Eine andere Alternative ist die Verwendung von SELinux . Während SELinux ein Werkzeug für die Zugriffskontrolle ist, das normalerweise nur Zugriffsverweigerungen protokolliert, kann es so eingerichtet werden, dass es ALLE Zugriffe protokolliert und ähnliche Informationen wie auditd bereitstellt.
Bearbeiten: Wenn von Anfang an eine Aufzeichnung des Zugriffs erforderlich ist : z. B. während der Betriebssysteminstallation, während des Startvorgangs vor dem Start von auditd oder vor der Installation von auditd, sind strengere Maßnahmen erforderlich. initrd.img
Möglicherweise muss ein benutzerdefiniertes Installationsprogramm oder eine benutzerdefinierte Startdatei erstellt werden, um die erforderlichen Tools für die Debugger- oder Kernel-Ablaufverfolgung laden zu können. Zu diesen Ablaufverfolgungstools gehören beispielsweise dtrace, perf, SystemTap, ktap oder ähnliche Debugger-Tools, um den Zugriff während des Startvorgangs abzufangen . Eine gute Referenz ist http://www.brendangregg.com/linuxperf.html. Ein Beispiel für diese Art von Analyse für die Systemleistung ist nicht die Überwachung, sondern Bootchart .
Die Einrichtung dieser Option liegt jedoch außerhalb meines Erfahrungsbereichs - ich hoffe, dass die Referenzen sich als nützlich erweisen.