Guía breve Tripwire

Abstract

Esta es una guía breve para utilizar Tripwire en Linux. Se desarrolló en ambiente RedHat 7.1; sin embargo, debe ser útil en cualquier otro OS compatible.


Tabla de contenidos
Introducción
Configuración de Tripwire
Configuración permanente de Tripwire
Eliminación de archivos de texto
Script check_twpol.sh

Introducción

¿Por qué usar Tripwire?

Para mejorar la seguridad de su sistema.

No existen los sistemas computacionales perfectos e invulnerables que desearíamos, y siempre estaremos expuestos a ataques. Más allá de todas las medidas preventivas que tomemos (firewalls, patches, políticas, etc.) siempre cabe la posibilidad de ser alcanzados por un hacker. Los ataques exitosos a través de la red típicamente involucran la modificación parcial del sistema mediante la alteración o reemplazo de ciertos archivos, lo cual suele ser empleado por el atacante para posteriormente tomar el control total del sistema.

Tripwire asume que todos los controles de seguridad han fallado, y que nuestro sistema ya ha sido alterado; al menos, parcialmente. Sin embargo, parte del arte de los atacantes consiste en no ser descubiertos, y para esto emplean diversas técnicas relativamente sofisticadas. Tripwire servirá para alertar al administrador de estos cambios (los cuales de otro modo podrían pasar desapercibidos por semanas o meses) a fin de tomar acciones con rapidez.

Para esto, Tripwire monitorea rutinariamente la integridad de una gran cantidad de archivos que tienden a ser blanco de los atacantes. Sin embargo, este proceso es pesado, y se suele ejecutar a intervalos; por ejemplo, diarios o interdiarios, aunque no hay ninguna restricción (salvo de recursos) para no lanzarlo cada media hora.


Instalar Tripwire

Descargue la versión open source de Tripwire del site www.tripwire.org. Elija la versión que corresponda mejor a su sistema operativo.

Tripwire normalmente se distribuye en un archivo RPM que viene empacado en formato TAR comprimido. En este último caso, usar:

# tar xvzf tripwire.tar.gz
Lo cual debería generar el archivo tripwire-2.3-47.i386.rpm (el nombre exacto dependerá de su versión.)

Ahora instálelo:

# rpm -ivh tripwire-2.3-47.i386.rpm

Nota: En diversas distribuciones de Linux, incluyendo RedHat 7.2 y superiores, Tripwire ya está instalado, razón por la cual este paso puede no ser necesario.


Configuración de Tripwire

Definir las claves de Tripwire

Tripwire utiliza dos claves (que pueden ser palabras u oraciones) para almacenar su información. Una de ellas, la "site key" o "clave del site", se emplea para encriptar los archivos de configuración y de las políticas. La otra - la "local key" o "clave local", se usa para encriptar la información referida al estado de los archivos del sistema que se monitorean.

Ud. necesita estas dos claves para las tareas de administración de Tripwire. Estas se deben introducir tan pronto como se ha instalado Tripwire mediante el comando:

# /etc/tripwire/twinstall.sh
Recuérdelas bien, o anótelas en un lugar seguro.


Configurar el archivo de políticas

La configuración de los archivos que van a ser monitoreados por Tripwire se mantiene en un gran archivo conocido como "archivo de políticas" (policy file.) Su manipulación es algo tediosa dada su extensión. Tripwire viene con un archivo que sirve de "plantilla" para ser modificado. Este archivo es: /etc/tripwire/twpol.txt.

Ud. puede modificarlo directamente con un editor de texto (aunque le aconsejo que guarde una copia sin modificar del mismo.)

Ahora haremos una observación de órden práctico y didáctico: Tripwire por lo general toma varios minutos en cada una de sus ejecuciones, y si Ud. nunca lo ha usado, probablemente le resultará desesperante aguardar mucho tiempo sin saber si las cosas están yendo bien o mal. Por este motivo yo sugiero que empecemos con una versión reducida (y casi inútil) del archivo de políticas. Una vez que Ud. comprenda el proceso completo, podrá retomar el archivo original y aprovecharlo.

Nuevamente va la advertencia: haga una copia de seguridad del archivo twpol.txt.

Para recortar el archivo proporcionado, simplemente use un editor de texto (como vi) y busque la sección "File System and Disk Administraton Programs" (que en el archivo que yo tengo, se ubica a partir de la línea 185.) Un extracto de esa sección es presentado aquí:

...
################################################ #
# File System and Disk Administration Programs # #
################################################
(
  rulename = "File System and Disk Administraton Programs",
  severity = $(SIG_HI)
)
{
  /sbin/accton                         -> $(SEC_CRIT) ;
  /sbin/badblocks                      -> $(SEC_CRIT) ;
  /sbin/dosfsck                        -> $(SEC_CRIT) ;
  /sbin/e2fsck                         -> $(SEC_CRIT) ;
  /sbin/debugfs                        -> $(SEC_CRIT) ;
  /sbin/dumpe2fs                       -> $(SEC_CRIT) ;
  /sbin/dump                           -> $(SEC_CRIT) ;
...
Como Ud. ya se imaginará, esto corresponde a un conjunto de archivos que se monitorean por Tripwire. Nosotros reduciremos la extensa lista recortando el archivo en esta sección. Por ejemplo, haciendo que termine en /sbin/e2fsck:
...
################################################ #
# File System and Disk Administration Programs # #
################################################
(
  rulename = "File System and Disk Administraton Programs",
  severity = $(SIG_HI)
)
{
  /sbin/accton                         -> $(SEC_CRIT) ;
  /sbin/badblocks                      -> $(SEC_CRIT) ;
  /sbin/dosfsck                        -> $(SEC_CRIT) ;
  /sbin/e2fsck                         -> $(SEC_CRIT) ;
}
# AHORA AQUI TERMINA EL ARCHIVO. OBSERVE LA LLAVE DE CIERRE.
Como se ve, hemos recortado la parte que estaba más abajo de /sbin/e2fsck, y hemos tenido cuidado de aña