Instalar y configurar Tripwire en Ubuntu 16.04
Intención principal
Instalar y configurar Tripwire Host-Based IDS en Ubuntu 16.04 para detectar modificaciones no autorizadas en archivos y directorios críticos.
Variantes relacionadas
- instalar tripwire ubuntu 16.04
- configurar tripwire ubuntu
- tripwire tutorial en español
- tripwire host based ids
- monitorización integridad ficheros linux
Qué haremos
- Instalar Tripwire
- Configurar la política de Tripwire para Ubuntu
- Verificar la configuración y comprobar la integridad
- Añadir un nuevo conjunto de reglas (ruleset)
- Configurar notificación por correo y una tarea cron
Requisitos previos
- Ubuntu 16.04 Server
- Privilegios de root o sudo
Definición rápida
Tripwire: herramienta de integridad de archivos que calcula y comprueba firmas/atributos para detectar cambios inesperados en ficheros y directorios.
Paso 1 - Instalar Tripwire
El primer paso es instalar Tripwire desde los repositorios oficiales de Ubuntu. Actualiza los repositorios e instala el paquete con los siguientes comandos:
sudo apt update
sudo apt install -y tripwireDurante la instalación se abrirá el asistente de configuración de Postfix. Selecciona “Internet Site” y confirma con “OK” para continuar.

Para el nombre del sistema de correo, deja el valor predeterminado y elige “OK”.

A continuación se ejecutará la configuración inicial de Tripwire. Crea la “site-key” (clave de sitio) y la “local-key” (clave local) cuando se te solicite — selecciona “Yes” y pulsa Enter.

Cuando se pida la “local-key”, también elige “Yes”.

Responde “Yes” para reconstruir la configuración y la política si se solicita.


Introduce una passphrase para la site-key y repítela cuando se te solicite.


Introduce y repite la passphrase para la local-key.


