GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Überwachung und Erkennung geänderter Dateien mit Tripwire unter CentOS 7

Tripwire ist ein kostenloses Open Source Intrusion Detection System (IDS). Es ist ein Sicherheitstool zum Überwachen und Warnen von Dateiänderungen auf dem System. Tripwire ist ein leistungsstarkes IDS, das Ihr System vor unerwünschten Änderungen schützt. Sie können es verwenden, um Ihre Systemdateien, einschließlich Website-Dateien, zu überwachen, sodass Tripwire bei einer unerwünschten Dateiänderung Ihr System überprüft und Sie bei korrekter Einrichtung per E-Mail benachrichtigen kann.

In diesem Tutorial zeigen wir Ihnen, wie Sie Änderungen in Ihren Systemdateien überwachen und erkennen können, wenn Sie Tripwire auf einem CentOS 7-System verwenden. Wir zeigen Ihnen, wie Sie Tripwire unter CentOS 7 installieren und konfigurieren, Tripwire-Schlüsseldateien generieren, Tripwire-Richtlinien konfigurieren und hinzufügen, das System überprüfen und E-Mail-Benachrichtigungen für Tripwire- und Cron-Setup aktivieren.

Was wir tun werden

  1. Installieren Sie Tripwire auf CentOS 7
  2. Tripwire-Richtlinie für CentOS 7 konfigurieren
  3. Überprüfen der Tripwire-Konfiguration
  4. Neue Regel zur Tripwire-Richtlinie hinzufügen
  5. Tripwire-E-Mail-Benachrichtigung und Cron einrichten

Voraussetzungen

  • CentOS 7-System
  • Root-Berechtigungen

Schritt 1 – Installieren Sie Tripwire auf CentOS 7

Der erste Schritt, den wir tun müssen, ist die Installation von Tripwire auf dem System. Tripwire ist standardmäßig im CentOS 7-Repository verfügbar.

Melden Sie sich bei Ihrem Server an und aktualisieren Sie alle Pakete.

ssh [email protected]
sudo yum update -y

Installieren Sie nun Tripwire mit yum.

yum -y install tripwire

Nach der Installation müssen wir neue Schlüsseldateien generieren.

Tripwire arbeitet mit 2 Schlüsseldateien.

  1. site-key:Wird verwendet, um die Tripwire-Konfiguration zu sichern. Daher werden alle Änderungen an der Tripwire-Konfiguration nicht angewendet, bis wir die Konfiguration erneut generieren, und wir werden dazu aufgefordert, die 'Site-Key'-Passphrase einzugeben.
  2. local-key:Wird zur Überprüfung der Tripwire-Binärdatei verwendet. Wenn wir die tripwire-Systemdatenbank aktualisieren wollen, müssen wir den tripwire-Befehl ausführen und werden nach der Passphrase für „local-key“ gefragt.

Lassen Sie uns mit dem folgenden Befehl neue Tripwire-Schlüsseldateien (Site- und lokale Schlüssel) generieren.

sudo tripwire-setup-keyfiles

Der Befehl generiert zwei Schlüsseldateien, „site-key“ und „local-key“, und Sie werden nach der Passphrase für jede von ihnen gefragt.

Geben Sie Ihren eigenen 'Site-Key ein ' Passphrase und drücken Sie die Eingabetaste.

Geben Sie Ihren eigenen 'local-key ein ' Passphrase und drücken Sie erneut die Eingabetaste.

Als nächstes signieren Sie die Tripwire-Konfiguration mit dem 'site-key'.

Geben Sie Ihren 'Site-Key ein ' Passphrase.

Geben Sie nun zum Unterzeichnen der Tripwire-Richtlinie Ihren 'local-key ein ' Passphrase.

Tripwire wurde auf CentOS 7 installiert, und die neue Tripwire-Konfiguration und Schlüssel befinden sich im Verzeichnis „/etc/tripwire“.

Schritt 2 – Tripwire-Richtlinie für CentOS 7 konfigurieren

Nach der Tripwire-Installation, die wir im ersten Schritt besprochen haben, müssen wir die Tripwire-Datenbank initialisieren und sicherstellen, dass kein Fehler vorliegt.

Initialisieren Sie die Tripwire-Datenbank mit dem folgenden Tripwire-Befehl.

sudo tripwire --init

Sie werden nach der „Local-Key“-Passphrase gefragt und erhalten wahrscheinlich die folgende Fehlermeldung „No such directory“.

