GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So überwachen und erkennen Sie modifizierte Dateien mit Tripwire IDS unter Ubuntu 16.04

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 Ihre Systemdateien, einschließlich Website-Dateien, überwachen. Wenn es also eine unerwünschte Dateiänderung in einer der überwachten Dateien gibt, überprüft Tripwire Ihr System und warnt Sie (sofern diese Einrichtung vorhanden ist).

In diesem Tutorial zeigen wir Ihnen, wie Sie Tripwire Host Based IDS unter Ubuntu 16.04 installieren und konfigurieren. Wir zeigen Ihnen auch, wie Sie Tripwire konfigurieren, um modifizierte Dateien auf dem System zu überwachen und zu erkennen.

Was wir tun werden

  1. Installieren Sie Tripwire
  2. Tripwire-Richtlinie für Ubuntu-System konfigurieren
  3. Tripwire-Konfiguration überprüfen
  4. Neuen Regelsatz zur Tripwire-Richtlinie hinzufügen
  5. Tripwire-Benachrichtigung und Cron einrichten

Voraussetzungen

  • Ubuntu 16.04-Server
  • Root-Rechte

Schritt 1 – Tripwire installieren

Der erste Schritt besteht darin, Tripwire im System zu installieren. 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 „Internetseite“. ' und klicken Sie auf 'OK ' um mit der Installation fortzufahren.

Belassen Sie für den Namen des E-Mail-Systems die Standardeinstellung (wie unten gezeigt) und wählen Sie „OK“. ' um fortzufahren.

Als nächstes werden Sie nach der Tripwire-Konfiguration gefragt.

Neuen 'Site-Key erstellen ' für Tripwire – wählen Sie 'Ja ' und drücken Sie die Eingabetaste, um fortzufahren.

Nun zum 'local-key ', wählen Sie 'Ja ' 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 nach dem 'Site-Key gefragt ' Passphrase. Geben Sie ein Passwort ein und wählen Sie "OK". '.

Wiederholen Sie den 'Site-Key ' Passphrase.

Dann für den 'local-key ' Passphrase, geben Sie ein Passwort ein und wählen Sie 'OK '.

Wiederholen Sie die 'local-Taste ' Passphrase.

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

Schritt 2 – Tripwire-Richtlinie für Ubuntu-System konfigurieren

In diesem Schritt konfigurieren wir Tripwire für unser Ubuntu-System. Alle Tripwire-bezogenen Konfigurationen befinden sich im Verzeichnis „/etc/tripwire“.

Nach der Installation von Tripwire müssen wir das Datenbanksystem initialisieren. Führen Sie dafür den folgenden Befehl aus.

sudo tripwire --init

Sie werden nach Ihrer Passphrase für den lokalen Schlüssel gefragt. Geben Sie Ihre Passphrase für den lokalen Schlüssel ein und drücken Sie die Eingabetaste.

Und Sie erhalten wahrscheinlich die Fehlermeldung „Kein solches Verzeichnis ', 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 überprüfen, welches Verzeichnis nicht existiert, was Sie mit dem folgenden Befehl tun können.

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

Jetzt können Sie alle Verzeichnisse und Dateien, die nicht existieren, auf folgende Weise sehen.

cat no-directory.txt

Gehen Sie als Nächstes in das Tripwire-Konfigurationsverzeichnis und bearbeiten Sie die Konfigurationsdatei twpol.txt.

cd /etc/tripwire/
vim twpol.txt

Kommentieren Sie in der Regel „Boot Scripts“ die Zeile wie folgt aus.

