Diese Antwort erklärt Was muss getan werden, aber die Besonderheiten von Wie hängen Sie von Ihrer Distribution, Ihrem Setup und Zweck ab und welche Tools Sie zum Analysieren der Daten wählen:
Was Sie suchen, ist das Auditd Daemon innerhalb von 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. Anzeigen der
Protokolle werden mit dem erledigt ausearch oder aureport Dienstprogramme. Konfigurieren der
Audit-Regeln werden mit der auditctl Nützlichkeit. Während des Startvorgangs wird der
Regeln in /etc/audit/audit.rules
werden von gelesen auditctl und geladen in
der Kernel Alternativ gibt es auch ein augenrules-Programm, das liest
Regeln in /etc/audit/rules.d/
und kompiliert sie zu einem audit.rules
Datei. Der Audit-Daemon selbst hat einige Einstellungen
Optionen, die der Administrator möglicherweise anpassen möchte. Sie sind im gefunden auditd.conf
Datei.
Bei der Überwachung werden im Kernel integrierte Funktionen verwendet, um bei bestimmten Systemaufrufen nach Ihren Vorgaben Protokolle zu erstellen. Nach dem Setup finden Sie die Protokolle in /var/log/audit
oder irgendwo in Ihrer Distribution ähnlich.
Um den Zugriff auf eine Datei zu prüfen, verwenden Sie Folgendes:
auditctl -w /path/to/interesting/files/ -p rwxa -k myfileaudits
Woher -w
gibt den Pfad zu den Dateien an -p
gibt an, dass das System eine Prüfung durchführt r eads w Riten, e x Ecutions und ein Attribut- oder Berechtigungsänderungen. Endlich, das -k
Mit dieser Option können Sie einen beliebigen Schlüssel angeben, der bei der Suche nach dieser Regel mit verwendet werden soll ausearch .
Beachten Sie, dass obwohl auditd arbeitet Systemaufrufe ab, -p r
verfolgt das nicht lesen Funktion, aber eher öffnen Damit die Protokolle nicht bei jedem Lesevorgang überflutet werden, wird bei jedem Öffnen einer Datei ein Eintrag zum Lesen gemacht.
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 abweichen grep
und wc -l
um die Protokolleinträge zu zählen oder eine Kombination aus Scripting und GNU-R oder Gnuplot Diagramme und Berichte erstellen.
Eine andere Alternative ist zu verwenden SELinux . Während SELinux ein Werkzeug zur 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 eine Aufzeichnung des Zugriffs erforderlich ist von Anfang an : Zum Beispiel während der Betriebssysteminstallation, während des Startvorgangs vor dem Start von auditd oder vor der Installation von auditd sind strengere Maßnahmen erforderlich. Ein benutzerdefiniertes Installationsprogramm oder ein benutzerdefiniertes Installationsprogramm initrd.img
Die Boot-Datei muss möglicherweise erstellt werden, um die erforderlichen Debugger- oder Kernel-Trace-Tools laden zu können. Diese Verfolgungswerkzeuge könnten umfassen dtrace . perf . SystemTap . ktap oder ähnliche Tools auf Debugger-Ebene, 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 Prüfung Bootchart .
Die Einrichtung dieser Einstellung liegt jedoch außerhalb meines Erfahrungsbereichs - ich hoffe, dass die Referenzen sich als nützlich erweisen.