1. Experto en Administración
y Seguridad de
Sistemas Informáticos
Módulo: Sistemas de Detección de Intrusos
Profesor: Juan Antonio Gil Martínez-Abarca
Curso Escolar: 2006/2007
Experto en Administración y Seguridad de Sistemas Informáticos
2. Tabla de Contenidos
• tripwire: Sistema de detección de
intrusos basada en anfitrión
mediante Software Libre
• Características
• Instalación
• Funcionamiento
• Configuración
• Prácticas
Experto en Administración y Seguridad de Sistemas Informáticos
3. Características
• HIDS basado en Software Libre:http://www.tripware.org
• Método para encontrar intentos de intrusión en el propio
sistema
• Cuando un atacante entra en un sistema puede cambiar:
fichero contraseñas, usuarios, permisos de archivos,
comandos (ls, ps, cd,…)
• Como lo normar es que estos archivos no cambien con
asiduidad, las modificaciones pueden indicar actividad
inusual.
• Ventajas:
– Método más preciso - falsos positivos
– Registran actividades, no patrones.
– Menos ajustes y menos propensos a trucarse.
• Inconvenientes:
– Más complicado mantenimiento.
– Alerta tras ataque (no predice, más bien avisa del problema
que YA existe)
Experto en Administración y Seguridad de Sistemas Informáticos
4. Características
• Versión comercial con:
– Soporta más plataformas (windows)
– Incluye twagent para administrar
múltiples instalaciones de tripwire
– GUI para administrar las bases de datos
y las configuraciones
• Ambas funcionan creando una base
de datos de atributos de archivos
importantes.
Experto en Administración y Seguridad de Sistemas Informáticos
5. Instalación
• Descargamos los fuentes (o paquete
de la distribución)
./configure; ./make all
• install.cfg para ajustar las
configuraciones predeterminadas a
nuestro sistema
– Controla además dónde se instalan
archivos del sistema del programa y
variables del sistema
– Configuraciones el cliente de correo
Experto en Administración y Seguridad de Sistemas Informáticos
6. Instalación
• Ejecutamos ./make install (twinstall.sh)
• Escribimos accept para aceptar la licencia (GPL)
• Escribimos las frases de paso para la base de datos
y archivos de configuración Importante elegir
buenas frases de paso y !!!no olvidarlas¡¡¡
• Criptografía asimétrica en Tripwire
– Usa dos pares de llaves para proteger los
ficheros.
– Una general (site.key compartida entre varias
máquinas que protege los ficheros de
configuración y política).
– Otra local (hostname-local.key) que protege la
base de datos y los informes.
Experto en Administración y Seguridad de Sistemas Informáticos
7. Configuración
• Establecer la política: le decimos qué archivos
vigilar y en qué nivel de detalle.
• twpol versión sin cifrar del archivo principal de
políticas
– Buena praxis sería, tras establecer y probar las
políticas, copiar este fichero en otro sitio y
borrarlo
– Contiene variables y un listado de archivos y
directorios junto con las directivas de política
para ellos representadas mediantes letras de
código o variables (máscaras de propiedad,
acciones que registra tripware)
Experto en Administración y Seguridad de Sistemas Informáticos
8. Configuración Mascaras de propiedad de Tripwire
Letras de código Atributos registrados
a Ultimo acceso
b Bloques asignados
c Crear/modificar hora
d Dispositivo ID en el que reside el i-nodo
g ID de grupo del propietario del archivo
i Numero de i-nodo
l Si se permite crecer el archivo
m Modificación de la fecha y hora impresa
n Numero de enlaces al i-nodo
p Leer/escribir/ejecutar permisos en el archivo
r ID del dispositivo seleccionado por el inodo
s Tamaño del archivo
t Tamaño del tipo
u ID de usuario del propietario del archivo
C Código CRC32
H Código Haval
M Código MD5
S Código SHA/SHS
Experto en Administración y Seguridad de Sistemas Informáticos
9. Configuración
POLFILE Archivo donde se encuentran las políticas (por defecto(/etc/tripware/tw.pol)
DBFILE Archivo de la Base de Datos (/var/lib/tripware/hostname.twd)
REPORTFILE: Fichero de informes (/var/lib/tripware/report/hostname.twr)
SITEKEYFILE: Llave del sitio (Por Defecto: /etc/tripwire/site.key)
LOCALKEYFILE: Path donde se encuentra la llave local.(/etc/tripwire/$(HOSTNAME)-local.key)
OPCIONALES
EDITOR: Editor de texto llamado por Tripwire (por defecto /bin/vi)
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 que informe al demonio syslog
con la facilidad de "usuario" y prioridad “aviso”. 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.
MAILMETHOD: Especifica qué protocolo de correo debe usar Tripwire. Los valores válidos son SMTP y
SENDMAIL. El valor predeterminado es SENDMAIL.
MAILPROGRAM: Específica cual programa de correo usará Tripwire. El valor por defecto es
/usr/sbin/sendmail -oi -t.
Experto en Administración y Seguridad de Sistemas Informáticos
10. Configuración
• Componentes de las políticas
• Una política está formada por cinco clases
de componentes:
– Reglas Componente básico, especifica
objetos/atributos a monitorizar.
– Stop points Especifica objetos que no tienen
que vigilarse.
– Atributos Modifican el comportamiento de las
reglas.
– Directivas Agrupan reglas y permiten ejecución
condicional.
– Variables Permiten modificar información.
Experto en Administración y Seguridad de Sistemas Informáticos
11. Configuración
• Componentes :: Reglas
objeto -> máscara;
• Objeto: Fichero/directorio (UNIX) a
monitorizar.
– Rutas completas de ficheros y directorios.
– Se ignoran los espacios y las comillas dobles.
• Máscara: Propiedades a tener en cuenta.
• Limitaciones
– Sólo una regla por objeto.
– Si el objeto es un directorio, recursividad
controlada.
Experto en Administración y Seguridad de Sistemas Informáticos
12. Configuración
• Componentes :: Reglas
• Máscaras de propiedades
[+-]*[pinugtsldbamcrCMSH])+
– Indican qué atributos examinar.
– Un + habilita; un - deshabilita.
– No son válidas máscaras vacías.
– El + es el símbolo por defecto.
– Símbolos contradictorios o duplicados: el
último manda.
• Ejemplos
– +pinugsmtdbCM-raclSH
– +pinugtd-rsacmblCMSH
Experto en Administración y Seguridad de Sistemas Informáticos
13. Configuración
• Componentes :: Reglas
• Formato de declaración:
file/directory name -> property mask;
• Ejemplo
/etc/secretfile.txt +amcpstu;
+ habilita el registro de modificaciones en:
a último acceso
c,m fecha y hora de creación y modificación
p permisos
t,s tipo, tamaño
u propietario
Experto en Administración y Seguridad de Sistemas Informáticos
14. Configuración
• Componentes :: Stop points
! objeto;
– Especifican objetos que no deben
monitorizarse.
– Su utilidad está en indicar excepciones.
• Ejemplo
/etc/ -> $(ReadOnly);
! /etc/mtab;
Experto en Administración y Seguridad de Sistemas Informáticos
15. Configuración
• Componentes :: Atributos
objeto -> máscara (atributo1=valor1,atributo2=valor2,...);
(atributo1=valor1,atributo2=valor2)
{
objeto1 -> máscara1;
objeto2 -> máscara2;
objeto3 -> máscara3;
...
}
• Modifican el comportamiento de las reglas u ofrece
información adicional.
• Pares atributo=valor.
• Pueden referirse a reglas individuales o a grupos de ellas.
Experto en Administración y Seguridad de Sistemas Informáticos
16. Configuración
• Componentes :: Atributos
• Tipos:
– rulename Nombre de la regla (o del grupo). Pueden ejecutarse
comprobaciones que sólo procesen a una regla.
– emailto Dirección de correo-e a quien avisar en caso de
violación de la regla.
– severity Nivel de gravedad. Tripwire permite ejecuciones
basadas en este nivel.
– recurse Control de recursividad. Ninguna (0), ilimitada (-1) o
limitada a n niveles (n).
• Ejemplo
(emailto=webmaster@eps.ua.es, severity=90)
{/
etc -> $(ReadOnly)
/etc/apache -> $(ReadOnly) (emailto=webmaster@eps.ua.es) ;
}
Experto en Administración y Seguridad de Sistemas Informáticos
17. Configuración
• Componentes :: Directivas
• ¿Qué son?
– Conjunto de elementos preprocesados.
– Permiten compartir políticas entre diferentes
máquinas.
• @@section
– Etiqueta de secciones (FS, NTFS, NTREG,
GLOBAL).
– FS es el valor por defecto.
• @@end
– Final lógico del fichero.
Experto en Administración y Seguridad de Sistemas Informáticos
18. Configuración
• Componentes :: Directivas
• @@ifhost, @@else, @@endif
– Generación de información de diagnóstico y
depuración.
@@ifhost skywalker || solo
/bin -> $(ReadOnly);
/usr/bin -> $(IgnoreNone) -ar;
@@else
@@ifhost c3po || r2d2
/bin -> $(IgnoreNone) -ar;
@@endif
@@endif
Experto en Administración y Seguridad de Sistemas Informáticos
19. Configuración
• Componentes :: Directivas
• @@print y @@error
– Interpretaci´on condicional seg´un el nombre de la m
´aquina.
@@ifhost romeo
/bin -> $(ReadOnly);
@@else
@@ifhost juliet
@@print "Scanning projects on juliet"
/projects -> $(ReadOnly) +H;
@@else
@@error "This policy file not written for this machine"
@@endif
@@endif
Experto en Administración y Seguridad de Sistemas Informáticos
20. Configuración
• Componentes :: Variables
• Dos tipos
– Locales
– Globales (@@section GLOBAL)
• Definición
variable = valor;
• Sustitución
$(variable);
Experto en Administración y Seguridad de Sistemas Informáticos
21. Configuración
• Componentes :: Variables
• Ejemplo
# Definición de variables
src = /usr/src ;
mask1 = +pinguC-a ;
# Ejemplo de uso a derecha e izquierda
$(src) -> $(mask1)
Experto en Administración y Seguridad de Sistemas Informáticos
22. Configuración
•Variables predefinidas:
$Readonly +pinugtsdbmCM-rlacSH
$Dynamic +pinugtd-srlbamcCMSH
$Growing +pinugtdl-srbamcCMSH
$Device +pugsdr-intlbamcCMSH
$IgnoreAll -pinugtsdrlbamcCMSH
$IgnoreNone +pinugtsdrlbamcCMSH
Experto en Administración y Seguridad de Sistemas Informáticos
23. Funcionamiento
• Inicializar la base de datos para
establecer los datos básicos
• Orden: /usr/sbin/tripwire --init
– Se construye la base de datos de
objetos y atributos.
– La almacena en /var/lib/tripwire con un
nombre que suele seguir el patrón
‘máquina.twd’.
Experto en Administración y Seguridad de Sistemas Informáticos
24. Funcionamiento
• Comprobar la integridad
• Orden: /usr/sbin/tripwire --check
– Tripwire genera un informe con los
cambios producidos.
– El informe se guarda en
/var/lib/tripwire/report con un nombre
que suele seguir el patrón ‘máquina-fecha-
hora.twd’.
Experto en Administración y Seguridad de Sistemas Informáticos
25. Funcionamiento
• Actualizar la base de datos
• Orden:
tripwire --update --twrfile
/var/lib/tripwire/report/mipc-20040520-
11:23.twr
– Es el administrador quien determina qué
cambios son naturales y cuáles constituyen
una amenaza.
– Los cambios “normales” habrá que
incorporarlos a la base de datos.
– Podrá regenerarse desde cero, pero no tendría
sentido.
Experto en Administración y Seguridad de Sistemas Informáticos
26. Funcionamiento
• Actualización de la base de datos
• Extracto del formulario de sincronización: se marcan sólo los
• cambios a incorporar.
• --------------------------------------------------------------------------
• 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"
• [x] "/etc/adjtime"
• [x] "/etc/awstats"
• [ ] "/etc/awstats/awstats.irq.homeunix.org.conf"
• [ ] "/etc/motd"
• [x] "/etc/mtab"
• [x] "/etc/network/ifstate"
Experto en Administración y Seguridad de Sistemas Informáticos
27. Funcionamiento
• Actualizar la política
• Órdenes
twadmin --print-polfile > /etc/tripwire/twpol.txt
twadmin --create-polfile -S site.key
/etc/tripwire/twpol.txt
rm /etc/tripwire/twpol.txt
– En ocasiones la política puede generar
problemas o, simplemente, no ajustarse a las
necesidades.
– El administrador puede cambiarla siempre que
lo crea oportuno.
– Debe obtener un fichero en texto plano con la
política, modificarla y aplicarla nuevamente.
Experto en Administración y Seguridad de Sistemas Informáticos
28. Práctica
• Inicialización
[twadmin –m P politica]
tripwire –m –i
• Integridad
tripwire –m c
tripwire –m u –r
/var/lib/tripwire/report/*
• Actualización fichero datos
tripwire –m –i
• Actualización políticas
twadmin –m P politica
Experto en Administración y Seguridad de Sistemas Informáticos
29. Patrocina:
Organiza:
Enseñanzas Propias
Universidad de Almería
Escuela Politécnica Superior
Universidad de Almería
Experto en Administración y Seguridad de Sistemas Informáticos