(
  rulename = "Boot Scripts",
  severity = $(SIG_HI)
)
{
        /etc/init.d             -> $(SEC_BIN) ;
        #/etc/rc.boot           -> $(SEC_BIN) ;
        /etc/rcS.d              -> $(SEC_BIN) ;

Kommentieren Sie die 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 an der Regel „Root-Konfigurationsdateien“ 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. Speichern Sie die Änderungen und beenden Sie den Editor.

Implementieren Sie nach dem Bearbeiten der Konfigurationsdatei 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 „Site-Key“-Passphrase ein und drücken Sie die Eingabetaste.

Damit wird eine neue Tripwire-Richtlinie erstellt. Initialisieren Sie nun die Tripwire-Datenbank neu.

sudo tripwire --init

Geben Sie Ihre Passphrase für den lokalen Schlüssel ein und vergewissern Sie sich, dass diesmal keine Fehlermeldung angezeigt wird.

Die Tripwire-Richtlinie wurde für das Ubuntu-System konfiguriert

Schritt 3 - Integrität der Systemdateien prüfen

Tripwire wurde installiert und die Tripwire-Richtlinie wurde aktualisiert und neu initialisiert. In diesem Schritt überprüfen wir das System manuell mit Tripwire.

Überprüfen Sie alle Systemdateien mit dem folgenden Befehl.

sudo tripwire --check

Und Sie sollten 'No Violation' und 'No Error' im Ergebnis/Ausgabe erhalten.

Fügen Sie als Nächstes eine neue Datei im Stammverzeichnis hinzu und überprüfen Sie das System erneut mit Tripwire.

cd ~/
touch hakase-labs.txt
sudo tripwire --check

Und in der Ausgabe sollten das Hinzufügen einer Datei und die Änderung des Verzeichnisses, in dem sich die Datei befindet, als Verletzungen angezeigt werden.

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 mit dem Namen „Wordpress-Daten“ mit dem Schweregrad „Hoch/SIG_HI“ hinzuzufügen, und alle Dateien in diesem Verzeichnis sind kritisch und können nicht geändert werden.

Gehen Sie in das Tripwire-Konfigurationsverzeichnis 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.

Generieren Sie nun die Tripwire-Konfigurationsdatei neu.

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

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

Und initialisieren Sie die Tripwire-Datenbank neu.

sudo tripwire --init

Geben Sie Ihre Passphrase für den lokalen Schlüssel 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/www/“, 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 Sicherheitsstufe 100 wie unten beschrieben.

Eine neue Tripwire-Regel wurde hinzugefügt.

Schritt 5 – Tripwire-Benachrichtigung und Cron einrichten

In diesem Schritt konfigurieren wir Benachrichtigungen für bestimmte Tripwire-Regelsatzrichtlinien und konfigurieren einen Cron für die automatische Systemüberprüfung.

Für E-Mail-Benachrichtigungen stellt Tripwire in der Konfiguration eine Funktion „emailto“ zur Verfügung. Tripwire verwendet Postfix für E-Mail-Benachrichtigungen, und das wird automatisch während der Installation des Tools installiert.

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

tripwire --test --email [email protected]

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 „Wordpress Data“-Regel hinzu, wie unten gezeigt.

# Rules for Web-app
(
  rulename = "Wordpress Rule",
  severity = $(SIG_HI),
  emailto = [email protected]
)

Das ist es. Speichern und beenden.

Generieren Sie als Nächstes die Konfiguration neu und initialisieren Sie die Tripwire-Datenbank neu.

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

Geben Sie die Passphrase für den Standortschlüssel ein, um die Konfiguration neu zu generieren, und die Passphrase für den lokalen Schlüssel, 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.

Für die Cron-Konfiguration müssen wir nur noch die Zeit definieren, zu der der tripwire-Befehl ausgeführt wird. Wir werden die Tripwire-Systemüberprüfung täglich konfigurieren.

Erstellen Sie einen neuen Cron mit dem crontab-Befehl 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 Cron und laden Sie ihn erneut.

systemctl restart cron

Jetzt führt das System jeden Tag eine Überprüfung durch und sendet eine Benachrichtigung für einen Verstoß gegen die 'Wordpress'-Regel an Ihre E-Mail.

Das Tripwire IDS wurde auf Ubuntu 16.04 installiert und konfiguriert, und alle Dateien und Verzeichnisse auf dem System wurden überwacht. Sie können Ihren eigenen Regelsatz hinzufügen, indem Sie den Anweisungen in Schritt 4 folgen.


Ubuntu
  1. So überwachen Sie Nginx mit Netdata unter Ubuntu 16.04

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

  3. So überwachen Sie Server-Logdateien mit Logwatch auf Debian und Ubuntu

  4. So installieren Sie Stacer System Monitor unter Ubuntu 18.04 LTS

  5. Überwachen Sie Nginx-Protokolldateien mit ngxtop unter Ubuntu 20.04

So installieren und verwenden Sie SSHGuard unter Ubuntu 20.04

So reinigen Sie Ihr Ubuntu-System mit dem Bleachbit-Tool

So installieren Sie Systemback unter Ubuntu 18.04 und Ubuntu 19.10, 20.04

Verwenden von Dateien und Ordnern auf dem Desktop-Bildschirm in Ubuntu

So überwachen Sie die Apache-Leistung mit mod_status in Ubuntu

So überwachen Sie die Ubuntu-Leistung mit Netdata