GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Überwachungsregeln zum Überwachen von Befehlen zum Kopieren, Verschieben, Löschen und Beenden unter Linux

Systemprüfung mit auditd

Die Systemüberwachung ist eine sehr wichtige Aufgabe, die Teil jedes Servers sein sollte. Es ermöglicht uns, kleinste Details darüber zu prüfen, was genau im System passiert. auditd ist eine Userspace-Komponente des Linux-Prüfsystems. Dies bedeutet, dass Systembenutzer auditd ausführen können, um Regeln und Warnungen für die Überwachungsfunktionalität mit dem Linux-System zu konfigurieren.

Eines der besten Dinge an auditd ist, dass es eng in den Kernel integriert ist, sodass wir wirklich fast alles überwachen können, was wir wollen. Damit Benutzer sehen können, was vor sich geht, kann auditd alle Audit-bezogenen Ereignisse auf einer Festplatte aufzeichnen, und wir können verschiedene Tools wie aussearch oder aureport verwenden, um die Protokolldateien zu durchsuchen.

Standardmäßig sind keine Regeln konfiguriert. Wir müssen unsere Regeln in /etc/audit/audit.rules schreiben Konfigurationsdatei, die gelesen und die entsprechenden Audit-Aktionen angewendet werden.

Installieren von Auditd

Nachdem wir nun einigermaßen verstanden haben, worum es bei auditd geht, lassen Sie uns fortfahren und mit auditd mit dem vorherigen Anwendungsfall arbeiten:

1. Installieren Sie die auditd-Pakete. Die auditd-Pakete sind Teil der Standardinstallation von CentOS 7-Systemen. Wir können es mit dem folgenden Befehl überprüfen:

# rpm -qa | grep audit
audit-libs-2.6.5-3.el7_3.1.x86_64
audit-2.6.5-3.el7_3.1.x86_64
audit-libs-python-2.6.5-3.el7_3.1.x86_64

2. Wenn das Paket nicht Teil unseres Systems ist, können wir es installieren:

# yum install audit

3. Stellen Sie sicher, dass der Audit-Daemon ausgeführt wird. Wir verwenden den folgenden Befehl:

# systemctl status auditd
 auditd.service - Security Auditing Service
    Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled;
 vendor preset: enabled)
    Active: active (running) since Wed 2018-10-24 04:33:48 UTC; 4min
 21s ago
    Docs: man:auditd(8)
          https://people.redhat.com/sgrubb/audit/
    Process: 425 ExecStartPost=/sbin/augenrules --load (code=exited,
  status=0/SUCCESS)
 Main PID: 424 (auditd)
     CGroup: /system.slice/auditd.service
            └─424 /sbin/auditd -n

Da wir einen Audit-Daemon eingerichtet und ausgeführt haben, sehen wir uns an, wie wir auditd verwenden können, um alle 4 Anwendungsfälle zu erreichen.

Überwachungsregeln für Befehle zum Kopieren, Verschieben, Löschen und Beenden

1. Erstellen Sie eine Sicherungskopie der vorhandenen Konfigurationsdatei (auditd-Regeln):

# cp /etc/audit/audit.rules /etc/audit/audit.rules.bkp

2. Bearbeiten Sie die Datei /etc/audit/audit.rules und fügen Sie die folgenden Regeln hinzu, um es dauerhaft zu machen:

# vi /etc/audit/audit.rules
# Audit Copy, Move, Delete & Create file commands
-a exit,always -F arch=b64 -S execve -F path=/bin/cp -k Copy
-a exit,always -F arch=b64 -S execve -F path=/bin/mv -k Move_Rename
-a exit,always -F arch=b64 -S execve -F path=/bin/rm -k Delete
-a exit,always -F arch=b64 -S execve -F path=/bin/vi -k Create_Edit_View_File

# Audit shutdown & Reboot command
-a exit,always -F arch=b64 -S execve -F path=/sbin/reboot -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/init -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/poweroff -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/shutdown -k Reboot

# Audit mount unmount commands
-a exit,always -F arch=b64 -S execve -F path=/bin/mount -k mount_device
-a exit,always -F arch=b64 -S execve -F path=/bin/umount -k unmount_device

# Kill Process
-a exit,always -F arch=b64 -S kill -k Kill_Process

3. Starten Sie den auditd-Dienst neu, um die Änderungen zu übernehmen.

# service auditd restart

4. Listen Sie die hinzugefügten Regeln auf, um zu überprüfen, ob sie korrekt sind:

# auditctl -l
Hinweis :bash (und viele andere Shells) hat einen eingebauten „kill“-Befehl, der nicht wirklich /usr/bin/kill ausführt. Wenn also stattdessen der eingebaute Befehl ausgeführt wird, comm=bash ist richtig. Es gibt keine Möglichkeit, das System zu zwingen, das externe Programm /usr/bin/kill zu verwenden. comm=kill wird nicht in allen Fällen passieren, weil Shells den Systemaufruf direkt aufrufen können, ohne das externe Programm namens „kill“ auszuführen


Linux
  1. 10 Linux-Befehle für die Netzwerkdiagnose

  2. Linux-Befehle:jobs, bg und fg

  3. Linux-Dateiverwaltungsbefehle zum Erstellen, Kopieren, Verschieben und Löschen von Dateien

  4. So kopieren / verschieben Sie Dateien und Verzeichnisse unter Linux mit den Befehlen „cp“ und „mv“.

  5. So prüfen Sie Änderungen an Dateien und Ausführungen von Dateien in Linux

Erweitertes Kopieren – Fortschrittsbalken zu cp- und mv-Befehlen in Linux hinzufügen

50 nützliche und einfache IPtables-Regeln für Linux-Administratoren

50 einfache und nützliche dmidecode-Befehle für Linux

Die 40 nützlichen Linux-Server-Befehle für Anfänger und Profis

40 nützliche Git-Befehle für Linux-Administratoren und -Entwickler

17 beste Linux-Netzwerk- und Fehlerbehebungsbefehle für Anfänger