Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Monografías / Control, Administración e Integridad de Logs - Tripwire

Control, Administración e Integridad de Logs - Tripwire

 ***** (3 opiniones)
CopyLeft Monografía de Juan Carlos Torres y Richard García Rondón - 11 de Agosto de 2005
10. Tripwire
Es una herramienta diseñada especialmente para Sistemas Operacionales UNIX. Una versión muy versátil viene con varias distribuciones comerciales de Linux.

Dicha herramienta por medio de funciones se encarga de generar un Hash único por cada archivo que se le desee proteger su integridad. De esta forma cuando se presente un cambio en un log por parte del atacante, este cambio será notificado al administrador (enviándose un mail automático) ya que no reflejará el hash original.

Para realizar dichas detecciones Tripwire también se basa en:

-         CRC-32: Es un checksum de redundancia cíclica con una firma de 32 bits que pude generar  aproximadamente 4 billones de valores.  Estos valores se generan a través de una tabla que maneja CRC de 256 posiciones. Cada posición tiene un valor que se genera a través de un polinomio que conoce previamente el algoritmo. [10].

-         MD5 : Es un algoritmo que por medio de operaciones matemáticas crea un checksum de 128 bits. Para lograr este cometido el mensaje debe de ser congruente a 448 módulo 512, si la longitud del archivo no cumple con estas características, el algoritmo procede a extender el archivo hasta que la condición se cumpla. [11].

-         SHA: Este algoritmo produce un “message digest” como salida el cual es irrepetible. Esto se logra a través de operaciones lógicas como and , or , xor,  etc. Para empezar a procesar el archivo el algoritmo lee en bloques de 512 bits y a cada uno de estos bloques les aplica las operaciones predefinidas en el algoritmo (en total son 79 funciones lógicas aplicables). Después parte el bloque de 512  en palabras de 32 bits a las cuales son aplicadas las funciones produciendo salidas de 32 bits también. [12].

-         HAVAL (firma digital de 128 bits) Este algoritmo se encarga de producir un Hash de 128 bits, procesando en bloques de 1024 bits de la entrada (en este caso son los archivos de logs). En la actualidad es uno de los algoritmos más seguros. [13].

Es evidente que para realizar este procedimiento es necesario montar antes una base de datos inicial, en un tiempo X, la cual va a ser comparada con la situación de los archivos a la hora del chequeo y  así poder detectar los cambios hechos en los archivos.

El diagrama de flujo para la utilización de la herramienta consta más detalladamente de los siguientes pasos:



1- Instalación de Tripwire y personalización del archivo de políticas

-         Instalación del paquete RPM

-         Personalizar configuración en: /etc/tripwite/twcfg.txt

-         Personalizar políticas en: /etc/tripwite/twcpol.txt

-         Ejecutar script de configuración: /etc/tripwite/twinstall.sh

2- Inicialización de la base de datos Tripwire

3- Ejecución de la configuración de integridad Tripwire.

-         Compara la nueva base de datos Tripwire con los archivos actuales de logs para verificar anomalías.

4- Examinar el archivo del informe Tripwire.  Este informe de violaciones se puede ver en /usr/sbintwprint

5- Tomar medidas de seguridad en caso de presentarse violaciones por un intruso.

6- En caso en que se presenten cambios validos a los logs es importante actualizar la base de datos, y así no continúen presentándose las notificaciones de error.

7- En caso en que se presenten fallas o se desee realizar cambios en las políticas de verificación se debe actualizar dicho archivo de políticas que se encuentra en /etc/tripwite/twcpol.txt

A continuación se desarrollará un poco más en detalle la instalación, configuración y uso de Tripwire como herramienta para el control de archivos de Logs.



Instalación de Tripwire:

Para la instalación de los RPM de Tripwire desde los CD´s  de Red Hat 9.x, primero se debe de montar el cd de la siguiente forma:

mount /mnt/cdrom

Verificar que el RPM se encuentre en el CD

    ls /mnt/cdrom/RedHat/RPMS/ |   grep tripwire

Luego que se encuentre el CD correcto en el cual se encuentra el paquete a instalar, se procede con el siguiente comando:

