So erkennen Sie die Dateisystemintegrität basierend auf AIDE in Linux

So erkennen Sie die Dateisystemintegrität basierend auf AIDE in Linux

1. HILFE

AIDE (Advanced Intrusion Detection Environment) ist ein Programm, das Integritätsprüfungen an Dateien und Verzeichnissen durchführt. Es wurde als Ersatz für Tripwire entwickelt.

So funktioniert AIDE

AIDE erstellt eine Integritätsbeispielbibliothek (Snapshot) der angegebenen Dateien als Vergleichsstandard. Wenn diese Dateien geändert werden, ändern sich zwangsläufig auch die entsprechenden Prüfsummenwerte. AIDE kann diese Änderungen erkennen und den Administrator benachrichtigen. Die von AIDE überwachten Attributänderungen umfassen hauptsächlich: Berechtigungen, Eigentümer, Gruppe, Dateigröße, Erstellungszeit, letzte Änderungszeit, letzte Zugriffszeit, erhöhte Größe und Anzahl der Links. Außerdem können Algorithmen wie SHA1 und MD5 verwendet werden, um Bestätigungscodes für jede Datei zu generieren.

Dieses Tool ist ziemlich alt und im Vergleich zu ähnlichen Tools wie Tripwire auch einfacher zu bedienen. Es muss einen Snapshot des Systems erstellen und den HASH-Wert, die Änderungszeit und die Vorverarbeitung der Datei durch den Administrator aufzeichnen. Mit diesem Snapshot können Administratoren eine Datenbank erstellen und diese dann zur sicheren Aufbewahrung auf einem externen Gerät speichern.
Wenn der Administrator eine Integritätsprüfung des Systems durchführen möchte, platziert er die zuvor erstellte Datenbank in einem für das aktuelle System zugänglichen Bereich, vergleicht dann mithilfe von AIDE den Status des aktuellen Systems mit der Datenbank und meldet dem Administrator schließlich die erkannten Änderungen am aktuellen System. Darüber hinaus kann AIDE so konfiguriert werden, dass es zeitgesteuert ausgeführt wird. Dabei können Zeitplanungstechnologien wie Cron verwendet werden, um tägliche Systemerkennungsberichte zu erstellen.
Dieses System wird hauptsächlich zur Erkennung der Betriebs- und Wartungssicherheit verwendet. AIDE meldet alle böswilligen Änderungen im System dem Administrator.

Funktionen von AIDE

  • Unterstützte Message Digest-Algorithmen: md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool
  • Unterstützte Dateiattribute: Dateityp, Dateiberechtigungen, Inode, UID, GID, Linkname, Dateigröße, Blockgröße, Anzahl der Links, Mtime, Ctime, Atime
  • Unterstützt Posix ACL, SELinux, XAttrs, erweiterte Dateisystemattribute
  • Konfigurationsdateien im Klartext, vereinfachte Datenbank
  • Leistungsstarke reguläre Ausdrücke zum einfachen Filtern von zu überwachenden Dateien und Verzeichnissen
  • Unterstützt Gzip-Datenbankkomprimierung
  • Unabhängiges binäres, statisch kompiliertes Client/Server-Überwachungskonfigurationspaket

[root@centos7 ~]$ yuminstall-y Hilfe

Installieren Sie AIDE

Herunterladen: http://sourceforge.net/projects/aide

yum Installationsassistent
vi /etc/aide.conf
database=file:@@{DBDIR}/aide.db.gz #Speicherort der Systemabbildbibliothek database_out=file:@@{DBDIR}/aide.db.new.gz #Systemabbildbibliothek neu generieren, standardmäßig in /var/lib/aide/# Entscheiden Sie als Nächstes, welche Verzeichnisse/Dateien Sie in der Datenbank haben möchten.
/boot NORMAL
/bin NORMAL
/sbin NORMAL
/lib NORMAL
/lib64 NORMAL
#/opt NORMAL #Kommentar, um das Verzeichnis /usr nicht zu prüfen NORMAL
/root NORMAL
# Diese sind zu flüchtig, schließen Sie einzelne Verzeichnisse aus, die nicht überprüft werden!/usr/src
!/usr/tmp
#Fügen Sie unten je nach Bedarf ein neues Erkennungsverzeichnis /etc/exports NORMAL hinzu
/etc/fstab NORMAL
/etc/passwd NORMA

Detaillierte Erklärung der Konfigurationsdatei#Definiert die Variablen des Datenbankpfads und des Protokollpfads

@@define DBDIR /var/lib/aide
@@define LOGDIR /var/log/aide

# Komprimierung aktivieren

gzip_dbout=ja

# Definieren Sie mehrere Berechtigungen als Regeln und weisen Sie sie Variablen zur späteren Bezugnahme zu

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
INHALT = sha256+ftype
PERMS = p+u+g+acl+selinux+xattrs

# Nach welchen Regeln werden welche Dateien überwacht

