Wie man geänderte Dateien mit Tripwire IDS auf Ubuntu überwacht und erkennt
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 Ihre Systemdateien überwachen, einschließlich Website-Dateien. Wenn es also zu unerwünschten Dateiänderungen in einer der überwachten Dateien kommt, überprüft tripwire Ihr System und warnt Sie (falls dieses Setup vorhanden ist).
In diesem Tutorial zeigen wir Ihnen, wie Sie Tripwire Host Based IDS auf Ubuntu installieren und konfigurieren. Wir zeigen Ihnen auch, wie Sie Tripwire konfigurieren, um geänderte Dateien auf dem System zu überwachen und zu erkennen.
Was wir tun werden
- Tripwire installieren
- Tripwire-Richtlinie für Ubuntu-System konfigurieren
- Überprüfen der Tripwire-Konfiguration
- Hinzufügen eines neuen Regelsatzes zur Tripwire-Richtlinie
- Einrichtung von Tripwire-Benachrichtigung und Cron
Voraussetzungen
- Ubuntu 16.04 Server
- Root-Rechte
Schritt 1 – Tripwire installieren
Der erste Schritt ist die Installation von Tripwire am System. Das Tool ist im offiziellen Ubuntu-Repository verfügbar – aktualisieren Sie einfach Ihr Ubuntu-Repository und installieren Sie Tripwire mit den folgenden Befehlen.
sudo apt update sudo apt install -y tripwire
Während der Installation werden Sie nach der Postfix SMTP-Konfiguration gefragt. Wählen Sie ‚Internet Site‚ und klicken Sie auf ‚OK‚, um mit der Installation fortzufahren.
Lassen Sie den Standardwert für den Namen des Mailsystems beibehalten (wie unten gezeigt) und wählen Sie „OK„, um fortzufahren.
Als nächstes werden Sie nach der Konfiguration von Tripwire gefragt.
Erstellen Sie einen neuen ‚Site-Key‚ für Tripwire – wählen Sie ‚Ja‚ und drücken Sie zum Fortfahren die Eingabetaste.
Wählen Sie nun für die ‚local-key‚ die Option ‚Yes‚ und drücken Sie erneut die Eingabetaste.
Wählen Sie für die Option Tripwire-Konfiguration neu erstellen die Option „Ja„.
Gleiches gilt für die Option Tripwire-Richtlinie neu erstellen – wählen Sie ‚Ja‚.
Nun werden Sie zur Eingabe der Passphrase „Site-key“ aufgefordert. Geben Sie ein Passwort ein und wählen Sie ‚OK‚.
Wiederholen Sie die Passphrase „Site-key„.
Geben Sie dann für die Passphrase ‚local-key‚ ein Passwort ein und wählen Sie ‚OK‚.
Wiederholen Sie die Passphrase „local-key„.
Und jetzt ist die Tripwire-Installation auf Ubuntu abgeschlossen.
Schritt 2 – Konfigurieren der Tripwire-Richtlinie für das Ubuntu-System
In diesem Schritt werden wir Tripwire für unser Ubuntu-System konfigurieren. Alle Tripwire-bezogenen Konfigurationen befinden sich im Verzeichnis ‚/etc/tripwire‘.
Nach der Installation von Tripwire müssen wir das Datenbanksystem initialisieren. Führen Sie dazu den folgenden Befehl aus.
sudo tripwire --init
Sie werden nach Ihrer lokalen Schlüsselpassphrase gefragt – geben Sie Ihre lokale Schlüsselpassphrase ein und drücken Sie die Eingabetaste.
Und Sie werden wahrscheinlich den Fehler ‚No such directory‚ erhalten, wie unten gezeigt.
Um diesen Fehler zu beheben, müssen wir die Tripwire-Konfigurationsdatei bearbeiten und die Konfiguration neu generieren.
Bevor wir die Tripwire-Konfiguration bearbeiten, müssen wir prüfen, welches Verzeichnis nicht existiert, was Sie mit dem folgenden Befehl tun können.
sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
Nun sehen Sie alle Verzeichnisse und Dateien, die es auf folgende Weise nicht gibt.
cat no-directory.txt
Gehen Sie anschließend in das Tripwire-Konfigurationsverzeichnis und bearbeiten Sie die Konfigurationsdatei twpol.txt.
cd /etc/tripwire/ vim twpol.txt
Kommentieren Sie bei der Regel’Boot Scripts‘ die Zeile wie folgt.
( rulename = "Boot Scripts", severity = $(SIG_HI) ) { /etc/init.d -> $(SEC_BIN) ; #/etc/rc.boot -> $(SEC_BIN) ; /etc/rcS.d -> $(SEC_BIN) ;
Kommentieren Sie zur Regel’System Boot Changes‘ wie folgt.
( rulename = "System boot changes", severity = $(SIG_HI) ) { #/var/lock -> $(SEC_CONFIG) ; #/var/run -> $(SEC_CONFIG) ; # daemon PIDs /var/log -> $(SEC_CONFIG) ;
Nehmen Sie in der Regel’Root config files‘ die folgende Änderung vor.
( rulename = "Root config files", severity = 100 ) { /root -> $(SEC_CRIT) ; # Catch all additions to /root #/root/mail -> $(SEC_CONFIG) ; #/root/Mail -> $(SEC_CONFIG) ; #/root/.xsession-errors -> $(SEC_CONFIG) ; #/root/.xauth -> $(SEC_CONFIG) ; #/root/.tcshrc -> $(SEC_CONFIG) ; #/root/.sawfish -> $(SEC_CONFIG) ; #/root/.pinerc -> $(SEC_CONFIG) ; #/root/.mc -> $(SEC_CONFIG) ; #/root/.gnome_private -> $(SEC_CONFIG) ; #/root/.gnome-desktop -> $(SEC_CONFIG) ; #/root/.gnome -> $(SEC_CONFIG) ; #/root/.esd_auth -> $(SEC_CONFIG) ; #/root/.elm -> $(SEC_CONFIG) ; #/root/.cshrc -> $(SEC_CONFIG) ; /root/.bashrc -> $(SEC_CONFIG) ; #/root/.bash_profile -> $(SEC_CONFIG) ; #/root/.bash_logout -> $(SEC_CONFIG) ; /root/.bash_history -> $(SEC_CONFIG) ; #/root/.amandahosts -> $(SEC_CONFIG) ; #/root/.addressbook.lu -> $(SEC_CONFIG) ; #/root/.addressbook -> $(SEC_CONFIG) ; #/root/.Xresources -> $(SEC_CONFIG) ; #/root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login #/root/.ICEauthority -> $(SEC_CONFIG) ;
Ändern Sie in der Regel’Geräte- und Kernelinformationen‘ die Zeile wie folgt.
( rulename = "Devices & Kernel information", severity = $(SIG_HI), ) { /dev -> $(Device) ; /dev/pts -> $(Device); /dev/shm -> $(Device); /dev/hugepages -> $(Device); /dev/mqueue -> $(Device); #/proc -> $(Device) ; /proc/devices -> $(Device) ; /proc/net -> $(Device) ; /proc/tty -> $(Device) ; /proc/cpuinfo -> $(Device) ; /proc/modules -> $(Device) ; /proc/mounts -> $(Device) ; /proc/dma -> $(Device) ; /proc/filesystems -> $(Device) ; /proc/interrupts -> $(Device) ; /proc/ioports -> $(Device) ; /proc/scsi -> $(Device) ; /proc/kcore -> $(Device) ; /proc/self -> $(Device) ; /proc/kmsg -> $(Device) ; /proc/stat -> $(Device) ; /proc/loadavg -> $(Device) ; /proc/uptime -> $(Device) ; /proc/locks -> $(Device) ; /proc/meminfo -> $(Device) ; /proc/misc -> $(Device) ; }
Das ist es. Das ist es. Speichern Sie die Änderungen und verlassen Sie den Editor.
Nachdem Sie die Konfigurationsdatei bearbeitet haben, implementieren Sie alle Änderungen, indem Sie die verschlüsselte Richtliniendatei mit dem Befehl twadmin wie unten gezeigt neu erstellen.
sudo twadmin -m P /etc/tripwire/twpol.txt
Geben Sie die Passphrase „Site-key“ ein und drücken Sie Enter.
Damit wird eine neue Tripwire-Richtlinie erstellt. Initialisieren Sie nun die Tripwire-Datenbank neu.
sudo tripwire --init
Geben Sie Ihre lokale Schlüsselpassphrase ein und stellen Sie sicher, dass Sie diesmal keinen Fehler erhalten.
Die Tripwire-Richtlinie wurde für das Ubuntu-System konfiguriert.
Schritt 3 – Überprüfung der Integrität der Systemdateien
Tripwire wurde installiert, und die Tripwire-Richtlinie wurde aktualisiert und neu initialisiert. In diesem Schritt werden wir das System manuell mit Tripwire überprüfen.
Überprüfen Sie alle Systemdateien mit dem folgenden Befehl.
sudo tripwire --check
Und Sie sollten’No Violation‘ und’No Error‘ in der Ergebnis-/Ausgabe erhalten.
Als nächstes fügen Sie eine neue Datei im Stammverzeichnis hinzu und überprüfen Sie dann das System erneut mit Tripwire.
cd ~/ touch hakase-labs.txt
sudo tripwire --check
Und in der Ausgabe sollten das Hinzufügen von Dateien und das Ändern des Verzeichnisses, in dem sich die Datei befindet, als Verletzung erscheinen.
Siehe Ergebnis unten.
Schritt 4 – Neue Regel zu Tripwire hinzufügen
In diesem Schritt möchten wir der Konfiguration eine neue Tripwire-Regel hinzufügen. Um eine neue Tripwire-Richtlinie zu erstellen, müssen wir den Regelnamen, den Schweregrad und den Dateityp definieren. In diesem Schritt werden wir versuchen, eine neue Regel namens’Wordpress Data‘ mit dem Schweregrad’High/SIG_HI‘ hinzuzufügen, und alle Dateien in diesem Verzeichnis sind kritisch und können nicht geändert werden.
Gehen Sie in das Konfigurationsverzeichnis von tripwire und bearbeiten Sie die Konfigurationsdatei’twpol.txt‘.
cd /etc/tripwire/ vim twpol.txt
Gehen Sie zum Ende der Zeile und fügen Sie das Beispiel der Tripwire-Regel unten ein.
# Ruleset for WordPress ( rulename = "Wordpress Ruleset", severity= $(SIG_HI) ) { /var/www -> $(SEC_CRIT); }
Speichern und beenden.
Erzeugen Sie nun die Tripwire-Konfigurationsdatei neu.
sudo twadmin -m P /etc/tripwire/twpol.txt
Geben Sie Ihre Passphrase für den Site-Key ein.
Und initialisieren Sie die Tripwire-Datenbank neu.
sudo tripwire --init
Geben Sie Ihre lokale Schlüsselpassphrase ein.
Wenn alle diese Konfigurationen abgeschlossen sind, können wir versuchen, eine neue Datei zu erstellen oder die Datei im Verzeichnis ‚/var/www/‘ zu ändern.
Gehen Sie in das Verzeichnis ‚/var/wwww/‘, erstellen Sie eine neue Datei und ändern Sie die Indexdatei.
cd /var/www/ touch hakase-labs.txt echo "<h1> Hakase-labs Tutorial</h1>" > html/index.nginx-debian.html
Überprüfen Sie das System mit dem folgenden Tripwire-Befehl.
sudo tripwire --check
Und Sie erhalten eine Benachrichtigung über Systemverletzungen mit der Sicherheitsstufe 100 wie unten beschrieben.
Eine neue Tripwire-Regel wurde hinzugefügt.
Schritt 5 – Einrichtung der Tripwire-Benachrichtigung und cron
In diesem Schritt werden wir Benachrichtigungen für bestimmte Tripwire-Regelsatzrichtlinien konfigurieren und einen Cron für die automatische Systemprüfung konfigurieren.
Für E-Mail-Benachrichtigungen stellt Tripwire in der Konfiguration eine Funktion „emailto“ zur Verfügung, die Postfix für die E-Mail-Benachrichtigung verwendet und während der Installation des Tools automatisch installiert wird.
Bevor Sie E-Mail-Benachrichtigungen konfigurieren, testen Sie die Tripwire-Benachrichtigung mit dem folgenden Befehl.
tripwire --test --email youremail@gmail.com
Und stellen Sie sicher, dass Sie eine E-Mail von Ihrem Server haben, wie unten gezeigt.
Gehen Sie nun in das Verzeichnis’/etc/tripwire‘ und bearbeiten Sie die Konfiguration’twpol.txt‘.
cd /etc/tripwire/ vim twpol.txt
Fügen Sie eine neue Zeile innerhalb der Regel’Wordpress Data‘ hinzu, wie unten gezeigt.
# Rules for Web-app ( rulename = "Wordpress Rule", severity = $(SIG_HI), emailto = myemail@gmail.com )
Das ist es. Das ist es. Speichern und beenden.
Als nächstes müssen Sie die Konfiguration neu erstellen und die Tripwire-Datenbank neu initialisieren.
sudo twadmin -m P /etc/tripwire/twpol.txt sudo tripwire --init
Geben Sie die Site-Key-Passphrase ein, um die Konfiguration neu zu generieren, und die Local-Key-Passphrase, um sie neu zu initialisieren.
Erstellen Sie nun erneut eine neue Datei im Verzeichnis’/var/www/‘, überprüfen Sie das System manuell mit Tripwire und senden Sie den Bericht per E-Mail.
sudo tripwire --check --email-report
Und Sie sollten einen E-Mail-Bericht in Ihrem Posteingang erhalten.
Weiter geht es, für die Cron-Konfiguration müssen wir nur noch die Zeit definieren, zu der der Tripwire-Befehl ausgeführt wird. Wir werden die tägliche Überprüfung des Tripwire-Systems konfigurieren.
Erstelle einen neuen Cron mit dem Befehl crontab unten.
sudo crontab -e -u root
Und fügen Sie die Cron-Konfiguration unten ein.
0 0 * * * tripwire --check --email-report
Speichern und beenden Sie den Vorgang, und laden Sie dann den cron neu.
systemctl restart cron
Jetzt führt das System täglich eine Überprüfung durch und sendet eine Benachrichtigung über eine Verletzung der WordPress-Regel an Ihre E-Mail.
Das Tripwire IDS wurde am Ubuntu installiert und konfiguriert, und alle Dateien und Verzeichnisse auf dem System wurden überwacht. Sie können Ihr eigenes Regelset hinzufügen, indem Sie den Anweisungen in Schritt 4 folgen.