Wir erhalten den Fehler, weil das System kein Verzeichnis und keine Dateien hat, die bereits in der Tripwire-Konfiguration definiert sind. Um diesen Fehler zu beheben, müssen wir die Tripwire-Konfiguration „twpol.txt“ bearbeiten und die Tripwire-Konfiguration erneut signieren.

Generieren Sie nun den Protokollfehler von Tripwire mit dem folgenden Befehl.

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

Alle Verzeichnisse und Dateien, die auf dem CentOS 7-System nicht existieren, sind in der Datei 'mo-directory.txt'

aufgeführt
cat no-directory.txt

Bearbeiten Sie die Tripwire-Konfiguration „twpol.txt“ mit dem folgenden Bash-Skript – führen Sie dieses Skript auf Ihrem Terminal aus.

for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done

Nach all dem müssen wir die Tripwire-Konfiguration mit dem twadmin-Befehl neu generieren und neu signieren, wie unten gezeigt.

sudo twadmin -m P /etc/tripwire/twpol.txt

Geben Sie Ihre 'Site-Key'-Passphrase ein.

Initialisieren Sie die Tripwire-Datenbank erneut und vergewissern Sie sich, dass keine Fehlermeldung angezeigt wird.

sudo tripwire --init

Tripwire-Datenbank ohne Fehler neu initialisieren.

Schritt 3 – Verifizierung der Tripwire-Konfiguration und Überprüfung des Systems

Um die Tripwire-Konfiguration zu überprüfen, können wir den Systemprüfungsbefehl wie unten ausführen.

sudo tripwire --check

Und Sie sollten ein ähnliches Ergebnis wie das folgende erhalten.

Das bedeutet also, dass auf unserem System kein Fehler und keine Systemverletzung gefunden wurde.

Jetzt werden wir versuchen, eine neue Datei unter dem Root-Home-Verzeichnis hinzuzufügen und es erneut mit Tripwire überprüfen.

Gehen Sie in das Root-Home-Verzeichnis und erstellen Sie eine neue Datei ‚hakase-labs.txt‘.

cd ~/
touch hakase-labs.txt

Überprüfen Sie nun das System erneut mit dem Tripwire-Befehl.

sudo tripwire --check

Und Sie erhalten das Ergebnis des neuen Verstoßes auf dem System mit Schweregrad 100 wie folgt.

In diesem Stadium ist Tripwire installiert und für das CentOS 7-System konfiguriert.

Schritt 4 – Neue Regel zur Tripwire-Richtlinie hinzufügen

In diesem Schritt zeigen wir Ihnen, wie Sie der Tripwire-Richtlinienkonfiguration „twpol.txt“ eine neue Regel hinzufügen.

Um diese Arbeit auszuführen, müssen wir den Regelnamen, den Schweregrad, das Verzeichnis für die Überwachung und den Dateityp definieren. In diesem Schritt erstellen wir eine neue Regel namens „Wordpress Data“ für unsere WordPress-Installation im Verzeichnis „/var/www/“ mit dem Schweregrad „HIGH/SIG_HI“, und alle Dateien in diesem Verzeichnis sind kritisch (sowohl ihr Eigentum sowie Quellcode können nicht verändert werden).

Gehen Sie in das Tripwire-Konfigurationsverzeichnis „/etc/tripwire“ und bearbeiten Sie die Konfigurationsdatei „twpol.txt“ mit vim.

cd /etc/tripwire/
vim twpol.txt

Gehen Sie zum Ende der Zeile und fügen Sie dort die folgende WordPress-Regel ein.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

Speichern und beenden.

Generieren Sie die Konfiguration neu und signieren Sie sie erneut, indem Sie den Befehl twadmin wie unten verwenden.

sudo twadmin -m P /etc/tripwire/twpol.txt

Geben Sie Ihre 'Site-Key'-Passphrase ein.

Jetzt müssen wir die Tripwire-Datenbank erneut generieren.

sudo tripwire --init

Geben Sie die Passphrase für den lokalen Schlüssel ein.

Ein neuer Regelsatz wurde hinzugefügt und auf die Tripwire-Richtlinienkonfiguration angewendet.

Überprüfen Sie Ihr System mit dem folgenden Tripwire-Befehl.

sudo tripwire --check

Und Sie sollten das Ergebnis ohne Fehler und Verletzung erhalten.

Gehen Sie nun in das Verzeichnis ‚/var/www/‘ und erstellen Sie darin eine neue Datei.

cd /var/www/
touch hakase-labs.php

Führen Sie die Systemprüfung erneut mit Tripwire durch.

sudo tripwire --check

