Tripwire ist ein kostenloses Open-Source-Linux-Intrusion-Detection-System. Es wird verwendet, um nicht autorisierte Änderungen an Dateien und Verzeichnissen unter Linux zu erkennen und zu melden. Es sendet Ihnen auch eine Benachrichtigung per E-Mail über Datei-/Verzeichnisänderungen. Tripwire vergleicht den aktuellen Dateisystemstatus mit einem bekannten Basisstatus und meldet, wenn Änderungen festgestellt werden.
In diesem Beitrag zeigen wir Ihnen, wie Sie Tripwire unter Debian 10 installieren und konfigurieren.
Voraussetzungen
- Ein Server mit Debian 10.
- Auf dem Server ist ein Root-Passwort konfiguriert.
Erste Schritte
Aktualisieren Sie zuerst die Systempakete auf die aktualisierte Version, indem Sie den folgenden Befehl ausführen:
apt-get update -y
Sobald alle Pakete aktualisiert sind, können Sie mit dem nächsten Schritt fortfahren.
Tripwire installieren
Standardmäßig ist das Tripwire-Paket im Standard-Repository von Debian 10 verfügbar. Sie können es mit dem folgenden Befehl installieren:
apt-get install tripwire -y
Während der Installation werden Sie aufgefordert, die E-Mail-Konfiguration wie unten gezeigt auszuwählen:
Wählen Sie Ihre gewünschte Option und drücken Sie ENTER . Sie werden aufgefordert, einen System-E-Mail-Namen wie unten gezeigt einzurichten:
Geben Sie Ihren System-E-Mail-Namen ein und drücken Sie ENTER . Sie werden aufgefordert, Ihre Passphrase für den Site-Schlüssel wie unten gezeigt zu erstellen:
Wählen Sie Ja und drücken Sie ENTER . Sie werden aufgefordert, die Tripwire-Konfigurationsdatei wie unten gezeigt neu zu erstellen:
Wählen Sie Ja und drücken Sie ENTER . Sie werden aufgefordert, Ihre Tripwire-Richtliniendatei wie unten gezeigt neu zu erstellen:
Wählen Sie Ja und drücken Sie ENTER . Sie werden aufgefordert, Ihre Site-Key-Passphrase wie unten gezeigt einzugeben:
Geben Sie Ihr Passwort ein und drücken Sie ENTER . Sie werden aufgefordert, Ihre lokale Schlüssel-Passphrase wie unten gezeigt festzulegen:
Geben Sie Ihr Passwort ein und drücken Sie ENTER . Nachdem Tripwire installiert wurde, sollten Sie den folgenden Bildschirm sehen:
Klicken Sie auf Ok Schaltfläche, um die Installation abzuschließen.
Tripwire konfigurieren
Als nächstes müssen Sie Tripwire-Schlüssel generieren und die Datenbank initialisieren. Wechseln Sie zunächst in das Verzeichnis Tripwire und listen Sie alle Schlüssel und Dateien mit dem folgenden Befehl auf:
cd /etc/tripwire/
ls
Sie sollten die folgende Ausgabe sehen:
debian10-local.key site.key tw.cfg twcfg.txt tw.pol twpol.txt
Bearbeiten Sie als Nächstes die Tripwire-Konfigurationsdatei und setzen Sie REPORTLEVEL auf 4
nano /etc/tripwire/twcfg.txt
Ändern Sie die folgende Zeile:
REPORTLEVEL =4
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Als nächstes generieren Sie eine neue Konfigurationsdatei mit dem folgenden Befehl:
twadmin -m F -c tw.cfg -S site.key twcfg.txt
Sie werden aufgefordert, Ihre Website-Passphrase wie unten gezeigt einzugeben:
Bitte geben Sie Ihre Site-Passphrase ein:Konfigurationsdatei geschrieben:/etc/tripwire/tw.cfg
Erstellen Sie als Nächstes eine twpolmake.pl-Datei, um die Tripwire-Richtlinie zu optimieren.
nano twpolmake.pl
Fügen Sie 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 und ($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);
Speichern und schließen Sie die Datei und erstellen Sie 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
Sie sollten die folgende Ausgabe sehen:
Bitte geben Sie die Passphrase Ihrer Website ein:Richtliniendatei geschrieben:/etc/tripwire/tw.pol
Als nächstes erstellen Sie eine Tripwire-Datenbank mit dem folgenden Befehl:
tripwire -m i -s -c tw.cfg
Sie sollten die folgende Ausgabe sehen:
Bitte geben Sie Ihre lokale Passphrase ein:### Warnung:Dateisystemfehler.### Dateiname:/var/lib/tripwire/debian10.twd### Datei oder Verzeichnis nicht vorhanden### Fortfahren...Sie können die generierte Datenbank auch mit dem folgenden Befehl anzeigen:
twprint -m d -d /var/lib/tripwire/debian10.twdSie sollten die folgende Ausgabe sehen:
Open Source Tripwire(R) 2.4.3.7 DatenbankDatenbank erstellt von:rootDatenbank erstellt am:Sonntag, 09. Mai 2021 08:39:18 UTCDatenbank zuletzt aktualisiert am:Nie============================================================================Datenbankzusammenfassung:============================================================================Hostname:debian10Host-IP-Adresse:45.58.38.142Host-ID:Keine Verwendete Richtliniendatei:/etc/tripwire/tw.pol Verwendete Konfigurationsdatei:/etc/tripwire/tw.cfg Verwendete Datenbankdatei:/var/lib/tripwire/debian10.twd Verwendete Befehlszeile:tripwire -m i -s -c tw.cfg ===========================================================================Objektzusammenfassung:============================================================================------------------------------ -------------------------------------------------# Abschnitt:Unix-Dateisystem-------------------------------------------------- -----------------------------------------Wenn Sie die Tripwire-Datenbank aktualisieren möchten, führen Sie den folgenden Befehl aus:
tripwire --update --accept-allSie sollten die folgende Ausgabe erhalten:
### Fehler:Datei konnte nicht geöffnet werden.### Dateiname:/var/lib/tripwire/report/debian10-20210509-084141.twr### Datei oder Verzeichnis nicht vorhanden### Wird beendet...Testen Sie jetzt den Tripwire mit dem folgenden Befehl:
tripwire -m c -s -c /etc/tripwire/tw.cfgSie sollten die folgende Ausgabe sehen:
Open Source Tripwire(R) 2.4.3.7 Integrity Check ReportBericht erstellt von:rootBericht erstellt am:Sonntag, 09. Mai 2021 08:42:15 UTCDatenbank zuletzt aktualisiert am:Nie============================================================================Zusammenfassung des Berichts:============================================================================Host Name:debian10Host-IP-Adresse:45.58.38.142Host-ID:KeineVerwendete Richtliniendatei:/etc/tripwire/tw.polVerwendete Konfigurationsdatei:/etc/tripwire/tw.cfgVerwendete Datenbankdatei:/var/lib/tripwire/debian10.twdVerwendete Befehlszeile :tripwire -m c -s -c /etc/tripwire/tw.cfg ===========================================================================Regelzusammenfassung:============================================================================---------------------- -------------------------------------------------- ------ Abschnitt:Unix-Dateisystem--------------- -------------------------------------------------- -------------- Regelname Schweregrad Hinzugefügt Entfernt Geändert --------- -------------- ----- - ------ -------- Andere Binärdateien 66 0 0 0 Tripwire-Binärdateien 100 0 0 0 Andere Bibliotheken 66 0 0 0 Ausführbare Dateien des Root-Dateisystems 100 0 0 0 * Tripwire-Datendateien 100 1 0 0 System Boot-Änderungen 100 0 0 0 Root-Dateisystembibliotheken 100 0 0 0 (/lib) Kritische System-Boot-Dateien 100 0 0 0 * Andere Konfigurationsdateien 66 0 0 1 (/etc) Boot-Skripte 100 0 0 0 Sicherheitskontrolle 66 0 0 0 Root-Konfigurationsdateien 100 0 0 0 Geräte- und Kernelinformationen 100 0 0 0 (/dev) Invariante Verzeichnisse 66 0 0 0 Gesamtzahl gescannter Objekte:27975 Gesamtzahl gefundener Verstöße:2============================================================================Objektzusammenfassung:============================================================================---------------------------------------------- ---------------------------------# Abschnitt:Unix-Dateisystem----------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------------Regelname:Tripwire-Datendateien (/var/lib/tripwire/debian10.twd)Schweregrad:100 ------------------------------- ------------------------------------------ ------Standardmäßig befinden sich Tripwire-Berichtsdateien unter /var/lib/tripwire/report/:
ls /var/lib/tripwire/report/Ausgabe:
debian10-20210509-084215.twrSie können diesen Bericht mit dem folgenden Befehl überprüfen:
twprint -m r -t 4 -r /var/lib/tripwire/report/debian10-20210509-084215.twrTripwire-IDS verifizieren
An diesem Punkt ist Tripwire installiert und konfiguriert. Jetzt ist es an der Zeit zu überprüfen, ob Tripwire funktioniert oder nicht.
Erstellen Sie zunächst einige Dateien in Ihrem System mit dem folgenden Befehl:
berühre fil1 datei2 datei3 datei4 datei5Führen Sie nun Tripwire aus, um zu prüfen, ob Tripwire diese Dateien erkennt oder nicht:
tripwire --check --interactiveSie sollten die neu erstellten Dateien in der folgenden Ausgabe sehen:
Open Source Tripwire(R) 2.4.3.7 Integrity Check ReportBericht erstellt von:rootBericht erstellt am:Sonntag, 09. Mai 2021 08:46:36 UTCDatenbank zuletzt aktualisiert am:Nie============================================================================Zusammenfassung des Berichts:============================================================================Host Name:debian10Host-IP-Adresse:45.58.38.142Host-ID:KeineVerwendete Richtliniendatei:/etc/tripwire/tw.polVerwendete Konfigurationsdatei:/etc/tripwire/tw.cfgVerwendete Datenbankdatei:/var/lib/tripwire/debian10.twdVerwendete Befehlszeile :tripwire --check --interactive===========================================================================------------ -------------------------------------------------- ----------------Regelname:Andere Konfigurationsdateien (/etc)Schweregrad:66-------------------- -------------------------------------------------- ---------Entfernen das "x" aus dem angrenzenden Feld, um zu verhindern, dass die Datenbank mit den neuen Werten für dieses Objekt aktualisiert wird. Geändert:[x] "/etc/tripwire"------------------- -------------------------------------------------- ----------Regelname:Root-Konfigurationsdateien (/root)Schweregrad:100-------------------------- -------------------------------------------------- ---Entfernen Sie das "x" aus dem angrenzenden Feld, um zu verhindern, dass die Datenbank mit den neuen Werten für dieses Objekt aktualisiert wird.Hinzugefügt:[x] "/root/file4"[x] "/root/file3"[x] "/root /fil1"[x] "/root/file2"[x] "/root/file5"Modified:[x] "/root"=============================================================================Sie können den generierten Bericht auch später mit dem folgenden Befehl überprüfen:
twprint --print-report --twrfile /var/lib/tripwire/report/debian10-20210509-084636.twrTripwire-Bericht automatisieren
Sie können auch einen Cron-Job einrichten, um Tripwire zu einem bestimmten Zeitpunkt auszuführen. Sie können dies mit dem folgenden Befehl tun:
crontab -eFügen Sie die folgenden Zeilen hinzu:
00 06 * * * /usr/sbin/tripwire --checkSpeichern und schließen Sie die Datei, wenn Sie fertig sind.
Die obige Datei führt jeden Morgen um 06:00 Uhr einen Tripwire aus. Sie können den generierten Bericht unter /var/lib/tripwire/report/ überprüfen .
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Tripwire IDS erfolgreich auf Debian 10 installiert und konfiguriert. Ich hoffe, dies hilft Ihnen zu überprüfen, welche Dateien oder Verzeichnisse auf Ihrem System geändert wurden.