Monitorear archivos en Tripwire

Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo utilizar Tripwire para monitorear la integridad de archivos y detectar cambios no autorizados en el sistema. Practicará la instalación de Tripwire en Debian, la configuración de su base de datos y la configuración del monitoreo de archivos a través de ejercicios prácticos de línea de comandos.

El laboratorio cubre operaciones clave, como la generación de claves de cifrado, la creación de instantáneas de referencia y el análisis de informes de integridad. A través de estas tareas prácticas, desarrollará las habilidades esenciales para mantener la seguridad del sistema mediante un monitoreo efectivo de archivos.


Skills Graph

Instalar Tripwire

En este paso, instalará Tripwire, una poderosa herramienta de monitoreo de integridad de archivos de código abierto. Tripwire ayuda a los administradores de sistemas a detectar cambios no autorizados en archivos importantes del sistema creando una "huella digital" digital de cada archivo. Esta huella digital incluye atributos como el tamaño del archivo, los permisos y las sumas de comprobación.

Cuando Tripwire se ejecute más adelante, comparará el estado actual de los archivos con estas huellas digitales almacenadas. Si se detectan cambios (incluso por usuarios autorizados), Tripwire genera alertas. Esto es especialmente útil para el monitoreo de seguridad y la detección de posibles compromisos del sistema.

Dado que estamos utilizando una máquina virtual (VM) LabEx basada en Debian, utilizaremos el administrador de paquetes apt para la instalación. El proceso consta de los siguientes pasos claros:

  1. Primero, necesitamos actualizar el índice local de paquetes. Esto garantiza que instalaremos la versión más reciente disponible de Tripwire:

    sudo apt update
  2. Ahora instale Tripwire con este comando. La bandera -y confirma automáticamente la instalación:

    sudo apt install -y tripwire
  3. Durante la instalación, verá mensajes de configuración. Seleccione "Sí" para ambas preguntas:

    • La primera pregunta pregunta si desea configurar Tripwire ahora.
    • La segunda se refiere a la generación de claves de cifrado (utilizadas para proteger la base de datos de Tripwire).
  4. Después de que se complete la instalación, verifiquemos que todo funcione comprobando la versión instalada:

    tripwire --version

Debería ver una salida que muestre el número de versión, como en este ejemplo:

Tripwire(R) 2.4.3.7

Esta confirmación de la versión significa que Tripwire está instalado correctamente. En los siguientes pasos, lo configuraremos para que comience a monitorear los archivos de su sistema. El proceso de instalación ha configurado automáticamente los componentes necesarios, incluyendo los archivos de política y las claves de cifrado que utilizaremos más adelante.

Inicializar la base de datos

En este paso, inicializará la base de datos de Tripwire, que sirve como referencia para el monitoreo de la integridad de archivos. La base de datos almacena sumas de comprobación criptográficas y atributos de los archivos que desea monitorear. Piense en ello como tomar una instantánea del estado actual de sus archivos, que Tripwire comparará más adelante para detectar cualquier cambio.

Antes de comenzar, es importante entender que la inicialización de la base de datos requiere el archivo de política que creamos anteriormente. Este archivo de política le dice a Tripwire qué archivos y directorios monitorear y qué atributos verificar.

Siga estos pasos para inicializar la base de datos:

  1. Primero, necesitamos generar el archivo de política real a partir de la versión de texto que editamos. Ejecute este comando:

    sudo twadmin --create-polfile /etc/tripwire/twpol.txt

    Se le pedirá que ingrese la contraseña local que estableció durante la instalación. Este paso convierte la política legible por humanos en un formato que Tripwire puede utilizar.

  2. Ahora crearemos la instantánea inicial de la base de datos con este comando:

    sudo tripwire --init

    Esto puede tomar un momento mientras Tripwire escanea todos los archivos especificados en la política. Está calculando sumas de comprobación y registrando atributos de archivos para todo lo que queremos monitorear.

  3. Durante la inicialización, es posible que vea advertencias como:

    ######## Warning: File system error.
    #### Filename: /proc/XXXX/XXXX
    #### No such file or directory
    #### Continuing...

    Estas advertencias sobre archivos /proc son normales y se pueden ignorar. El directorio /proc contiene información dinámica del sistema que cambia con frecuencia, por lo que Tripwire omite estos archivos de forma predeterminada.

  4. Verifiquemos que la base de datos se haya creado correctamente comprobando su ubicación:

    sudo ls -l /var/lib/tripwire/$(hostname).twd

    Debería ver la lista del archivo de la base de datos con su tamaño y marca de tiempo. Esto confirma que Tripwire ha creado con éxito su referencia para la comparación.