Und Sie erhalten das Ergebnis:Systemverletzung im Verzeichnis „/var/www/“ mit Sicherheitsstufe High 100.

Eine neue Regel wurde hinzugefügt und auf die Tripwire-Richtlinienkonfiguration angewendet.

Schritt 5 – Tripwire-E-Mail-Benachrichtigung und Cron einrichten

In diesem Schritt konfigurieren wir Benachrichtigungen für bestimmte Tripwire-Regelsatzrichtlinien und konfigurieren einen Cronjob für die automatische Systemüberprüfung. Wir werden jeden Verstoß gegen die „Wordpress Data“-Regel an die E-Mail-Adresse „[email protected]“ melden.

Für die E-Mail-Benachrichtigung stellt tripwire in der Konfiguration eine Funktion „emailto“ zur Verfügung. Und standardmäßig verwendet tripwire Postfix oder Sendmail, um den Bericht per E-Mail zu versenden.

Testen Sie vor dem Konfigurieren von E-Mail-Benachrichtigungen die Tripwire-Benachrichtigungsfunktion mit dem folgenden Befehl.

sudo tripwire --test --email [email protected]

Überprüfen Sie Ihre E-Mail und Sie sollten den E-Mail-Bericht von Ihrem Server wie unten erhalten.

Gehen Sie nun in das Verzeichnis ‚/etc/tripwire‘ und bearbeiten Sie die Konfiguration ‚twpol.txt‘.

cd /etc/tripwire/
vim twpol.txt

Fügen Sie die neue Zeile „emailto“ innerhalb der „Wordpress Data“-Regel hinzu, wie unten gezeigt.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI),
  emailto = [email protected]
)
{
        /var/www        -> $(SEC_CRIT);
}

Speichern und beenden.

Generieren und signieren Sie die Konfiguration mit dem Befehl twadmin.

sudo twadmin -m P /etc/tripwire/twpol.txt

Geben Sie Ihre 'Site-Key'-Passphrase ein.

Und regenerieren Sie die Tripwire-Datenbank.

sudo tripwire --init

Geben Sie Ihre Tripwire-Passphrase für den lokalen Schlüssel ein.

Die Konfiguration für die Tripwire-E-Mail-Benachrichtigung wurde abgeschlossen.

Führen Sie nun einen Test durch, indem Sie erneut eine neue Datei im Verzeichnis „/var/www/“ erstellen.

cd /var/www/
touch hakase.txt

Überprüfen Sie Ihr System erneut mit dem folgenden Befehl.

sudo tripwire --check --email-report

Hinweis:

  • --E-Mail-Bericht: Bericht des Systems an die in jeder Regel definierte E-Mail-Adresse senden.

Überprüfen Sie Ihre E-Mail und Sie sollten das Ergebnis wie unten in Ihrer E-Mail erhalten.

E-Mail-Benachrichtigung für Tripwire wurde aktiviert und angewendet.

Als Nächstes aktivieren wir die automatische Überprüfung des Tripwire-Systems mithilfe des Cron-Setups. Erstellen Sie dazu ein neues Cron-Skript unter dem Root-Benutzer mit dem crontab-Befehl unten.

sudo crontab -e -u root

Fügen Sie die folgende Cron-Konfiguration ein.

0 0 * * * tripwire --check --email-report

Speichern und beenden.

Hinweis:

  • - Das cron-Skript wird das Tripwire-System täglich überprüfen.

Starten Sie nun den Crond-Dienst unter CentOS 7 neu.

systemctl restart crond

Jetzt erhalten Sie täglich Tripwire-Benachrichtigungen per E-Mail.

Tripwire wurde für das CentOS 7-System installiert und konfiguriert.


Cent OS
  1. Serverüberwachung mit Icinga 2 und Icingaweb 2 auf CentOS 7

  2. Verwenden von ATA über Ethernet (AoE) auf CentOS 6.3 (Initiator und Ziel)

  3. Centos 4.8 und Glibc 2.5?

  4. So senden und laden Sie Dateien mit Rsync herunter

  5. tcpdump – Rotieren Sie Capture-Dateien mit -G, -W und -C

Serverüberwachung mit Munin und Monit auf CentOS 7.2

So installieren und verwalten Sie Pakete auf CentOS mit RPM

Installieren und Verwenden von Perf in Ubuntu und CentOS

So installieren Sie Webmin unter CentOS 8 und Rocky Linux 8

Anzeigen und Überwachen von Protokolldateien in CentOS 8

So installieren Sie Seafile zum Synchronisieren und Freigeben von Dateien unter CentOS 8