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:

Installeer Tripwire IDS

Kies de gewenste optie en druk op ENTER. Je wordt gevraagd een systeemmail naam in te stellen zoals hieronder:

Postfix configuratie

Geef je systeemmail naam op en druk op ENTER. Je wordt gevraagd je site key passphrase aan te maken zoals hieronder:

Tripwire wachtwoordzin

Kies Ja en druk op ENTER. Je wordt gevraagd het Tripwire configuratiebestand opnieuw te bouwen zoals hieronder:

Herbouw configuratiebestand

Selecteer Ja en druk op ENTER. Je wordt gevraagd om je Tripwire policy bestand opnieuw te maken zoals hieronder:

Herbouw beleidsbestand

Selecteer Ja en druk op ENTER. Je wordt gevraagd je site-key passphrase op te geven zoals hieronder:

Stel een site sleutel in

Geef je wachtwoord op en druk op ENTER. Je wordt gevraagd je lokale sleutel passphrase in te stellen zoals hieronder getoond:

Stel een lokale passphrase in

Geef je wachtwoord en druk op ENTER. Als Tripwire geïnstalleerd is, zou je het volgende scherm moeten zien:

Tripwire installatie voltooid

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.