Cómo instalar y configurar Tripwire IDS en Debian 10

Instalar IDS de Tripwire

Tripwire es un sistema de detecci√≥n de intrusos de Linux gratuito y de c√≥digo abierto. Se utiliza para detectar y reportar cualquier cambio no autorizado en archivos y directorios en Linux. Tambi√©n le enviar√° una alerta por correo electr√≥nico sobre cambios en el archivo/directorio. Tripwire funciona comparando el estado actual del sistema de archivos con un estado de referencia conocido e informa si detecta alg√ļn cambio.

En esta publicación, le mostraremos cómo instalar y configurar Tripwire en Debian 10.

requisitos previos

  • Un servidor que ejecuta Debian 10.
  • Una contrase√Īa de root est√° configurada en el servidor.

Empezando

Primero, actualice los paquetes del sistema a la versión actualizada ejecutando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Instalar cable trampa

De forma predeterminada, el paquete Tripwire est√° disponible en el repositorio predeterminado de Debian 10. Puedes instalarlo usando el siguiente comando:

apt-get install tripwire -y

Durante la instalación, se le pedirá que seleccione la configuración de correo electrónico como se muestra a continuación:

Instalar IDS de Tripwire

Seleccione la opción deseada y presione INGRESAR. Se le pedirá que configure un nombre de correo del sistema como se muestra a continuación:

Configuración de sufijo

Proporcione el nombre de correo de su sistema y presione INGRESAR. Se le pedir√° que cree la frase de contrase√Īa de la clave de su sitio como se muestra a continuaci√≥n:

Contrase√Īa de Tripwire

Seleccione Sí y presione INGRESAR. Se le pedirá que reconstruya el archivo de configuración de Tripwire como se muestra a continuación:

Reconstruir archivo de configuración

Seleccione Sí y presione INGRESAR. Se le pedirá que reconstruya su archivo de póliza Tripwire como se muestra a continuación:

Reconstruir archivo de política

Seleccione S√≠ y presione INGRESAR. Se le pedir√° que proporcione su frase de contrase√Īa de clave de sitio como se muestra a continuaci√≥n:

Establecer una clave de sitio

Proporcione su contrase√Īa y pulse INGRESAR. Se le pedir√° que configure su contrase√Īa de clave local como se muestra a continuaci√≥n:

Establecer frase de contrase√Īa local

Proporcione su contrase√Īa y pulse INGRESAR. Una vez que se haya instalado Tripwire, deber√≠a ver la siguiente pantalla: Anuncio

Instalación de Tripwire terminada

Haga clic en el OK botón para finalizar la instalación.

Configurar cable trampa

A continuación, deberá generar claves Tripwire e inicializar la base de datos. Primero, cambie el directorio a Tripwire y enumere todas las claves y archivos con el siguiente comando:

cd /etc/tripwire/
ls

Debería ver el siguiente resultado:

debian10-local.key  site.key  tw.cfg  twcfg.txt  tw.pol  twpol.txt

A continuación, edite el archivo de configuración de Tripwire y establezca REPORTLEVEL en 4

nano /etc/tripwire/twcfg.txt

Cambia la siguiente línea:

REPORTLEVEL   =4

Guarde y cierre el archivo cuando haya terminado.

A continuación, genere un nuevo archivo de configuración con el siguiente comando:

twadmin -m F -c tw.cfg -S site.key twcfg.txt

Se le pedir√° que proporcione la frase de contrase√Īa de su sitio como se muestra a continuaci√≥n:

Please enter your site passphrase: 
Wrote configuration file: /etc/tripwire/tw.cfg

A continuación, cree un archivo twpolmake.pl para optimizar la política de Tripwire.

nano twpolmake.pl

Agregue las siguientes líneas:

#!/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) ;

Guarde y cierre el archivo, luego cree un archivo de configuración con el siguiente comando:

perl twpolmake.pl twpol.txt > twpol.txt.new 
twadmin -m P -c tw.cfg -p tw.pol -S site.key twpol.txt.new

Debería ver el siguiente resultado:

Please enter your site passphrase: 
Wrote policy file: /etc/tripwire/tw.pol

A continuación, cree una base de datos Tripwire con el siguiente comando:

tripwire -m i -s -c tw.cfg

Debería ver el siguiente resultado: Anuncio

Please enter your local passphrase: 
### Warning: File system error.
### Filename: /var/lib/tripwire/debian10.twd
### No such file or directory
### Continuing...

También puede mostrar la base de datos generada con el siguiente comando:

twprint -m d -d /var/lib/tripwire/debian10.twd

Debería ver el siguiente resultado:

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
-------------------------------------------------------------------------------

Si desea actualizar la base de datos de Tripwire, ejecute el siguiente comando:

tripwire --update --accept-all

Deberías obtener el siguiente resultado:

### Error: File could not be opened.
### Filename: /var/lib/tripwire/report/debian10-20210509-084141.twr
### No such file or directory
### Exiting...

Ahora, prueba el Tripwire usando el siguiente comando:

tripwire -m c -s -c /etc/tripwire/tw.cfg

Debería ver el siguiente resultado:

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
-------------------------------------------------------------------------------

De forma predeterminada, los archivos de informe de Tripwire se encuentran en /var/lib/tripwire/report/:

ls /var/lib/tripwire/report/

Producción:

debian10-20210509-084215.twr

Puede consultar este informe con el siguiente comando:

twprint -m r -t 4 -r /var/lib/tripwire/report/debian10-20210509-084215.twr

Verificar IDS de Tripwire

En este punto, Tripwire est√° instalado y configurado. Ahora es el momento de comprobar si Tripwire funciona o no.

Primero, cree algunos archivos en su sistema con el siguiente comando:

touch fil1 file2 file3 file4 file5

Ahora, ejecute Tripwire para verificar si Tripwire detecta estos archivos o no:

tripwire --check --interactive

Debería ver los archivos recién creados en el siguiente resultado:

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"

===============================================================================

También puede verificar el informe generado más tarde usando el siguiente comando:

twprint --print-report --twrfile /var/lib/tripwire/report/debian10-20210509-084636.twr

Automatice el informe Tripwire

También puede configurar un trabajo cron para ejecutar un Tripwire en un momento específico. Puedes hacerlo con el siguiente comando:

crontab -e

Agregue las siguientes líneas:

00 06 * * * /usr/sbin/tripwire --check

Guarde y cierre el archivo cuando haya terminado.

El archivo anterior ejecutar√° un Tripwire todas las ma√Īanas a las 06:00 AM. Puede consultar el informe generado en /var/lib/tripwire/informe/.

Conclusión

¡Felicidades! Ha instalado y configurado correctamente Tripwire IDS en Debian 10. Espero que esto lo ayude a verificar qué archivos o directorios se modifican en su sistema.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *