Tripwire IDS installeren en instellen op Debian 10
Tripwire is een gratis en open-source Linux Inbraakdetectiesysteem. Het wordt gebruikt om elke ongeoorloofde verandering in bestanden en mappen op Linux te detecteren en te melden. Het stuurt je ook een waarschuwing per e-mail over bestands/directory wijzigingen. Tripwire werkt door de huidige toestand van het bestandssysteem te vergelijken met een bekende basislijntoestand en meldt als er veranderingen worden gedetecteerd.
In dit artikel laten we zien hoe je Tripwire installeert en configureert op Debian 10.
Vereisten
- Een server met Debian 10.
- Een root wachtwoord is op de server ingesteld.
Aan de slag
Werk eerst de systeempakketten bij naar de bijgewerkte versie door het volgende commando uit te voeren:
apt-get update -y
Als alle pakketten bijgewerkt zijn, kun je verder gaan met de volgende stap.
Installeer Tripwire
Het Tripwire pakket is standaard beschikbaar in de Debian 10 standaard repository. Je kunt het installeren met het volgende commando:
apt-get install tripwire -y
Tijdens de installatie wordt je gevraagd de e-mail configuratie te kiezen zoals hieronder:
Kies de gewenste optie en druk op ENTER. Je wordt gevraagd een systeemmail naam in te stellen zoals hieronder:
Geef je systeemmail naam op en druk op ENTER. Je wordt gevraagd je site key passphrase aan te maken zoals hieronder:
Kies Ja en druk op ENTER. Je wordt gevraagd het Tripwire configuratiebestand opnieuw te bouwen zoals hieronder:
Selecteer Ja en druk op ENTER. Je wordt gevraagd om je Tripwire policy bestand opnieuw te maken zoals hieronder:
Selecteer Ja en druk op ENTER. Je wordt gevraagd je site-key passphrase op te geven zoals hieronder:
Geef je wachtwoord op en druk op ENTER. Je wordt gevraagd je lokale sleutel passphrase in te stellen zoals hieronder getoond:
Geef je wachtwoord en druk op ENTER. Als Tripwire geïnstalleerd is, zou je het volgende scherm moeten zien:
Klik op de Ok knop om de installatie te beëindigen.
Configureer Tripwire
Vervolgens moet je Tripwire sleutels genereren en de database initialiseren. Verander eerst de directory in Tripwire en maak een lijst van alle sleutels en bestanden met het volgende commando:
cd /etc/tripwire/
ls
Je zou de volgende uitvoer moeten zien:
debian10-local.key site.key tw.cfg twcfg.txt tw.pol twpol.txt
Bewerk vervolgens het Tripwire configuratiebestand en zet REPORTLEVEL op 4
nano /etc/tripwire/twcfg.txt
Verander de volgende regel:
REPORTLEVEL =4
Sla het bestand op en sluit het als je klaar bent.
Genereer vervolgens een nieuw configuratiebestand met het volgende commando:
twadmin -m F -c tw.cfg -S site.key twcfg.txt
Je wordt gevraagd je site passphrase op te geven zoals hieronder:
Please enter your site passphrase: Wrote configuration file: /etc/tripwire/tw.cfg
Maak vervolgens een twpolmake.pl bestand om het Tripwire beleid te optimaliseren.
nano twpolmake.pl
Voeg de volgende regels toe:
#!/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) ;
Bewaar en sluit het bestand en maak dan een configuratiebestand met het volgende commando:
perl twpolmake.pl twpol.txt > twpol.txt.new
twadmin -m P -c tw.cfg -p tw.pol -S site.key twpol.txt.new
Je zou de volgende uitvoer moeten zien:
Please enter your site passphrase: Wrote policy file: /etc/tripwire/tw.pol
Maak vervolgens een Tripwire database aan met het volgende commando:
tripwire -m i -s -c tw.cfg
Je zou de volgende uitvoer moeten zien:
Please enter your local passphrase: ### Warning: File system error. ### Filename: /var/lib/tripwire/debian10.twd ### No such file or directory ### Continuing...
Je kunt de gegenereerde database ook weergeven met het volgende commando:
twprint -m d -d /var/lib/tripwire/debian10.twd
Je zou de volgende uitvoer moeten zien:
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 -------------------------------------------------------------------------------
Als je de Tripwire database wilt bijwerken, voer je het volgende commando uit:
tripwire --update --accept-all
Je zou de volgende uitvoer moeten krijgen:
### Error: File could not be opened. ### Filename: /var/lib/tripwire/report/debian10-20210509-084141.twr ### No such file or directory ### Exiting...
Test nu de Tripwire met het volgende commando:
tripwire -m c -s -c /etc/tripwire/tw.cfg
Je zou de volgende uitvoer moeten zien:
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 -------------------------------------------------------------------------------
Standaard staan de Tripwire rapportbestanden in /var/lib/tripwire/report/:
ls /var/lib/tripwire/report/
Uitvoer:
debian10-20210509-084215.twr
Je kunt dit rapport controleren met het volgende commando:
twprint -m r -t 4 -r /var/lib/tripwire/report/debian10-20210509-084215.twr
Verifieer Tripwire IDS
Op dit punt is Tripwire geïnstalleerd en geconfigureerd. Nu is het tijd om te controleren of Tripwire werkt of niet.
Maak eerst een aantal bestanden in je systeem aan met het volgende commando:
touch fil1 file2 file3 file4 file5
Voer nu de Tripwire uit om te controleren of de Tripwire deze bestanden detecteert of niet:
tripwire --check --interactive
Je zou de nieuw aangemaakte bestanden moeten zien in de volgende uitvoer:
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" ===============================================================================
Je kunt het gegenereerde rapport later ook controleren met het volgende commando:
twprint --print-report --twrfile /var/lib/tripwire/report/debian10-20210509-084636.twr
Tripwire rapport automatiseren
Je kunt ook een cron job instellen om op een bepaald tijdstip een Tripwire uit te voeren. Je kunt dat doen met het volgende commando:
crontab -e
Voeg de volgende regels toe:
00 06 * * * /usr/sbin/tripwire --check
Sla het bestand op en sluit het als je klaar bent.
Het bovenstaande bestand zal elke ochtend om 06:00 uur een Tripwire uitvoeren. Je kunt het gegenereerde rapport bekijken in /var/lib/tripwire/report/.
Conclusie
Gefeliciteerd! Je hebt Tripwire IDS met succes geïnstalleerd en geconfigureerd op Debian 10. Ik hoop dat dit je helpt om te controleren welke bestanden of mappen op je systeem gewijzigd zijn.