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 16.04 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

  1. Tripwire installieren
  2. Tripwire-Richtlinie für Ubuntu-System konfigurieren
  3. Überprüfen der Tripwire-Konfiguration
  4. Hinzufügen eines neuen Regelsatzes zur Tripwire-Richtlinie
  5. 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.

Konfiguriert Postfix

Lassen Sie den Standardwert für den Namen des Mailsystems beibehalten (wie unten gezeigt) und wählen Sie „OK„, um fortzufahren.

System-Mail-Name

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.

Tripwire-Standortschlüssel

Wählen Sie nun für die‘local-key‚ die Option‘Yes‚ und drücken Sie erneut die Eingabetaste.

Stolperdraht-Lokalschlüssel

Wählen Sie für die Option Tripwire-Konfiguration neu erstellen die Option „Ja„.

Stolperdraht-Konfiguration neu erstellen

Gleiches gilt für die Option Tripwire-Richtlinie neu erstellen – wählen Sie‘Ja‚.

Stolperdraht-Richtlinie neu erstellen

Nun werden Sie zur Eingabe der Passphrase „Site-key“ aufgefordert. Geben Sie ein Passwort ein und wählen Sie‘OK‚.

Geben Sie die Passphrase für den Site-Key ein.

Wiederholen Sie die Passphrase „Site-key„.

Wiederholen Sie die Passphrase für den Site-Key.

Geben Sie dann für die Passphrase‘local-key‚ ein Passwort ein und wählen Sie‘OK‚.

Lokalschlüssel-Passphrase festlegen

Wiederholen Sie die Passphrase „local-key„.

Wiederholen Sie die Passphrase für den lokalen Schlüssel.

Und jetzt ist die Tripwire-Installation auf Ubuntu 16.04 abgeschlossen.

Tripwire-Installation 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.

Auslöser initialisieren

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

Keine Verzeichnisliste anzeigen

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.

Neuinitialisierung der Tripwire-Datenbank

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.

Stolperdrahtabtastung durchführen

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.

Tripwire-Scanergebnis

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.

Neue Regel zu Tripwire hinzufügen

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.

Überprüfen Sie auf Stolperdrahtverletzungen

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.

Tripwire-Benachrichtigungen per E-Mail 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 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.

Tripwire E-Mail-Konfiguration

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.

Tripwire E-Mail-Bericht

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

Einen Cronjob für Tripwire einrichten

Speichern und beenden Sie den Vorgang, und laden Sie dann den cron neu.

systemctl restart cron

Bearbeiten der Crontab

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 16.04 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.

Referenz

Das könnte Dich auch interessieren …