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

Tripwire ist ein freies und quelloffenes Intrusion Detection System (IDS). Es ist ein Sicherheitstool zur Überwachung und Benachrichtigung von Dateiänderungen auf dem System. Tripwire ist ein leistungsfähiges IDS, das Ihr System vor unerwünschten Änderungen schützt. Sie können es verwenden, um Ihre Systemdateien zu überwachen, einschließlich Website-Dateien, so dass Tripwire bei einer unerwünschten Dateiänderung Ihr System überprüft und Sie bei richtiger Einrichtung per E-Mail benachrichtigen kann.

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

Was wir tun werden

  1. Tripwire auf CentOS 7 installieren
  2. Konfigurieren der Tripwire-Richtlinie für CentOS 7
  3. Überprüfen der Tripwire-Konfiguration
  4. Neue Regel zur Tripwire-Richtlinie hinzufügen
  5. Einrichtung von Tripwire E-Mail-Benachrichtigung und Cron

Voraussetzungen

  • CentOS 7 System
  • Root-Privilegien

Schritt 1 – Tripwire auf CentOS 7 installieren

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

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

ssh root@hakase-labs.co
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: Er wird verwendet, um die Tripwire-Konfiguration zu sichern. Daher werden Änderungen an der Tripwire-Konfiguration erst dann übernommen, wenn wir die Konfiguration erneut generieren, und wir werden dazu aufgefordert, die Passphrase „site-key“ einzugeben.
  2. local-key: Wird zur Überprüfung der Tripwire-Binärdatei verwendet. Wenn wir die Datenbank des Tripwire-Systems aktualisieren wollen, müssen wir den Tripwire-Befehl ausführen und werden zur Eingabe der Passphrase für den’local-key‘ aufgefordert.

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

sudo tripwire-setup-keyfiles

Der Befehl erzeugt zwei Schlüsseldateien ’site-key‘ und ‚local-key‘, und Sie werden nach der Passphrase für jede von ihnen gefragt.

Geben Sie Ihre eigene Passphrase für den „Site-Key“ ein und drücken Sie die Eingabetaste.

Sitekey-Passphrase festlegen

Geben Sie Ihre eigene „local-key„-Passphrase ein und drücken Sie erneut die Eingabetaste.

Lokalen Schlüssel setzen

Als nächstes signieren Sie die Tripwire-Konfiguration mit dem „Site-Key“.

Geben Sie Ihre Passphrase „Site-key“ ein.

Seitenschlüssel konfigurieren

Und jetzt, um für die Tripwire-Richtlinie zu unterschreiben, geben Sie Ihre Passphrase „local-key“ ein.

Unterzeichnung der Tripwire-Richtlinie

Tripwire wurde auf CentOS 7 installiert, und neue Tripwire-Konfigurationen 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 es keinen Fehler gibt.

Initialisieren Sie die Tripwire-Datenbank mit dem Befehl tripwire unten.

sudo tripwire --init

Sie werden nach der Passphrase „local-key“ gefragt und erhalten wahrscheinlich die Fehlermeldung „no such directory“ wie unten beschrieben.

Konfiguration der Tripwire-Richtlinie auf CentOS

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.

Erzeugen 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 nicht auf dem CentOS 7-System vorhanden sind, werden in der Datei’mo-directory.txt‘ aufgelistet.

cat no-directory.txt

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 regenerieren und neu signieren, wie unten gezeigt.

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

Geben Sie Ihre Passphrase „Site-key“ ein.

Initialisieren Sie die Tripwire-Datenbank erneut und stellen Sie sicher, dass Sie keinen Fehler erhalten.

sudo tripwire --init

Neuinitialisierung der Tripwire-Datenbank ohne Fehler.

twadmin-Befehl

Schritt 3 – Verifizierung der Tripwire-Konfiguration und des Prüfsystems

Um die Konfiguration des Tripwire zu überprüfen, können wir den Befehl system check wie folgt ausführen.

sudo tripwire --check

Und du solltest ein ähnliches Ergebnis wie das folgende erhalten.

Verifizierung der Tripwire-Konfiguration und des Prüfsystems

Das bedeutet also, dass es keinen Fehler und keine Systemverletzung auf unserem System gibt.

Nun werden wir versuchen, eine neue Datei unter dem Stammverzeichnis hinzuzufügen und mit tripwire erneut zu überprüfen.

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

cd ~/
touch hakase-labs.txt

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