rpm -Uvh /mnt/cdrom/RedHat/RPMS/tripwire*[[http://www.wikilearning.com/editor/editor/fckeditor.html?InstanceName=TA&Toolbar=Default#_ftn18 [18]]].rpm

Luego de esto el paquete estará instalado en la estación.

Configuración de las  políticas,  paths y elección de passwords para la base de datos.

Dependiendo del las rutas que el administrador desee brindar a sus archivos se debe configurar  nuevamente el archivo de configuraciones que se encuentra en:

/etc/tripwire/twcfg.txt (Ver Anexo 2)

Aún cuando no es requerido que se  edite este archivo de configuración de ejemplo de Tripwire, se recomienda hacerlo. Las siguientes son una lista de variables configurables de usuario requeridas en el archivo /etc/tripwire/twcfg.txt.

POLFILE: Path del archivo donde se encuentran las políticas de seguridad

Por Defecto: /etc/tripwire/tw.pol

DBFILE: Path del archivo de la base de datos. Por Defecto:

/var/lib/tripwire/$(HOSTNAME).twd

REPORTFILE: Ruta del archivo que va a contener los reportes de violaciones.

Por  Defecto:

/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr

SITEKEYFILE: Path donde se encuentra la llave del sitio (Una de las cuales se utiliza para acceder a la base de datos base de datos).

Por Defecto: /etc/tripwire/site.key

LOCALKEYFILE: Path donde se encuentra la llave local.

Por Defecto:

/etc/tripwire/$(HOSTNAME)-local.key

El resto de variables son opcionales.

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 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.

EMAILREPORTLEVEL: Especifica el nivel de detalles para los informes enviados a través de email.

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 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

Después de este paso se procede a alterar el archivo de las políticas de acuerdo a la seguridad que el administrador desee brindar a los archivos. Aún cuando no es requerido, se debe modificar este archivo de políticas para darse cuenta de las aplicaciones específicas, de los archivos y de los directorios de su sistema.

La modificación del archivo de políticas aumenta la utilidad de los informes de Tripwire minimizando los avisos falsos para los archivos y programas que no está usando y añade funcionalidad como por ejemplo las notificaciones en forma de e-mail.

El archivo de las políticas se encuentra en:

/etc/tripwire/twpol.txt (Ver anexo 3).

La última acción a realizar en este paso es correr el script de configuración ejecutando el siguiente comando:

/etc/tripwire/twinstall.sh

En el momento en que se ejecuta este comando el sistema procede a pedir las claves que se van a utilizar para firmar los archivos, dichas claves no deben ser menores a 8 ni mayores a 1023 caracteres.

Inicialización de la base de datos.

Al inicializar la base de datos se crea un conjunto de objetos basado en las reglas del archivo de políticas. Esta base de datos sirve de base para los controles de integridad. Esto se logra por medio del comando:

/usr/sbin/tripwire --init

Ejecución de un control de integridad.

Por defecto, el RPM Tripwire añade un script de la shell llamado tripwire-check al directorio /etc/cron.daily/[[http://www.wikilearning.com/editor/editor/fckeditor.html?InstanceName=TA&Toolbar=Default#_ftn19 [19]]]. Este script ejecuta automáticamente un control de integridad una vez al día.

Sin embargo, se puede ejecutar un control de integridad de Tripwire en cualquier momento mediante el comando:

/etc/cron.daily/tripwire-check

Si se desea ver un reporte generado por Tripwire se puede ejecutar el comando twprint para imprimir informes

Tripwire se ve similar a lo siguiente:

/usr/sbin/twprint -m r --twrfile /var/lib/tripwire/report
/<name>.twr

La opción -m r en el comando direcciona twprint a que descifre el informe Tripwire. La opción --twrfile le ordena a twprint a que use un informe Tripwire específico.  Un ejemplo de un reporte sin violaciones de seguridad se encuentra en el Anexo 4.

Actualización de la base de datos

Si se ejecuta un control de integridad y Tripwire encuentra violaciones, primero habrá que determinar si las violaciones detectadas son realmente brechas en la seguridad o el producto de modificaciones autorizadas. Para actualizar la base de datos Tripwire para que esos cambios no vuelvan a aparecer en los informes como violaciones, se  debe especificar el informe que desea usar para actualizar su base de datos. Tripwire primero cruza referencias entre un archivo de informe y la base de datos y luego le incorpora las violaciones válidas desde el informe.

Para actualizar la base de datos Tripwire, se debe utilizar el siguiente comando,  donde
name es el nombre del archivo de informe:

/usr/sbin/tripwire --update --twrfile /var/lib/tripwire/report
/<name>.twr

Actualización del archivo de políticas Tripwire


Si se desea modificar los registros de los archivos de la base de datos Tripwire, cambiar la configuración del email, o modificar la severidad con la que ciertas violaciones son reportadas, se necesita requiere modificar el archivo de políticas de Tripwire.

Un cambio común a este archivo de política es convertir en comentario cualquier archivo que no existe en el sistema para que no genere un mensaje de error de “file not found” en los informes Tripwire. Luego, se debe generar un nuevo archivo firmado /etc/tripwire/tw.pol y generar y actualizar el archivo de base de datos basado en esta información de políticas. Para lograr esto se utiliza el siguiente comando:

/usr/sbin/twadmin --create-polfile -S site.key /etc/tripwire/twpol.txt

Se pedirá la contraseña de sitio. Luego de esto el archivo twpol.txt estará encriptado y firmado.

Es importante actualizar la base de datos de Tripwire después de haber creado un archivo /etc/tripwire/tw.pol. La forma más confiable para llevarlo a cabo es borrando su base de datos Tripwire actual y creando una base de datos nueva con el archivo de política nuevo.

Luego se debe crear de nuevo la base de datos con el comando siguiente:

/usr/sbin/tripwire --init
Autor y licencia de 'Control, Administración e Integridad de Logs - Tripwire'
Juan Carlos Torres y Richard García Rondón Extraído de: http://www.zonagratuita.com CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Control, Administración e Integridad de Logs - Tripwire'

Justo después de escuchar a los grandes gurús en el Expomanagement´2004 de Madrid, me he... Más »
Documento con fundamentos teóricos de control de accesos en redes telemáticas; se tratan temas como... Más »
En las épocas actuales en donde priman los aspectos económicos de la globalización, de la... Más »
Para efectos de este trabajo necesariamente debemos entender por prevención de Riesgos, Seguridad Industrial... Más »
En entidades sin ánimo de lucro, las decisiones tomadas por los directivos se encaminan a... Más »
¿Estás seguro de que deseas eliminar este capítulo?