Al finalizar este proceso, Tripwire estará instalado en el sistema.
Paso 2 - Configurar la política de Tripwire para el sistema Ubuntu
Todos los ficheros de configuración de Tripwire se encuentran en /etc/tripwire. Tras la instalación es necesario inicializar la base de datos de Tripwire:
sudo tripwire --initSe te pedirá la passphrase de la local-key. Si obtienes un error “No such directory” significa que la política referencia rutas que no existen en tu sistema y debes editar el archivo de políticas para comentar o ajustar esas entradas.
Para localizar las rutas inexistentes, ejecuta:
sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
cat no-directory.txtEsto generará una lista con rutas que Tripwire esperaba controlar y que no existen. Edita la política para comentarlas o ajustar su tipo.
cd /etc/tripwire/
vim twpol.txtA continuación encontrarás ejemplos de cambios típicos que conviene aplicar al archivo twpol.txt para evitar falsos positivos y problemas con pseudoficheros del kernel.
Ajustes sugeridos en la política
- Boot Scripts: comentar entradas que no existan en tu sistema.
(
rulename = "Boot Scripts",
severity = $(SIG_HI)
)
{
/etc/init.d -> $(SEC_BIN) ;
#/etc/rc.boot -> $(SEC_BIN) ;
/etc/rcS.d -> $(SEC_BIN) ;- System Boot Changes: comentar directorios temporales que cambian en cada arranque.
(
rulename = "System boot changes",
severity = $(SIG_HI)
)
{
#/var/lock -> $(SEC_CONFIG) ;
#/var/run -> $(SEC_CONFIG) ; # daemon PIDs
/var/log -> $(SEC_CONFIG) ;- Root config files: marcar los ficheros estáticos que quieras vigilar y comentar los que no existan.
(
rulename = "Root config files",
severity = 100
)
{
/root -> $(SEC_CRIT) ; # Catch all additions to /root
#/root/mail -> $(SEC_CONFIG) ;
/root/.bashrc -> $(SEC_CONFIG) ;
/root/.bash_history -> $(SEC_CONFIG) ;- Devices & Kernel information: evita monitorizar todo /proc o /dev si genera ruido; en su lugar especifica ficheros relevantes.
(
rulename = "Devices & Kernel information",
severity = $(SIG_HI),
)
{
/dev -> $(Device) ;
/dev/pts -> $(Device);
/dev/shm -> $(Device);
/dev/hugepages -> $(Device);
/dev/mqueue -> $(Device);
#/proc -> $(Device) ;
/proc/devices -> $(Device) ;
/proc/net -> $(Device) ;
/proc/tty -> $(Device) ;
/proc/cpuinfo -> $(Device) ;
/proc/modules -> $(Device) ;
/proc/mounts -> $(Device) ;
/proc/dma -> $(Device) ;
/proc/filesystems -> $(Device) ;
/proc/interrupts -> $(Device) ;
/proc/ioports -> $(Device) ;
/proc/scsi -> $(Device) ;
/proc/kcore -> $(Device) ;
/proc/self -> $(Device) ;
/proc/kmsg -> $(Device) ;
/proc/stat -> $(Device) ;
/proc/loadavg -> $(Device) ;
/proc/uptime -> $(Device) ;
/proc/locks -> $(Device) ;
/proc/meminfo -> $(Device) ;
/proc/misc -> $(Device) ;
}Guarda los cambios y sal del editor.
Recrea el fichero de política cifrado con twadmin:
sudo twadmin -m P /etc/tripwire/twpol.txtIntroduce la passphrase de la site-key. Después, re-inicializa la base de datos:
sudo tripwire --initIntroduce la passphrase de la local-key. Si todo va bien no deberías obtener errores.

Tripwire ya dispone de una política adaptada al sistema Ubuntu.
Paso 3 - Comprobar la integridad de los ficheros del sistema
Con Tripwire instalado y la política actualizada, puedes ejecutar comprobaciones manuales.
sudo tripwire --checkEn un sistema sano verás “No Violation” y “No Error” en la salida.

Prueba generando una modificación intencionada: crea un fichero en el directorio personal y vuelve a ejecutar la comprobación:
cd ~/
touch hakase-labs.txt
sudo tripwire --checkTripwire detectará la adición del fichero y el cambio en el directorio padre como violaciones.

Paso 4 - Añadir una regla nueva a Tripwire
Para vigilar contenidos web (por ejemplo, WordPress) añade un nuevo ruleset que haga críticos los ficheros bajo /var/www.
Edita twpol.txt:
cd /etc/tripwire/
vim twpol.txtAl final del archivo añade:
# Ruleset for Wordpress
(
rulename = "Wordpress Ruleset",
severity= $(SIG_HI)
)
{
/var/www -> $(SEC_CRIT);
}Guarda y sal. Regenera el fichero de política y re-inicializa la base de datos:
sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --initIntroduce las passphrases cuando se soliciten.
Ahora prueba creando un fichero o modificando la página index bajo /var/www:
cd /var/www/
touch hakase-labs.txt
echo " Hakase-labs Tutorial
" > html/index.nginx-debian.html
sudo tripwire --checkVerás notificaciones de violación con nivel de seguridad asociado a la regla.

Paso 5 - Configurar notificaciones de Tripwire y cron
Tripwire puede enviar notificaciones por correo configurando la propiedad emailto en la política. Postfix instalado durante el setup del paquete sirve como MTA por defecto.
Prueba la función de correo con:
tripwire --test --email [email protected]Si recibes el correo, la funcionalidad básica de envío está operativa.

Edita twpol.txt y añade la directiva emailto dentro del ruleset que quieras notificar, por ejemplo:
# Rules for Web-app
(
rulename = "Wordpress Rule",
severity = $(SIG_HI),
emailto = [email protected]
)Regenera la configuración y re-inicializa la base de datos:
sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --initPara enviar un informe manual por correo tras una comprobación:
sudo tripwire --check --email-reportDeberías recibir un informe en la bandeja de entrada.

Para automatizar las comprobaciones crea una tarea cron para root:
sudo crontab -e -u rootAñade la línea:
0 0 * * * tripwire --check --email-reportEsto ejecutará Tripwire cada día a medianoche y enviará el informe por correo. Reinicia el servicio cron si es necesario:
systemctl restart cron
Con esto las comprobaciones automáticas y las notificaciones están activas.
Comprobaciones y buenas prácticas de despliegue
- Antes de desplegar en producción, prueba las reglas en un entorno de staging.
- Evita monitorizar directorios que cambien constantemente (p. ej. /proc, /dev) salvo ficheros concretos.
- Mantén seguras las passphrases de site-key y local-key; considéralas parte del secreto operativo.
- Documenta las reglas personalizadas y el motivo de cada severidad.
Checklist rápido (operaciones)
- Hacer copia del twpol.txt original
- Aplicar cambios en twpol.txt
- twadmin -m P /etc/tripwire/twpol.txt
- tripwire –init
- tripwire –check y revisar salida
- Configurar emailto si aplica
- Añadir cron si procede
Resolución de problemas comunes
- “No such directory” al inicializar: generar lista con grep Filename y editar twpol.txt para comentar rutas inexistentes.
- Correos no llegan: comprobar cola de Postfix (postqueue -p), /var/log/mail.log y reglas de firewall que bloqueen puerto 25.
- Muchos falsos positivos: identificar ficheros dinámicos y excluirlos o cambiar su tipo de monitorización en la política.
Cuándo Tripwire no es la solución adecuada (contraejemplos)
- Sistemas con cambios constantes en ficheros por diseño (p. ej. contenedores efímeros) pueden generar demasiado ruido.
- Para detección en tiempo real de cambios a nivel de kernel podrías preferir herramientas de EDR (Endpoint Detection and Response) o soluciones basadas en inotify/real-time watchers.
Enfoques alternativos y complementarios
- inotify + scripts personalizados para alertas en tiempo real en archivos concretos.
- OSSEC/HIDS o Wazuh como alternativas con capacidades centralizadas y gestión de agentes.
- Sistemas de ficheros inmutables (overlay/immutable images) para reducir la superficie que necesita monitorización.
Mental model y heurística para políticas Tripwire
- Coste de vigilancia vs beneficio: vigila menos rutas pero críticas (configuración, binarios, web root) en lugar de intentar cubrir todo.
- Severidad = impacto estimado: SEC_CRIT para ficheros que permiten ejecución o control, SEC_CONFIG para cambios de configuración.
- Minimiza “ruido” para que las alertas sean accionables.
Playbook/SOP breve para una detección real
- Recibir alerta por Tripwire.
- Validar: ¿es cambio esperado (despliegue, backup) o inesperado?
- Si inesperado: capturar evidencia (hashes, timestamps, owner, salida tripwire), aislar sistema si procede.
- Revisar logs (syslog, web, auth) y buscar actividad de usuarios.
- Restaurar desde copia conocida si es necesario.
- Actualizar política para reducir falsos positivos de cambios legítimos.
Checklist por roles
Administrador de sistemas:
- Asegurar backups antes de cambiar políticas
- Mantener claves site/local en almacén seguro
Equipo de seguridad:
- Definir severidad y notificaciones
- Revisar alertas diarias y priorizar incidentes
Equipo de desarrollo (si aplica):
- Coordinar despliegues que modifiquen /var/www para evitar alertas
Mini metodología de despliegue
- Preparación: copiar twpol.txt y definir reglas base.
- Pruebas: aplicar política en staging y ejecutar tripwire –check repetidas veces.
- Ajustes: comentar exclusiones, ajustar severidad.
- Producción: importar política a producción con twadmin y tripwire –init.
- Operación: programar cron y revisar informes.
Seguridad y privacidad
- Protege las passphrases y las claves generadas por Tripwire; trata las claves como secretos.
- Tripwire envía informes por correo: asegura que el MTA está configurado de forma segura (TLS si es necesario) y que no se filtra información sensible.
- Si tu entorno está sujeto a regulación (p. ej. GDPR), documenta qué datos de auditoría se recopilan y por qué.
Compatibilidad y migración
- Tripwire explicado aquí corresponde a la versión del paquete disponible en Ubuntu 16.04. En versiones más recientes de Ubuntu, nombres de paquetes o ubicaciones pueden cambiar.
- Al migrar a un sistema más nuevo, exporta la política y las claves con cuidado y valida las rutas antes de inicializar en el nuevo host.
Ejemplos de criterios de aceptación
- La instalación se completa sin errores.
- tripwire –init finaliza sin mensajes “No such directory” tras ajustar la política.
- tripwire –check muestra “No Violation” en un sistema intacto.
- Notificación por correo llega tras –email-report.
Diagrama de decisión (flujo de acción)
flowchart TD
A[Alerta Tripwire] --> B{Cambio esperado?}
B -- Sí --> C[Registrar y cerrar]
B -- No --> D[Recolectar evidencia]
D --> E[Analizar logs y procesos]
E --> F{Indicios de intrusión?}
F -- Sí --> G[Aislar sistema y responder]
F -- No --> H[Restaurar / Notificar equipo]Glosario 1 línea
- site-key: clave maestra cifrada para la política de Tripwire.
- local-key: clave local usada para inicializar la base de datos en un host.
- ruleset: conjunto de reglas en twpol.txt que definen qué rutas y atributos vigilar.
Resumen final
Tripwire es una herramienta robusta para detectar cambios en ficheros críticos. En este tutorial aprendiste a instalar Tripwire en Ubuntu 16.04, ajustar la política para evitar falsos positivos, añadir reglas específicas para /var/www, probar detecciones, configurar notificaciones por correo y automatizar comprobaciones con cron. Complementa Tripwire con procedimientos operativos, control de claves y revisión de alertas para mantener la eficacia de la monitorización de integridad.
Importante: realiza pruebas en un entorno de staging antes de aplicar reglas estrictas en producción.
Referencias
Materiales similares
Podman en Debian 11: instalación y uso
Apt-pinning en Debian: guía práctica
OptiScaler: inyectar FSR 4 en casi cualquier juego
Dansguardian + Squid NTLM en Debian Etch
Arreglar error de instalación Android en SD