Tripwire es una herramienta opensource que nos ayudara a verificar si nuestro sistema ha sido vulnerado o para
chequear que archivos cambian en nuestro sistema.
Su funcionamiento consiste en sacar el MD5 de todo los directorios que nosotros le marquemos, para que en caso de
cambio el administrador sea notificado por email. El proceso de calculo es bastante pesado en cuanto a recursos pero
evidentemente es algo util cuando tenemos servidores puestos directamente en Internet.
Puede parecer un poco paranoico, pero en cuanto a seguridad nunca se es demasiado, ya no es suficiente con
Firewall de IMPUT y OUTPU, Antivirus o herramientas de analisis de trafico, cualquier 0 day puede dejar vulnerable
nuestro sistema, y permitir el acceso de un enemigo que modifique nuestro sistema a su antojo, instalar troyanos y ocultarlos.
Instalacion:
La forma más fácil de instalar Tripwire es instalando el RPM de Tripwire durante el proceso de instalación de Red Hat Linux
Desde el cd de RedHat 9
rpm -Uvh /mnt/cdrom/RedHat/RPMS/tripwire*.rpm
Modificamos el fichero
vi /etc/tripwire/twcfg.txt:
Algunas opciones interesantes
-
POLFILE — Especifica la ubicación del archivo de políticas; /etc/tripwire/tw.pol es el valor por defecto.
-
DBFILE — Especifica la ubicación del archivo de la base de datos; /var/lib/tripwire/$(HOSTNAME).twd es el valor por defecto.
-
REPORTFILE — Especifica la ubicación de los archivos de informes.
-
Por defecto este valor está colocado a /var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr.
-
SITEKEYFILE — Especifica la ubicación del archivo de la llave del sitio; /etc/tripwire/site.key es el valor por defecto.
-
LOCALKEYFILE — Especifica la ubicación del archivo de la llave local; /etc/tripwire/$(HOSTNAME)-local.key
-
es el valor por defecto.
-
EDITOR — Especifica el editor de texto llamado por Tripwire. El valor predetermindo es /bin/vi.
-
LATEPROMPTING — Si se coloca a verdadero, esta variable configura Tripwire para que espere tanto
-
como sea posible antes de preguntar al usuario por una contraseña, minimizando así el tiempo que la contraseña
-
permanece en memoria. El valor por defecto es falso.
-
LOOSEDIRECTORYCHECKING — Si es verdadero, esta variable configura Tripwire para que informe sobre los cambios
-
que se han realizado en un archivo de un directorio y no sobre los cambios propios del directorio.
-
Esto limita la redundancia en los informes de Tripwire. El valor predeterminado es falso.
-
SYSLOGREPORTING — Si es verdadero, esta variable configura Tripwire para informe al demonio syslog con la facilidad del «usuario».
-
El nivel de informe está colocado a aviso. Vea la página del manula de syslogd para más información. El valor predeterminado es falso.
-
MAILNOVIOLATIONS — Si es verdadero, esta variable configura Tripwire para que mande un informe en
-
forma de e-mail a intervalos regulares sin tener en cuenta si se han producido violaciones. El valor predeterminado es verdadero.
-
EMAILREPORTLEVEL — Especifica el nivel de detalles para los informes enviados a través de email.
-
Los valores válidos para esta variable son 0 a 4. El valor por defecto es 3.
-
REPORTLEVEL — Especifica el nivel de detalles para los informes generados por el comando twprint.
-
Este valor se puede cambiar en la línea de comandos, pero el valor predeterminado es 3.
-
MAILMETHOD — Especifica qué protocolo de correo debe usar Tripwire. Los valores válidos son SMTP and SENDMAIL. El valor predeterminado es SENDMAIL.
-
MAILPROGRAM — Especifica cúal programa de correo usará Tripwire. El valor por defecto es /usr/sbin/sendmail -oi -t.
Lanzamos el script de instalacion
#./etc/tripwire/twinstall.sh
Nos pedira una contraseña con la que protegeremos las configuracion de tripware.
Ahora inicializamos la BD
# ./usr/sbin/tripwire --init
Por defecto, el RPM Tripwire añade un script de la shell llamado
tripwire-check al directorio
/etc/cron.daily/. Este script
ejecuta automaticamente un control de integridad una vez al día.
Para forzar el chequeo solo debemos ejecutar
#./usr/sbin/tripwire --check
Para ver el reporte hacemo uso de twprint
# ./usr/sbin/twprint -m r --twrfile /var/lib/tripwire/report
Para visualizar la BD hariamos
#./usr/sbin/twprint -m d --print-dbfile | less
Actualizar la BD , en caso de que llevemos a cabo una actulizacion del sistema y queremos que
se reflejen los cambios debemos actualizar la BD una vez terminada la actualizacion. para ello ejecutamos.
# ./usr/sbin/tripwire --update --twrfile /var/lib/tripwire/report/<name>.twr
Name lo sustituimos por el nombre de la BD.
Notificaciones por correo
Una vez que se sabe a quién avisar y sobre qué avisar, añada la línea
emailto= al archivo /etc/tripwire/twpol.txt
a la sección de directivas de cada regla. Haga esto agregando una coma
después de la línea de severity= y colocando
emailto= en la próxima línea, seguido por una o más
direcciones de correo. Se puede especificar más de una dirección de correo
si se separan con un punto y coma.
Ejemplo:
(
rulename = "Networking Programs",
severity = $(SIG_HI),
emailto = [email protected];[email protected]
)
Enviar el mensaje de prueba:
# ./usr/sbin/tripwire --test --email [email protected]
Actualizar el fichero de configuracion, una vez cambiado debemos actualizar con el comando
# ./twadmin --print-cfgfile > /etc/tripwire/twcfg.txt
Más información
http://www.tu-chemnitz.de/docs/lindocs/RH9/RH-DOCS/rhl-rg-es-9/index.html
http://www.tripwire.org