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
- Un servidor que ejecuta Debian 10.
- Se configura una contraseña raíz en el servidor.
Cómo empezar
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 Tripwire
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:
Seleccione la opción deseada y presione ENTER . Se le pedirá que configure un nombre de correo del sistema como se muestra a continuación:
Proporcione el nombre de correo de su sistema y presione ENTER . Se le pedirá que cree la frase de contraseña de la clave de su sitio como se muestra a continuación:
Seleccione Sí y presione ENTRAR . Se le pedirá que reconstruya el archivo de configuración de Tripwire como se muestra a continuación:
Seleccione Sí y presione ENTRAR . Se le pedirá que reconstruya su archivo de política de Tripwire como se muestra a continuación:
Seleccione Sí y presione ENTRAR . Se le pedirá que proporcione su frase de contraseña de clave de sitio como se muestra a continuación:
Proporcione su contraseña y presione ENTRAR . Se le pedirá que configure su contraseña de clave local como se muestra a continuación:
Proporcione su contraseña y presione ENTRAR . Una vez que se haya instalado Tripwire, debería ver la siguiente pantalla:
Haga clic en Aceptar 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
Cambie 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:
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/
Salida:
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 adelante usando el siguiente comando:
twprint --print-report --twrfile /var/lib/tripwire/report/debian10-20210509-084636.twr
Automatizar informe de cable trampa
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/report/ .
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.