/boot/CONTENT_EX
/bin/CONTENT_EX
/sbin/CONTENT_EX
/lib/CONTENT_EX
/lib64/ CONTENT_EX #Verwenden Sie die von CONTENT_EX definierten Regeln zur Überwachung
/opt/ CONTENT #Überwachen Sie nur die Prüfsumme und den Dateityp des opt-Verzeichnisses
/root/\..* PERMS #PERMS hat keinen Hash-Prüfwert, da sich die Daten unter /root häufig ändern

# Nicht zu überwachende Dateien

!/usw./.*~
#p: Berechtigungen
#i: Inode:
#n: Anzahl der Links
#u: Benutzer
#g: Gruppe
#s: Größe
#b: Blockanzahl
#m: mZeit
#a: eine Zeit
#c: ctime
#S: auf wachsende Größe prüfen
#acl: Zugriffskontrolllisten
#selinux SELinux-Sicherheitskontext
#xattrs: Erweiterte Dateiattribute
#md5: MD5-Prüfsumme
#sha1: sha1-Prüfsumme
#sha256: sha256-Prüfsumme
#sha512: sha512-Prüfsumme
#rmd160: rmd160-Prüfsumme
#tiger: Tiger-Prüfsumme

Regeln definieren

Bearbeiten Sie die Konfigurationsdatei /etc/adie.conf, definieren Sie eine Regelvariable mon, überwachen Sie alle Dateien im Verzeichnis /app und überwachen Sie /app/saomiao.log nicht.

[root@centos7-Hilfe]$ vim /etc/aide.conf
 mon = p+u+g+sha512+m+a+c
 /appmon
 !/app/juli.sh

Erstellen einer Datenbank

Erzeugen Sie eine Datenbankdatei, legen Sie in der Konfigurationsdatei für jede Datei die Prüfsummen fest und tragen Sie diese zum späteren Vergleich in die Datenbank ein. Anhand der Eingabeaufforderung können wir erkennen, dass eine Datenbankdatei /var/lib/aide/aide.db.new.gz generiert wird. Diese Datenbankdatei ist die ursprüngliche Datenbank. Wenn eine Einbruchserkennung durchgeführt wird, wird sie mit der Datenbankdatei /var/lib/aide/aide.db.gz verglichen. Wenn die beiden Datenbanken inkonsistent sind, wird eine Meldung angezeigt, dass ein Einbruch vorliegt.

[root@centos7-Hilfe]$aide --init
AIDE, Version 0.15.1
### AIDE-Datenbank unter /var/lib/aide/aide.db.new.gz initialisiert.

Simulieren Sie das Hacken und Ändern von Dateien

Simulationsdateien werden geändert: Neue Zeilen zur Datei saomiao.sh hinzufügen, was zu Änderungen an Prüfsumme, Mtime, Ctime führt

[root@centos7-Hilfe]$ echo >> /app/saomiao.sh

Erkennung: Der Erkennungsmechanismus von AIDE besteht darin, die aktuelle Datenbank zu berechnen und sie mit aide.db.gz zu vergleichen. aide.db.gz existiert standardmäßig nicht, daher müssen Sie die zuvor erstellte Initialisierungsdatenbank aide.db.new.gz in aide.db.gz umbenennen.

[root@centos7 aide]$mv aide.db.new.gz aide.db.gz

Einbruchserkennung

Verwenden Sie abschließend „aide -C“ (beachten Sie den Großbuchstaben), um die berechneten Daten mit „aide.db.new.gz“ zu vergleichen und zu prüfen, ob Mtime und Ctime SHA512 der Datei „saomiao.sh“ geändert wurden.

Erstellen Sie einen Aufgabenplan und führen Sie regelmäßige Inspektionen durch

crontab –e
30 08 * * * /usr/sbin/aide --check--report=file:/tmp/aide-check-` date +%Y%m%d `.txt #Jeden Morgen einmal um 08:30 ausführen

Sie können Informationen auch per E-Mail senden:

30 08 * * * /usr/sbin/aide --check| mail –s „AIDE-Bericht“ [email protected]

2. RKHunter

RKHunter ist ein Tool, das speziell dafür entwickelt wurde, festzustellen, ob ein System mit Rootkits infiziert ist. Es führt automatisch eine Reihe von Skripten aus, um umfassend festzustellen, ob der Server mit Rootkits infiziert ist.

Funktionen von RKHunter

  • Erkennen anfälliger Dateien;
  • Versteckte Dateien erkennen;
  • Überprüfen Sie die Berechtigungen wichtiger Dateien;
  • Portnummer des Erkennungssystems;

Installieren

[root@centos7-Hilfe]$yum installiere rkhunter

Erkennung

Führen Sie den Befehl rkhunker -c aus, um das System zu testen. Die RKHunter-Erkennung ist in mehrere Teile gegliedert. Der erste Teil erkennt hauptsächlich binäre Tools des Systems, da diese Tools die primären Infektionsziele von Rootkits sind. Nach jedem Test müssen Sie zur Bestätigung die Eingabetaste drücken.

[ ok ] bedeutet keine Anomalie

[nicht gefunden] bedeutet, dass das Werkzeug nicht gefunden wurde. Ignorieren Sie es.