sudo tripwire --check

Und Sie erhalten das Ergebnis der neuen Verletzung auf dem System mit dem Schweregrad 100 wie unten beschrieben.

Stolperdrahtprüfung

In dieser Phase wird Tripwire für das CentOS 7-System installiert und konfiguriert.

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

In diesem Schritt zeigen wir Ihnen, wie Sie der Konfiguration der Tripwire-Richtlinie „twpol.txt“ eine neue Regel hinzufügen können.

Um diese Arbeit auszuführen, müssen wir den Regelnamen, den Schweregrad, das Verzeichnis für die Überwachung und den Typ der Dateien definieren. In diesem Schritt erstellen wir eine neue Regel namens’Wordpress Data‘ für unsere WordPress-Installation im Verzeichnis’/var/wwww/‘ mit dem Schweregrad’HIGH/SIG_HI‘, und alle Dateien in diesem Verzeichnis sind kritisch (sowohl ihr Eigentum als auch ihr Quellcode können nicht geä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 an das 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.

Regeneration und Neusignierung der Konfiguration mit dem Befehl twadmin wie unten beschrieben.

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

Geben Sie Ihre Passphrase „Site-key“ ein.

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

sudo tripwire --init

Geben Sie die Passphrase „local-key“ ein.

Ein neuer Regelsatz wurde hinzugefügt und auf die Konfiguration der Tripwire-Richtlinien angewendet.

die Konfiguration erneut signieren

Überprüfen Sie Ihr System mit dem Befehl tripwire unten.

sudo tripwire --check

Und Sie sollten das Ergebnis so erhalten, dass Sie ohne Fehler und Verstoß sagen können.

Überprüfen Sie die Verletzung mit dem Stolperdraht.

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

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

Erstellen einer Testdatei

Führen Sie die Systemüberprüfung mit Tripwire erneut durch.

sudo tripwire --check

Und Sie erhalten das Ergebnis, dass Systemverletzungen im Verzeichnis’/var/www/‘ mit der Sicherheitsstufe High 100 angezeigt werden.

Ergebnis des Tests

Eine neue Regel wurde hinzugefügt und auf die Konfiguration der Tripwire-Richtlinie angewendet.

Schritt 5 – Einrichtung der Tripwire-E-Mail-Benachrichtigung und Cron

In diesem Schritt werden wir Benachrichtigungen für bestimmte Tripwire-Regelsatzrichtlinien konfigurieren und einen Cronjob für die automatische Systemprüfung konfigurieren. Wir werden einen Bericht über jeden Verstoß gegen die Regel „WordPress Data“ an die E-Mail-Adresse „myemail@gmail.com“ senden.

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

Bevor Sie E-Mail-Benachrichtigungen konfigurieren, testen Sie die Tripwire-Benachrichtigungsfunktion mit dem folgenden Befehl.

sudo tripwire --test --email email@gmail.com

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

Tripwire-Bericht per E-Mail

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

cd /etc/tripwire/
vim twpol.txt

Füge eine neue Zeile „emailto“ innerhalb der Regel „WordPress Data“ hinzu, wie unten gezeigt.

# Ruleset for WordPress
 (
   rulename = "Wordpress Data",
   severity= $(SIG_HI),
   emailto = myemail@gmail.com
 )
 {
         /var/www        -> $(SEC_CRIT);
 }

Speichern und beenden.

Regeneration und Signierung der Konfiguration mit dem Befehl twadmin.

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

Geben Sie Ihre Passphrase „Site-key“ ein.

Und regenerieren Sie die Tripwire-Datenbank.

sudo tripwire --init

Geben Sie Ihre Passphrase für den Stolperdraht „local-key“ ein.

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

Generieren und Signieren der Konfiguration

Führen Sie nun einen Test durch, indem Sie erneut eine neue Datei im Verzeichnis’/var/wwww/‘ 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: Senden Sie den Bericht des Systems an die in jeder Regel definierte E-Mail-Adresse.

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

E-Mail-Bericht

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

Als nächstes aktivieren wir die automatische Tripwire-Systemprüfung mit Hilfe von cron setup. Erstellen Sie dazu ein neues Cron-Skript unter dem Root-Benutzer mit dem Befehl crontab 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 führt täglich eine Tripwire-Systemprüfung durch.

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

systemctl restart crond

einrichten von tripwire cronjob

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

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

Referenz

Das könnte Dich auch interessieren …