La base de datos ahora está lista para monitorear archivos en los siguientes pasos. Recuerde, esta base de datos inicial representa el estado "conocido como bueno" de sus archivos, por lo que es crucial crearla cuando su sistema está en un estado limpio y seguro.

Agregar archivos para monitorear

En este paso, personalizará qué archivos monitorea Tripwire editando el archivo de política. Tripwire funciona comparando los archivos actuales con una instantánea conocida y correcta de la base de datos, por lo que debemos decirle explícitamente qué archivos seguir. Por defecto, Tripwire monitorea muchos archivos críticos del sistema, pero en este laboratorio nos centraremos en agregar archivos en el directorio de su proyecto, ya que estos son los archivos con los que trabajará con mayor frecuencia.

Siga estos pasos para agregar el monitoreo de archivos específicos:

  1. Primero, haga una copia de seguridad del archivo de política original. Esta es una medida de seguridad en caso de que cometa algún error mientras edita:

    sudo cp /etc/tripwire/twpol.txt /etc/tripwire/twpol.txt.bak
  2. Abra el archivo de política para editarlo utilizando nano, un editor de texto sencillo. Usamos sudo porque este es un archivo de configuración del sistema:

    sudo nano /etc/tripwire/twpol.txt
  3. Desplácese hacia abajo hasta encontrar la sección que comienza con ( rulename = "User Binaries", (alrededor de la línea 200). Aquí es donde agregaremos nuestra nueva regla. El siguiente bloque define una nueva regla llamada "Lab Project Files" que monitoreará todo en el directorio /home/labex/project:

    (
      rulename = "Lab Project Files",
      severity = $(SIG_HI)
      {
        /home/labex/project - > $(SEC_BIN)
      }
    )
  4. Guarde el archivo presionando Ctrl+O (escribir Out), luego presione Enter para confirmar y salga de nano con Ctrl+X.

  5. Ahora necesitamos actualizar la política de Tripwire con sus cambios. El comando twadmin compila el archivo de política de texto en un formato binario que Tripwire puede utilizar:

    sudo twadmin -m P /etc/tripwire/twpol.txt

    Se le pedirá que ingrese su contraseña local, que es la contraseña que estableció durante la instalación de Tripwire.

  6. Finalmente, necesitamos actualizar la base de datos para incluir sus nuevos archivos. Esto crea una nueva instantánea de referencia con la que se compararán las futuras comprobaciones de integridad:

    sudo tripwire --update --database /var/lib/tripwire/$(hostname).twd

Ahora Tripwire monitoreará todos los archivos en su directorio ~/project en busca de cualquier cambio. Esto incluye modificaciones de archivos, eliminaciones o cambios de permisos; cualquier cosa que difiera de la instantánea actual de la base de datos se reportará.

Comprobar la integridad de archivos

En este paso, realizará una comprobación de integridad para verificar si algún archivo monitoreado ha sido modificado desde que se creó la base de datos. Esta es la funcionalidad central de Tripwire que ayuda a detectar cambios no autorizados. Piense en ello como un guardia de seguridad que comprueba constantemente si se han alterado archivos importantes sin permiso.

Antes de comenzar, entendamos qué sucede durante una comprobación de integridad:

  1. Tripwire escanea todos los archivos configurados para monitorear.
  2. Compara el estado actual de cada archivo con la instantánea original almacenada en su base de datos.
  3. Cualquier diferencia (adiciones, eliminaciones o modificaciones) se marca en el informe.

Siga estos pasos para comprobar la integridad de archivos:

  1. Primero, cree un archivo de prueba en el directorio de su proyecto que Tripwire monitoreará. Esto nos ayudará a ver cómo Tripwire detecta nuevos archivos:

    touch ~/project/test_file.txt
  2. Ahora ejecute el comando de comprobación de integridad. Se necesita sudo porque Tripwire requiere privilegios de root para acceder a todos los archivos del sistema:

    sudo tripwire --check
  3. El escaneo puede tomar unos momentos mientras Tripwire pasa por varias fases. Verá una salida similar a la siguiente:

    #### Phase 1: Reading configuration file
    #### Phase 2: Generating file list
    #### Phase 3: Creating file information database
    #### Phase 4: Searching for inconsistencies
    #### Phase 5: Generating report
  4. Tripwire generará un informe que muestra cualquier cambio detectado. Dado que acabamos de crear un nuevo archivo, debería ver una entrada como esta en la salida, lo que indica que Tripwire ha detectado el nuevo archivo:

    Added:
    "/home/labex/project/test_file.txt"
  5. Para ver el informe completo, necesitamos comprobar el archivo de informe más reciente almacenado en el directorio de informes de Tripwire. Este comando lista los informes ordenados por tiempo, mostrando primero el más reciente:

    sudo ls -lt /var/lib/tripwire/report/ | head -n 2

    Tome nota del nombre del archivo del informe más reciente de la salida (parecerá algo como labex-hostname-YYYYMMDD-HHMMSS.twr).

La comprobación de integridad se ha completado con éxito. Tripwire ha escaneado todos los archivos monitoreados y ha registrado cualquier cambio en su informe. En el siguiente paso, examinaremos el informe en detalle para entender cómo interpretar sus resultados.

Ver el informe de integridad

En este último paso, examinará el informe de Tripwire generado a partir de la comprobación de integridad. Este informe es esencialmente una comparación detallada entre los archivos actuales de su sistema y la base de datos de referencia que creó anteriormente. Comprender este informe es crucial porque muestra exactamente qué archivos se han agregado, eliminado o modificado desde su última comprobación.

Vamos a recorrer el proceso paso a paso:

  1. Primero, necesitamos localizar el archivo de informe más reciente. Tripwire almacena sus informes en un directorio específico con marcas de tiempo en el nombre del archivo:

    sudo ls -lt /var/lib/tripwire/report/ | head -n 2

    El comando ls -lt lista los archivos por tiempo de modificación (los más recientes primero), y head -n 2 muestra solo las dos primeras líneas (el encabezado y el archivo más reciente). Busque un nombre de archivo como your-hostname-YYYYMMDD-HHMMSS.twr.

  2. Ahora usaremos el visor de informes integrado de Tripwire para examinar el contenido. La opción --report-level 4 nos da la vista más detallada:

    sudo twprint --print-report --report-level 4 --twrfile /var/lib/tripwire/report/[REPORT_FILENAME]

    Recuerde reemplazar [REPORT_FILENAME] con el nombre de archivo real que encontró en el paso 1.

  3. El informe completo contiene varias secciones importantes que le ayudan a entender qué ha cambiado:

    • Archivos agregados: Estos son nuevos archivos que no estaban en su base de referencia original.
    • Archivos eliminados: Archivos que estaban en su base de referencia pero ahora faltan.
    • Archivos modificados: Archivos existentes cuyo contenido o atributos han cambiado.
    • Resumen de errores: Cualquier problema encontrado durante la comprobación.
  4. Si solo desea ver un resumen rápido de los cambios sin todos los detalles, puede filtrar el informe:

    sudo twprint --print-report --report-level 4 --twrfile /var/lib/tripwire/report/[REPORT_FILENAME] | grep -A 10 "Report Summary"

    El comando grep -A 10 muestra la línea "Report Summary" más las siguientes 10 líneas de contexto.

  5. Una salida de resumen típica se ve así:

    Report Summary:
    --------------------------------------------------------------------------
    Added objects:   1
    Removed objects: 0
    Modified objects: 0

    Esto le dice de un vistazo cuántos archivos se han agregado, eliminado o cambiado.

  6. Cuando termine de revisar el informe, puede salir presionando q si su terminal utiliza un paginador, o simplemente espere a que termine la salida.

Resumen

En este laboratorio, has aprendido a implementar la monitorización de la integridad de archivos utilizando Tripwire en un sistema Debian. El proceso incluyó la instalación de Tripwire, la configuración del entorno y la inicialización de la base de datos de referencia para establecer referencias de integridad de archivos.

Has explorado operaciones clave como la generación de archivos de política, el escaneo del sistema y la comprensión del mecanismo de detección de cambios de Tripwire. El laboratorio también abordó las advertencias esperadas durante la inicialización mientras se mantenía el enfoque en la construcción de un marco de monitorización efectivo.