[Warnung] Wenn es sich um eine rote Warnung handelt, müssen Sie weiter bestätigen, ob diese Tools infiziert sind oder ersetzt werden.

Erstellen Sie einen Aufgabenplan und führen Sie regelmäßige Inspektionen durch

crontab –e
30 08 * * * /usr/sbin/aide --check--report=file:/tmp/aide-check-` date +%Y%m%d `.txt #Jeden Morgen einmal um 08:30 ausführen

Sie können Informationen auch per E-Mail senden:

30 08 * * * /usr/sbin/aide --check| mail –s “AIDE report“ [email protected]

2. RKHunter

RKHunter ist ein Tool, das speziell dafür entwickelt wurde, festzustellen, ob ein System mit Rootkits infiziert ist. Es führt automatisch eine Reihe von Skripten aus, um umfassend festzustellen, ob der Server mit Rootkits infiziert ist.

Funktionen von RKHunter

  • Erkennen anfälliger Dateien;
  • Versteckte Dateien erkennen;
  • Überprüfen Sie die Berechtigungen wichtiger Dateien;
  • Portnummer des Erkennungssystems;

Installieren

[root@centos7-Hilfe]$yum installiere rkhunter

Erkennung

Führen Sie den Befehl rkhunker -c aus, um das System zu testen. Die RKHunter-Erkennung ist in mehrere Teile gegliedert. Der erste Teil erkennt hauptsächlich binäre Tools des Systems, da diese Tools die primären Infektionsziele von Rootkits sind. Nach jedem Test müssen Sie zur Bestätigung die Eingabetaste drücken.

[ ok ] bedeutet keine Anomalie
[nicht gefunden] bedeutet, dass das Werkzeug nicht gefunden wurde. Ignorieren Sie es.
[Warnung] Wenn es sich um eine rote Warnung handelt, müssen Sie weiter bestätigen, ob diese Tools infiziert sind oder ersetzt werden.

Wenn Sie möchten, dass das Programm die Erkennung automatisch durchführt, anstatt den Benutzer nach jeder Erkennung zu bestätigen, können Sie Folgendes verwenden:

rkhunter --check --skip-keypress

Wenn Sie gleichzeitig eine wöchentliche oder monatliche automatische Erkennung erreichen möchten, können Sie sie zur geplanten Aufgabe für die automatische Ausführung hinzufügen

crontab -e
1 10 7 * * * root /usr/bin/rkhunter --check --cronjob

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Befehle zum Lesen und Schreiben von Remotedateien mit Vim im Linux-System
  • Detaillierte Erläuterung verschiedener praktischer Verwendungen virtueller Gerätedateien im Linux-System
  • Lösung für die Eingabeaufforderung „Keine solche Datei oder kein solches Verzeichnis“ beim Ausführen ausführbarer Dateien unter Linux
  • So kopieren Sie schnell große Dateien unter Linux
  • Detaillierte Erläuterung des Problems, dass der Speicherplatz nach dem Löschen der Linux-Datei nicht freigegeben wird
  • Beispielanalyse von Linux-Dateiverwaltungsbefehlen [Anzeige, Ansicht, Statistiken usw.]
  • Implementierung der Deduplizierung von Dateiinhalten sowie von Schnittmengen und Unterschieden in Linux

<<:  Was sind die Vorteile von MySQL MGR?

>>:  Detaillierte Erklärung zur Verwendung der Vue.js-Renderfunktion

Artikel empfehlen

Probleme bei der Installation von MySQL und mysql.sock unter Linux

Vor kurzem traten bei der Installation von Apache...

Beispiel für die Bereitstellung von MySQL 8.0 mit Docker

1. Informationen zur Installation von Docker find...

Allgemeiner HTML-Seitenstil (empfohlen)

Wie unten dargestellt: XML/HTML-CodeInhalt in die...

Detaillierte Erklärung des MySQL-Datenbankindex

Inhaltsverzeichnis 1. Einführung in den MySQL-Ind...

So installieren Sie MySQL in Docker

Ich habe kürzlich Django bereitgestellt und wollt...

Nginx-Server fügt benutzerdefinierte Systemd-Dienstprozessanalyse hinzu

1. Nehmen Sie nginx als Beispiel Nginx mit dem Be...

So installieren und ändern Sie das Anfangskennwort von mysql5.7.18

Informationen zur Centos-Installation von MySQL f...

Linux-Swap-Partition (ausführliche Erklärung)

Inhaltsverzeichnis linux 1. Was ist SWAP 2. Was p...

Acht Möglichkeiten zur Implementierung von Kommunikation in Vue

Inhaltsverzeichnis 1. Komponentenkommunikation 1....

HTML-Tabellen-Markup-Tutorial (38): Rahmenfarben-Attribut der Kopfzeile BORDERCOLOR

Um die Tabelle zu verschönern, können Sie für die...

So fügen Sie Konfigurationsoptionen zum Discuz!-Forum hinzu

Discuz! Forum verfügt über zahlreiche Konfiguratio...

MySQL 5.6.33 Installations- und Konfigurations-Tutorial unter Linux

In diesem Tutorial erfahren Sie alles über die In...