Guía breve Tripwire. Diego Bravo Estrada



Documentos relacionados
Guía breve Tripwire V /01/2002. Diego Bravo Estrada

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD

PREGUNTAS FRECUENTES

Instrucciones de instalación de TrueCode

Acronis License Server. Guía del usuario

Toda base de datos relacional se basa en dos objetos

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Comisión Nacional de Bancos y Seguros

Internet como herramientas de comunicación: El correo electrónico

Tutorial: Primeros Pasos con Subversion

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

TUTORIAL PARA REDIMENSIONAR FOTOS

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Seminario de Informática

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Gestión de Oportunidades

Gestión de Retales WhitePaper Noviembre de 2009

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Notas para la instalación de un lector de tarjetas inteligentes.

CREACIÓN O MIGRACIÓN DEL CORREO POP A IMAP PARA MOZILLA THUNDERBIRD

Instalación del programa PSPP y obtención de una distribución de frecuencias.

COMPROBACIONES BÁSICAS PARA EL USO DE FIRMA EN EL RTC

Guía de instalación y manejo de la Ficha Docente CONEAU Incentivos

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Curso Internet Básico - Aularagon

WINDOWS : COPIAS DE SEGURIDAD

Curso de PHP con MySQL Gratis

Consultoría, Análisis, Desarrollo y Mantenimiento de Software. Guía de Usuario V2.1. Junio 2.004

Preguntas y respuestas sobre el cifrado de la información personal. La guía para aprender a cifrar tu información

Instalación del Admin CFDI

Haga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra

Guía de referencia para mytnt. mytnt. C.I.T Tecnología Aplicada al Cliente

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS

EDICIÓN Y FORMATO (II)

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16

GIT Dinahosting 3. Hola!

TUTORIAL: Cómo puedo instalar el Renault Media Nav Toolbox? TUTORIAL: Cómo puedo crear una "huella digital" del dispositivo en un dispositivo de

Correo Electrónico: Webmail: Horde 3.1.1

WINDOWS : TERMINAL SERVER

Servidor FTP LEECH FTP INDICE PRESENTACIÓN ACERCA DE CTRLWEB MAILING WORD AYUDA : Acceso a Panel de Control. 1.-Panel de control privado.

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Creación de imágenes. Pablo Sanz Mercado.

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE USUARIO AVMsorguar

Manual para la utilización de PrestaShop

Guía de uso del sistema CV-Online

GESTOR DE DESCARGAS. Índice de contenido

INSTALACIÓN DE MEDPRO

Internet Information Server

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

SMS Gestión. manual de uso

Procedimiento. Actualización de Kit de Conexión de Comercios Webpay versión 5.X a Canales Remotos Operaciones. Transbank S.A.

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Primer paso: Activar el control de las cuentas de usuario.

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

Selección de los puntos de montaje

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Archivo de correo con Microsoft Outlook contra Exchange Server

ICARO MANUAL DE LA EMPRESA

H O T E L W I N Configuración del motor de Reservas on line

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.

PLANTILLAS DE DOCUMENTOS EN WORD 2007

MANUAL MS OUTLOOK EXPRESS

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Herramienta Encuestas. MiAulario

Profesor: José Luis Di Biase

Guía Práctica para el Uso del Servicio de Software Zoho CRM

Manual de Instalación y uso de FTP

Operación Microsoft Access 97

Programa Una laptop por niño

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Cómo instalar el software de CRM Personas en un alojamiento web remoto

Utilidades de la base de datos

MANUAL DEL USUARIO: EDITOR E-COMMERCE

Estimado usuario. Tabla de Contenidos

Instalación y uso de Check 2000 Client Server con ZENworks 2

Estructuras de Datos y Algoritmos Tecnólogo en Informática

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.

TUTORIAL SOBRE EL MANEJO DE LA OFICINA VIRTUAL PARA LA REMISIÓN DE INFORMES DE DOCENCIA VIRTUAL VÍA ADMINISTRACIÓN ELECTRÓNICA

La ventana de Microsoft Excel

Manual para uso de cuentas de

Arsys Backup Online Manual de Usuario

Manual Usuario Wordpress. Índice

Manual de operación Tausend Monitor

PLANTILLAS EN MICROSOFT WORD

Guía migración de usuarios OPEN-XCHANGE

Uso de la red telefónica

Manual de instalación Actualizador masivo de Stocks y Precios

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

MANUAL DE INSTALACIÓN DEL COMPONENTE WEBSIGNER ACTIVEX. Versión 4.0

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

5. Composer: Publicar sus páginas en la web

Transcripción:

Diego Bravo Estrada 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ón3 Configuración de Tripwire..3 Configuración permanente de Tripwire 6 Eliminación de archivos de texto8 Script check_twpol.sh.9

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

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) ; 4

/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ñadir una llave de cierre (}) para mantener la sintaxis del archivo. A fin de ver los posibles errores con que nos podemos encontrar, sugiero al lector que añada un archivo inexistente a la lista: ################################################ # # 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) ; # ARCHIVO DE PRUEBA INEXISTENTE AÑADIDO. OBSERVE QUE ESTA # UBICADO ANTES DE LA LLAVE DE CIERRE /sbin/lechuga -> $(SEC_CRIT) ; } # AHORA AQUI TERMINA EL ARCHIVO Tenga cuidado de no insertar este archivo por debajo de la llave de cierre del grupo. Recuerde que más tarde deberá vérselas con el archivo original que contiene (en mi caso) 452 entradas. 5

Instalar el archivo de políticas Cuando el archivo de políticas contiene todo lo que pretendemos monitorear, es menester "instalarlo". En realidad Tripwire usa una versión compilada y encriptada de este archivo, que se almacena en /etc/tripwire/tw.pol. Para generarlo (y regenerarlo cuantas veces se necesite), usar: # twadmin -m P /etc/tripwire/twpol.txt Construir la base de datos Tripwire Una vez configurado e instalado el archivo de políticas, Tripwire necesita recolectar la información actual de los archivos que debe monitorear. Dicha información se almacena en una base de datos especial generada mediante el comando: # tripwire -m i 2> /tmp/mensajes Hemos redirigido parte de la salida de este comando al archivo /tmp/mensajes. Es muy probable que hayan archivos especificados en las políticas (twpol.txt) que no existen o están incorrectamente escritos (como lechuga.) Esto quedará registrado en /tmp/mensajes. Los errores deberán corregirse en twpol.txt, el cual se deberá reinstalar, para proceder a reconstruir la base de datos Tripwire. Este procedimiento se repetirá mientras subsistan errores en el archivo de políticas. Borre el archivo /tmp/mensajes cuando hayan desaparecido todos los errores. Verificación del filesystem Ahora que Tripwire está correctamente configurado con su base de datos, es el momento de verificar la integridad del filesystem. Esto se consigue con el comando: # tripwire -m c Este comando se usará cada vez que deseamos saber que nuestro sistema no ha sido alterado. Si por algún motivo algunos de los archivos monitoreados son modificados (por ejemplo, por una actualización en el software) entonces debemos reconstruir la base de datos como se vió en el paso anterior, a fin de que no aparezcan discrepancias con el estado actual del filesystem en las próximas verificaciones. Si deseamos dejar de monitorear ciertos archivos o iniciar el monitoreo de otros, entonces debemos configurar el archivo de políticas (twpol.txt) como se vió anteriormente, y reinstalarlo. Después, se volverá a generar la base de datos del filesystem. Este proceso lamentablemente puede ser muy tedioso cuando hay muchos archivos por monitorear. 6

Configuración permanente de Tripwire Automatización Ahora que Ud. ha probado la correcta ejecución de Tripwire, debemos programar su ejecución automática. Se aconseja una frecuencia diaria, aunque el administrador es libre de usar otro esquema. En RedHat 7.1, la ejecución diaria de tripwire se efectúa fácilmente creando un archivo en el directorio /etc/cron.daily (por ejemplo, /etc/cron.daily/tripwire con el siguiente contenido: /usr/sbin/tripwire -m c mail root@localhost Donde Ud. deberá modificar la dirección "root@localhost" por lo que más le convenga. No olvide asegurarse de que el servicio cron esté operativo. Asegúrese de que este archivo para cron sea ejecutable: # chmod 755 /etc/cron.daily/tripwire Notificación vía email Esta funcionalidad proporciona un control más flexible con respecto a los reportes vía email. Tripwire es capaz de notificar por email sin necesidad de que el administrador invoque a un cliente de correo como en el ejemplo anterior (en que invocamos a mail. Para esto, en el archivo de políticas debemos insertar la directiva: emailto = user@host.domain Esta directiva debe insertarse en la configuración de cada grupo de archivos que vamos a monitorear. Cuando alguno de estos archivos es modificado, Tripwire notifica al destinatario especificado. Por ejemplo, si queremos ser alertados cuando hubieren modificaciones de los archivos de administración del kernel, debemos modificar la sección correspondiente: # Kernel Administration Programs # # ( rulename = "Kernel Administration Programs", severity = $(SIG_HI) ) { /sbin/depmod -> $(SEC_CRIT) ; /sbin/adjtimex -> $(SEC_CRIT) ; /sbin/ctrlaltdel -> $(SEC_CRIT) ; /sbin/insmod -> $(SEC_CRIT) ; e insertar emailto: 7

# Kernel Administration Programs # # ( rulename = "Kernel Administration Programs", severity = $(SIG_HI), emailto = root@localhost ) { /sbin/depmod -> $(SEC_CRIT) ; /sbin/adjtimex -> $(SEC_CRIT) ; /sbin/ctrlaltdel -> $(SEC_CRIT) ; /sbin/insmod -> $(SEC_CRIT) ; Tripwire normalmente invoca para esto a sendmail. Si Ud. usa vi, puede insertar automáticamente la directiva emailto en todas las secciones del archivo con el siguiente comando "de última línea": :1,$s/severity =.*/&,emailto = root@localhost/ Asegúrese de respetar todos los espacios y los signos de puntuación. Finalmente, el archivo /etc/cron.daily/tripwire debe ser modificado del siguiente modo: /usr/sbin/tripwire -m c --email-report El archivo de configuración twcfg.txt contiene algunos parámetros adicionales para la configuración del sistema de notificación de email. Por ejemplo, es posible configurar si se deben enviar reportes aún si no han habido problemas (ver directiva MAILNOVIOLATIONS de twcfg.txt.) También se puede seleccionar el agente de mensajería (ver directiva MAILPROGRAM) a fin de no usar sendmail y generar una conexión directa SMTP hacia otro host. Consulte el manual de twconfig(4) y twpolicy(4) para más opciones y ejemplos. Eliminación de archivos de texto Tripwire guarda su configuración y la política del filesystem en dos archivos encriptados con la "clave del site". Estos son: /etc/tripwire/tw.cfg y /etc/tripwire/tw.pol, respectivamente. El primero se generó a partir de /etc/tripwire/twcfg.txt cuando se configuraron las claves, y el segundo ha sido regenerado cada vez que Ud. modificó su archivo de políticas /etc/tripwire/twpol.txt. Por seguridad, Ud. no debería mantenerlos en el sistema hasta que se vuelvan a necesitar, así que proceda a borrarlos: # rm /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt Cuando Ud. necesite hacer una modificación de la política, puede regenerar el archivo twpol.txt del siguiente modo: # twadmin -m p > /etc/tripwire/twpol.txt 8

Y el de configuración mediante: # twadmin -m f > /etc/tripwire/twcfg.txt Script check_twpol.sh Tal como se indicó, eventualmente Ud. deberá emplear el archivo twpol.txt que viene con tripwire, el cual contiene numerosas referencias a los archivos del sistema. Sin embargo, este archivo en casi todos los casos deberá personalizarse puesto que no todos los sistemas tienen instalados los mismos archivos. A fin de agilizar este proceso (que es tremendamente tedioso), confeccioné el siguiente script que genera una versión "corregida" del twpol.txt contrastándo el original contra lo que se encuentra en el sistema. Este script NO modifica el archivo twpol.txt, sino por el contrario, deja la "nueva versión" en /tmp/new.twpol.txt. Para ejecutarlo, simplemente escribir: # bash check_twpol.sh El script de preferencia deberá ser descargado y no copiado manualmente (debe estar disponible junto con este documento o en mi web site) a fin de evitar sutiles errores entre espacios y tabulados. De igual modo, ahí va: #!/bin/bash # # Generacion de version corregida de archivo de politicas twpol.txt # (C) 2002-4002 Diego (www.compulinux.com/diego) # # Por favor verifique estas variables: # Please cheack these veriables: # Original twpol.txt TWPOL=/etc/tripwire/twpol.txt # Donde buscar nuevos archivos # Where to search for new files SRC_DIR="/sbin /etc /etc/sysconfig /bin" # El twpol.txt generado # Generated twpol.txt RESULTADO=/tmp/new.twpol.txt ### END OF COMMENTS if [! -f $TWPOL ]; then echo "$TWPOL debe existir para poder empezar!" echo "$TWPOL must exist for running this thing!" exit fi echo "Quitando archivos inexistentes de twpol.txt" 9

echo "Cutting non-existent files from twpol.txt" while read L do # Cuidado: entre corchetes se escribe un espacio y un tab (3 lineas abajo) # Beware: between brackets there is a space and a tab (following 3 lines) if echo "$L" grep ^[ ]*/ > /dev/null ; then PX=$(echo "$L" sed s/^[ ]*\([^ ]*\).*/\1/ ) PY=$(echo "$L" sed s/^[ ]*\([^ ]*\)\(.*\)/\2/ ) if [ -e "$PX" ]; then echo "$PX $PY" else echo "#-- $PX $PY" echo -n. > /dev/tty # echo $PX > /dev/tty fi else echo "$L" fi done < $TWPOL > $RESULTADO echo echo "Insertando nuevos archivos en twpol.txt" echo "Inserting new files to twpol.txt" for DIR in $SRC_DIR do echo "#-- " echo "#-- " echo "#-- " echo "(" echo "rulename = \"$DIR\"," echo severity = $(SIG_HI) echo ")" echo "{" echo > /dev/tty echo "Procesando $DIR" > /dev/tty echo "Processing $DIR" > /dev/tty for F in $DIR/* do # Cuidado: entre corchetes se escribe un espacio y un tab (siguiente linea) # Beware: between brackets there is a space and a tab (next linea) if [ -f $F ] &&! grep "^[ ]*$F[ ]" $RESULTADO > /dev/null ; then echo " $F -> \$(SEC_CRIT) ;" echo -n "." > /dev/tty fi done echo "}" done >> $RESULTADO echo echo "El nuevo archivo twpol.txt se ha generado en $RESULTADO" echo "New twpol.txt file was generated as $RESULTADO" 10

Notas 1. http://www.tripwire.org 11

12