Wie man Tripwire IDS auf Debian 10 installiert und konfiguriert
Tripwire ist ein freies und quelloffenes Linux Intrusion Detection System. Es wird verwendet, um jede unautorisierte Änderung in Dateien und Verzeichnissen unter Linux zu erkennen und zu melden. Es sendet dir auch eine Warnung per E-Mail über Datei-/Verzeichnisänderungen. Tripwire vergleicht den aktuellen Zustand des Dateisystems mit einem bekannten Basiszustand und meldet, wenn es Änderungen gibt.
In diesem Beitrag zeigen wir dir, wie du Tripwire auf Debian 10 installieren und konfigurieren kannst.
Voraussetzungen
- Ein Server, auf dem Debian 10 läuft.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Als erstes aktualisierst du die Systempakete auf die aktuelle Version, indem du den folgenden Befehl ausführst:
apt-get update -y
Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.
Tripwire installieren
Standardmäßig ist das Tripwire-Paket im Standard-Repository von Debian 10 verfügbar. Du kannst es mit dem folgenden Kommando installieren:
apt-get install tripwire -y
Während der Installation wirst du aufgefordert, die E-Mail-Konfiguration wie unten gezeigt auszuwählen:
Wähle deine gewünschte Option und drücke ENTER. Du wirst gefragt, ob du einen Systemmailnamen einrichten möchtest, wie unten gezeigt:
Gib deinen System-E-Mail-Namen ein und drücke ENTER. Du wirst gefragt, ob du eine Passphrase für deinen Standortschlüssel erstellen möchtest, wie unten gezeigt:
Wähle Ja und drücke ENTER. Du wirst aufgefordert, die Tripwire-Konfigurationsdatei neu zu erstellen, wie unten gezeigt:
Wähle Ja und drücke ENTER. Du wirst gefragt, ob du deine Tripwire-Richtliniendatei neu erstellen möchtest, wie unten gezeigt:
Wähle Ja und drücke ENTER. Du wirst aufgefordert, deine Site-Key-Passphrase einzugeben (siehe unten):
Gib dein Passwort ein und drücke ENTER. Du wirst aufgefordert, die Passphrase deines lokalen Schlüssels festzulegen (siehe unten):
Gib dein Passwort ein und drücke ENTER. Sobald Tripwire installiert ist, solltest du den folgenden Bildschirm sehen:
Klicke auf den Ok-Button, um die Installation abzuschließen.
Tripwire konfigurieren
Als nächstes musst du Tripwire-Schlüssel generieren und die Datenbank initialisieren. Wechsle zunächst in das Verzeichnis Tripwire und liste alle Schlüssel und Dateien mit dem folgenden Befehl auf:
cd /etc/tripwire/ ls
Du solltest die folgende Ausgabe sehen:
debian10-local.key site.key tw.cfg twcfg.txt tw.pol twpol.txt
Als nächstes editierst du die Tripwire Konfigurationsdatei und setzt REPORTLEVEL auf 4
nano /etc/tripwire/twcfg.txt
Ändere die folgende Zeile:
REPORTLEVEL =4
Speichere und schließe die Datei, wenn du fertig bist.
Als nächstes generierst du eine neue Konfigurationsdatei mit dem folgenden Befehl:
twadmin -m F -c tw.cfg -S site.key twcfg.txt
Du wirst aufgefordert, deine Site-Passphrase anzugeben, wie unten gezeigt:
Please enter your site passphrase: Wrote configuration file: /etc/tripwire/tw.cfg
Als nächstes erstellst du eine twpolmake.pl Datei, um die Tripwire-Richtlinie zu optimieren.
nano twpolmake.pl
Füge die folgenden Zeilen hinzu:
#!/usr/bin/perl $POLFILE=$ARGV[0]; open(POL,"$POLFILE") or die "open error: $POLFILE" ; my($myhost,$thost) ; my($sharp,$tpath,$cond) ; my($INRULE) = 0 ; while () { chomp; if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) { $myhost = `hostname` ; chomp($myhost) ; if ($thost ne $myhost) { $_="HOSTNAME=\"$myhost\";" ; } } elsif ( /^{/ ) { $INRULE=1 ; } elsif ( /^}/ ) { $INRULE=0 ; } elsif ($INRULE == 1 and ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) { $ret = ($sharp =~ s/\#//g) ; if ($tpath eq '/sbin/e2fsadm' ) { $cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ; } if (! -s $tpath) { $_ = "$sharp#$tpath$cond" if ($ret == 0) ; } else { $_ = "$sharp$tpath$cond" ; } } print "$_\n" ; } close(POL) ;
Speichere und schließe die Datei und erstelle dann eine Konfigurationsdatei mit dem folgenden Befehl:
perl twpolmake.pl twpol.txt > twpol.txt.new twadmin -m P -c tw.cfg -p tw.pol -S site.key twpol.txt.new
Du solltest die folgende Ausgabe sehen:
Please enter your site passphrase: Wrote policy file: /etc/tripwire/tw.pol
Als nächstes erstellst du eine Tripwire-Datenbank mit dem folgenden Befehl:
tripwire -m i -s -c tw.cfg
Du solltest die folgende Ausgabe sehen:
Please enter your local passphrase: ### Warning: File system error. ### Filename: /var/lib/tripwire/debian10.twd ### No such file or directory ### Continuing...
Du kannst die erzeugte Datenbank auch mit dem folgenden Befehl anzeigen:
twprint -m d -d /var/lib/tripwire/debian10.twd
Du solltest die folgende Ausgabe sehen:
Open Source Tripwire(R) 2.4.3.7 Database Database generated by: root Database generated on: Sun 09 May 2021 08:39:18 AM UTC Database last updated on: Never =============================================================================== Database Summary: =============================================================================== Host name: debian10 Host IP address: 45.58.38.142 Host ID: None Policy file used: /etc/tripwire/tw.pol Configuration file used: /etc/tripwire/tw.cfg Database file used: /var/lib/tripwire/debian10.twd Command line used: tripwire -m i -s -c tw.cfg =============================================================================== Object Summary: =============================================================================== ------------------------------------------------------------------------------- # Section: Unix File System -------------------------------------------------------------------------------
Wenn du die Tripwire-Datenbank aktualisieren möchtest, führe den folgenden Befehl aus:
tripwire --update --accept-all
Du solltest die folgende Ausgabe erhalten:
### Error: File could not be opened. ### Filename: /var/lib/tripwire/report/debian10-20210509-084141.twr ### No such file or directory ### Exiting...
Teste nun den Tripwire mit folgendem Befehl:
tripwire -m c -s -c /etc/tripwire/tw.cfg
Du solltest die folgende Ausgabe sehen:
Open Source Tripwire(R) 2.4.3.7 Integrity Check Report Report generated by: root Report created on: Sun 09 May 2021 08:42:15 AM UTC Database last updated on: Never =============================================================================== Report Summary: =============================================================================== Host name: debian10 Host IP address: 45.58.38.142 Host ID: None Policy file used: /etc/tripwire/tw.pol Configuration file used: /etc/tripwire/tw.cfg Database file used: /var/lib/tripwire/debian10.twd Command line used: tripwire -m c -s -c /etc/tripwire/tw.cfg =============================================================================== Rule Summary: =============================================================================== ------------------------------------------------------------------------------- Section: Unix File System ------------------------------------------------------------------------------- Rule Name Severity Level Added Removed Modified --------- -------------- ----- ------- -------- Other binaries 66 0 0 0 Tripwire Binaries 100 0 0 0 Other libraries 66 0 0 0 Root file-system executables 100 0 0 0 * Tripwire Data Files 100 1 0 0 System boot changes 100 0 0 0 Root file-system libraries 100 0 0 0 (/lib) Critical system boot files 100 0 0 0 * Other configuration files 66 0 0 1 (/etc) Boot Scripts 100 0 0 0 Security Control 66 0 0 0 Root config files 100 0 0 0 Devices & Kernel information 100 0 0 0 (/dev) Invariant Directories 66 0 0 0 Total objects scanned: 27975 Total violations found: 2 =============================================================================== Object Summary: =============================================================================== ------------------------------------------------------------------------------- # Section: Unix File System ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Rule Name: Tripwire Data Files (/var/lib/tripwire/debian10.twd) Severity Level: 100 -------------------------------------------------------------------------------
Standardmäßig befinden sich die Tripwire Berichtsdateien unter /var/lib/tripwire/report/:
ls /var/lib/tripwire/report/
Ausgabe:
debian10-20210509-084215.twr
Du kannst diesen Bericht mit dem folgenden Befehl überprüfen:
twprint -m r -t 4 -r /var/lib/tripwire/report/debian10-20210509-084215.twr
Verify Tripwire IDS
An diesem Punkt ist Tripwire installiert und konfiguriert. Nun ist es an der Zeit zu überprüfen, ob Tripwire funktioniert oder nicht.
Erstelle zunächst einige Dateien in deinem System mit dem folgenden Befehl:
touch fil1 file2 file3 file4 file5
Führe nun Tripwire aus, um zu überprüfen, ob Tripwire diese Dateien erkennt oder nicht:
tripwire --check --interactive
Du solltest die neu erstellten Dateien in der folgenden Ausgabe sehen:
Open Source Tripwire(R) 2.4.3.7 Integrity Check Report Report generated by: root Report created on: Sun 09 May 2021 08:46:36 AM UTC Database last updated on: Never =============================================================================== Report Summary: =============================================================================== Host name: debian10 Host IP address: 45.58.38.142 Host ID: None Policy file used: /etc/tripwire/tw.pol Configuration file used: /etc/tripwire/tw.cfg Database file used: /var/lib/tripwire/debian10.twd Command line used: tripwire --check --interactive =============================================================================== ------------------------------------------------------------------------------- Rule Name: Other configuration files (/etc) Severity Level: 66 ------------------------------------------------------------------------------- Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Modified: [x] "/etc/tripwire" ------------------------------------------------------------------------------- Rule Name: Root config files (/root) Severity Level: 100 ------------------------------------------------------------------------------- Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Added: [x] "/root/file4" [x] "/root/file3" [x] "/root/fil1" [x] "/root/file2" [x] "/root/file5" Modified: [x] "/root" ===============================================================================
Du kannst den generierten Bericht auch später mit folgendem Befehl überprüfen:
twprint --print-report --twrfile /var/lib/tripwire/report/debian10-20210509-084636.twr
Tripwire Bericht automatisieren
Du kannst auch einen Cron Job einrichten, um Tripwire zu einer bestimmten Zeit auszuführen. Dies kannst du mit dem folgenden Befehl tun:
crontab -e
Füge die folgenden Zeilen ein:
00 06 * * * /usr/sbin/tripwire --check
Speichere und schließe die Datei, wenn du fertig bist.
Die obige Datei wird jeden Morgen um 06:00 Uhr einen Tripwire ausführen. Du kannst den generierten Bericht unter /var/lib/tripwire/report/ einsehen.
Fazit
Glückwunsch! Du hast Tripwire IDS erfolgreich auf Debian 10 installiert und konfiguriert. Ich hoffe, dass dir das hilft, zu überprüfen, welche Dateien oder Verzeichnisse auf deinem System verändert wurden.