So auditieren Sie Linux mit dem Auditd Tool und Ausearch

Als Systemadministrator, Support-Gruppenpersonal oder einfach als Maßnahme zur Aufrechterhaltung der bestmöglichen Kontrolle sowohl der Server- als auch der Client-Computer der Organisation überprüft es ständig das Betriebssystem, um auftretenden Fehlern einen Schritt voraus zu sein und erhalten so die Integrität und Verfügbarkeit des Systems sowie seiner darin gespeicherten Rollen, Dienste und Elemente.

Was ist ein Linux-Audit?Wenn wir von einem Auditing-System in einer Linux-Umgebung sprechen, sprechen wir von einem Mechanismus, der eine Möglichkeit bietet, sicherheitsrelevante Informationen in diesem Betriebssystem zu verfolgen.

Ein Audit besteht aus einer Prüfung der verschiedenen Teile, aus denen sich das jeweilige System zusammensetzt, mit einer kritischen Bewertung und gegebenenfalls Tests in verschiedenen Interessensgebieten.

Basierend auf diesem Konzept wird Solvetic heute zwei der besten Tools für den Auditing-Prozess in Linux analysieren: auditd und ausearch.

Es ist wichtig zu verdeutlichen, dass das Audit dem Betriebssystem keine zusätzliche Sicherheit bietet, sondern dazu verwendet werden kann, Verstöße gegen die im System verwendeten Sicherheitsrichtlinien aufzudecken und somit mit ausreichender Kenntnis dieser zu sein.

GeprüftAuditd ist das Linux-Audit-System, das auf vorkonfigurierten Regeln beruht, um Log-Einträge zu generieren und so möglichst viele Informationen über die im System stattfindenden Ereignisse zu speichern.

Diese gesammelten Informationen sind für geschäftskritische Umgebungen von entscheidender Bedeutung, um den Verstöße gegen die Sicherheitsrichtlinien und die von ihnen ergriffenen Maßnahmen zu ermitteln und so zu ermöglichen, dass sich alle Sicherheitsmaßnahmen und neue Richtlinien, die in der Organisation erstellt wurden, auf die Verbesserung der gesamten Betriebsumgebung konzentrieren.

Auditd kann die folgenden Protokolldateien aufzeichnen

  • Datum, Uhrzeit, Art und Ergebnis eines Ereignisses.
  • Betreff- und Objektempfindlichkeitsbezeichnungen.
  • Verknüpfung eines Ereignisses mit der Identität des Benutzers, der das Ereignis ausgeführt hat.
  • Stellen Sie alle Änderungen an der Überwachungskonfiguration bereit und versuchen Sie, auf Überwachungsprotokolldateien zuzugreifen.
  • Speichern Sie alle Verwendungen von Authentifizierungsmechanismen wie SSH, Kerberos und andere.
  • Es ist möglich, zu jeder vertrauenswürdigen Datenbank zu wechseln, z. B. /etc/passwd.
  • Zeichnet jeden Versuch auf, Informationen in das oder aus dem System zu importieren oder zu exportieren.
  • Schließt Ereignisse basierend auf Benutzeridentität, Betreff- und Objekt-Tags und anderen Attributen ein oder aus.

AnforderungenEbenso ist der Einsatz des Auditing-Systems auch eine notwendige Voraussetzung für eine Reihe von sicherheitsrelevanten Zertifizierungen, wenn dies irgendwann erforderlich ist. Das Audit soll die Anforderungen der folgenden weltweiten Compliance-Richtlinien oder Zertifizierungen erfüllen oder übertreffen:

  • Kontrolliertes Zugriffsschutzprofil (CAPP)
  • Gekennzeichnetes Sicherheitsschutzprofil (LSPP)
  • Regelsatz-Basiszugriffssteuerung (RSBAC)
  • National Industrial Security Program Operating Manual (NISPOM)
  • Bundesgesetz über das Management der Informationssicherheit (FISMA)
  • Zahlungskartenindustrie - Datensicherheitsstandard (PCI-DSS)
  • Sicherheitstechnische Implementierungsleitfäden (STIG)

Zusätzliche VorteileEinige der zusätzlichen Vorteile der Verwendung des Linux-Audit-Systems sind wie folgt:

  • Es erfordert keine externen Programme oder Prozesse, um auf einem System zu laufen, das es autark macht.
  • Es ist hochgradig konfigurierbar, weshalb es uns ermöglicht, jeden gewünschten Betrieb des Systems zu sehen.
  • Es hilft, potenzielle Kompromisse auf der Sicherheitsebene eines Systems zu erkennen oder zu analysieren.
  • Es ist in der Lage, als unabhängiges Erkennungssystem zu funktionieren.
  • Es kann mit Intrusion Detection-Systemen zusammenarbeiten, um die Intrusion Detection zu ermöglichen.
  • Es ist ein wichtiges Werkzeug für die Prüfung von forensischen Ermittlungen.

Obwohl einige Begriffe seltsam erscheinen mögen, ist dies zweifellos eine der besten Optionen, wenn wir der Sicherheit verpflichtet sind.

1. Auditd-Audit-Systemkomponenten für Linux


Das Auditsystem besteht aus zwei grundlegenden Komponenten:
  • Benutzeranwendungen und Dienstprogramme oder Tools
  • Verarbeitung von Systemaufrufen auf Kernel-Ebene, die Systemaufrufe von Benutzerbereichsanwendungen akzeptiert und sie durch drei Arten von Filtern leitet: Benutzer, Task, Exit oder Ausschluss.
Der wichtigste Teil ist der User Audit Daemon (auditd), der die Informationen basierend auf vorkonfigurierten Regeln vom Kernel sammelt und Einträge in einer Log-Datei generiert: Das Standard-Log ist:
 /var/log/audit/audit.log
Darüber hinaus ist audispd ein Ereignis-Multiplexer, der mit auditd interagiert und Ereignisse an andere Programme sendet, die eine Echtzeit-Ereignisverarbeitung durchführen möchten.

Es gibt mehrere User-Space-Tools zum Verwalten und Abrufen von Informationen aus dem Audit-System:

AuditctlEs ist ein Dienstprogramm zur Kontrolle des Kernel-Audit-Systems.
SucheEs ist ein Dienstprogramm zum Durchsuchen von Überwachungsprotokolldateien nach bestimmten Ereignissen.
AureportEs ist ein Dienstprogramm zum Erstellen von Berichten über aufgezeichnete Ereignisse.

Für diese Analyse verwenden wir CentOS 7

2. Installieren und konfigurieren Sie auditd auf CentOS 7


Der erste Schritt besteht darin, sicherzustellen, dass das Audit-Tool auf dem System installiert ist, indem Sie den Befehl rpm und das Dienstprogramm grep wie folgt verwenden:
 U/min -qa | grep-Audit
Das Ergebnis wird sein:

Falls die Audit-Pakete nicht vorhanden sind, müssen wir den folgenden Befehl als Root-Benutzer ausführen:

 yum install audit
Nach der Installation müssen wir konfigurieren, ob auditd aktiviert ist. Dazu führen wir einen der folgenden Befehle in ihrer Reihenfolge aus:

Auf CentOS oder RHEL 7

 systemctl is-enabled auditdsystemctl status auditdsystemctl start auditd (startet den Dienst) systemctl enable auditd (aktiviert den Dienst)

Auf CentOS oder RHEL 6

 service auditd statusservice auditd start (startet den Dienst) chkconfig auditd on (aktiviert den Dienst)

Wir können sehen, dass sein Status aktiv ist.

3. Geprüfte Konfiguration


Um auditd zu konfigurieren, müssen wir die Hauptkonfigurationsdatei /etc/audit/auditd.conf verwenden, da Sie dort steuern können, wie der Dienst ausgeführt wird, z , wie Sie mit vollen Festplatten umgehen, die Rotation von Aufzeichnungen und weitere Optionen.
Dazu verwenden wir den bevorzugten Editor:
 nano /etc/audit/auditd.conf
Dort werden wir folgendes sehen:

Wir können sehen, dass jede Zeile es uns ermöglicht, eine bestimmte Aktion anzugeben, und wir können sie nach Bedarf ändern.

4. Audit-Regeln in Linux


Wie oben erwähnt, verwendet auditd Regeln, um bestimmte Informationen vom Kernel zu sammeln. Diese Regeln sind im Grunde auditctl-Optionen, die in der Datei /etc/audit/rules.d/audit.rules vorkonfiguriert werden können.

Es gibt drei Arten von Audit-Regeln, die definiert werden können:

KontrollregelnDiese ermöglichen es, das Verhalten des Auditing-Systems und einige seiner Einstellungen zu ändern.
DateisystemregelnDiese Regeln ermöglichen die Überwachung des Zugriffs auf eine bestimmte Datei oder ein bestimmtes Verzeichnis.
Regeln für SystemaufrufeDiese ermöglichen die Aufzeichnung von Systemaufrufen, die von beliebigen Programmen getätigt werden.

Um auf diese Regeln zuzugreifen, gehen wir mit dem gewünschten Editor auf folgenden Weg:

 nano /etc/audit/rules.d/audit.rules
Wir werden folgendes sehen:

In dieser Datei müssen wir im ersten Abschnitt Kontrollregeln hinzufügen. Fügen Sie anschließend im mittleren Abschnitt die Audit-Regeln hinzu und schließlich enthält der letzte Abschnitt Unveränderlichkeitsparameter, die auch Kontrollregeln sind.

Einige Beispiele für diese Regeln sind:

Entfernen Sie alle vorherigen Regeln

 -D

Puffergröße definieren

 -b 3074

Fehler erzeugt eine Panikoption

 -f 4

Erstellen Sie maximal 120 Überwachungsmeldungen pro Sekunde

 -r 120

Ein Beispiel für eine Regel ist wie folgt:

Da haben wir folgendes:

Wird verwendet, um eine zu überwachende Datei oder ein Verzeichnis anzugeben.

 -w

BerechtigungenDies sind die zu registrierenden Berechtigungen, r - für Lesezugriff, w - für Schreibzugriff, x - für Ausführungszugriff und - für die Änderung von Datei- oder Director-Attributen.

 -P

Identifizieren Sie das RegelwerkErmöglicht Ihnen, eine optionale Kette festzulegen, um zu identifizieren, welche Regel (oder ein Regelsatz) einen bestimmten Registrierungseintrag erstellt hat.

 -k

Sobald die Regeln definiert sind, verwenden wir die Tastenkombination Strg + O, um die Datei zu speichern und Strg + X, um sie zu verlassen. Wir werden diese Regeln hinzufügen, indem wir die des Beispiels verwenden, indem wir die folgenden Zeilen als root ausführen:

 auditctl -w / etc / passwd -p wa -k passwd_changesauditctl -w / etc / group -p wa -k group_changesauditctl -w / etc / sudoers -p wa -k sudoers_changes
Um die aktuellen Regeln zu sehen, werden wir Folgendes ausführen:
 sudo auditctl -l

Auf diese Weise wird auditd zu einem wertvollen Audit-Tool in CentOS 7.

5. Aussearch Linux


Das Dienstprogramm aussearch wurde entwickelt, um das Durchsuchen von Audit-Log-Dateien nach bestimmten Ereignissen basierend auf Ereignissen und verschiedenen Suchkriterien wie Ereigniskennung, Schlüsselkennung, CPU-Architektur, Befehlsname, Hostname, Gruppenname oder Gruppen-ID zu ermöglichen.

Standardmäßig sucht aussearch in der Datei /var/log/audit/audit.log. Sie können eine andere Datei angeben, indem Sie den Befehl aussearch options -if filename verwenden. Die Bereitstellung mehrerer Optionen in einem aussearch-Befehl entspricht der Verwendung des AND-Operators.

Um den Standardwert zu verwenden und die aktuellen Protokolle anzuzeigen, führen wir einen der folgenden Befehle aus:

 cat /var/log/audit/audit.logcat /var/log/audit/audit.log | weniger

Wie wir sehen, können die hier dargestellten Daten verwirrend sein, weshalb ausearch die aussearch-Syntax (Option) verwendet, um diese Ergebnisse zu filtern und eine viel einfacher zu verwaltende Vision zu erhalten.

Wir haben Optionen wie:

Überprüfen Sie die Ausführung von ProzessprotokollenDort können wir den Parameter -p plus die PID verwenden, um ein bestimmtes Ergebnis zu erhalten:

 aussearch -p 579

Überprüfung der Audit-Log-Datei auf AnmeldeversucheIn diesem Fall müssen wir den Parameter -m verwenden, um bestimmte Nachrichten zu identifizieren, und -sv, um die erfolgreichen Ergebnisse zu definieren.

 aussearch -m USER_LOGIN -sv no

Suchen Sie die Benutzeraktivität in der Auditd-ProtokolldateiFür dieses Ergebnis verwenden wir den Parameter -ua plus den Benutzernamen:

 aussearch -ua Solvetic

Suchen Sie nach Änderungen an Benutzern, Gruppen und RollenMit dieser Option ist es möglich, alle Systemänderungen zu überprüfen, die mit Benutzerkonten, Gruppen und Rollen verwendet werden; Wir können verschiedene Arten von Nachrichten angeben, die wie folgt durch Kommas getrennt sind:

 ausearch -m ADD_USER, DEL_USER, USER_CHAUTHTOK, ADD_GROUP, DEL_GROUP, CHGRP_ID, ROLE_ASSIGN, ROLE_REMOVE -i
Wir werden folgendes sehen:

Siehe Hilfe zur SucheUm die verschiedenen Optionen dieses Dienstprogramms zu sehen, führen wir Folgendes aus:

 Mann sucht

So können wir die verschiedenen Optionen bei der Durchführung eines vollständigen und effektiven Audits in CentOS oder RedHat sehen.

wave wave wave wave wave