GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo monitorear y detectar archivos modificados usando Tripwire IDS en Ubuntu 16.04

Tripwire es un sistema de detección de intrusos (IDS) gratuito y de código abierto. Es una herramienta de seguridad para monitorear y alertar cambios de archivos en el sistema. Tripwire es un potente IDS que protege su sistema contra cambios no deseados. Puede monitorear los archivos de su sistema, incluidos los archivos del sitio web. Entonces, cuando haya un cambio de archivo no deseado en cualquiera de los archivos que se están monitoreando, tripwire verificará su sistema y lo alertará (si esa configuración está en su lugar).

En este tutorial, le mostraremos cómo instalar y configurar el IDS basado en host de Tripwire en Ubuntu 16.04. También le mostraremos cómo configurar tripwire para monitorear y detectar archivos modificados en el sistema.

Lo que haremos

  1. Instalar Tripwire
  2. Configurar la política Tripwire para el sistema Ubuntu
  3. Verificar la configuración de Tripwire
  4. Agregar un nuevo conjunto de reglas a la política de Tripwire
  5. Configurar notificación Tripwire y cron

Requisitos

  • Servidor Ubuntu 16.04
  • Privilegios de raíz

Paso 1:instalar Tripwire

El primer paso es instalar tripwire en el sistema. La herramienta está disponible en el repositorio oficial de Ubuntu:simplemente actualice su repositorio de Ubuntu e instale Tripwire usando los siguientes comandos.

sudo apt update
sudo apt install -y tripwire

Durante la instalación, se le preguntará acerca de la configuración SMTP de Postfix. Elija 'Sitio de Internet ' y haga clic en 'Aceptar ' para continuar con la instalación.

Para el nombre del sistema de correo, deje el predeterminado (como se muestra a continuación) y elija 'OK ' para continuar.

A continuación, se le preguntará acerca de la configuración de Tripwire.

Crear nueva 'clave-sitio ' para Tripwire:elija ' ' y presione Entrar para continuar.

Ahora para la 'local-key ', elija ' ' y presione Entrar nuevamente.

Para la opción Reconstruir configuración de Tripwire, elija ' '.

Lo mismo para la opción Reconstruir política Tripwire:elija ' '.

Ahora se le pedirá la 'clave del sitio ' frase de contraseña. Escriba una contraseña y elija 'OK '.

Repita la 'clave-sitio ' frase de contraseña.

Luego para la 'clave-local ' frase de contraseña, escriba una contraseña y seleccione 'OK '.

Repita la 'clave-local ' frase de contraseña.

Y ahora se completó la instalación de Tripwire en Ubuntu 16.04.

Paso 2:configurar la política Tripwire para el sistema Ubuntu

En este paso, configuraremos Tripwire para nuestro sistema Ubuntu. Toda la configuración relacionada con Tripwire se encuentra en el directorio '/etc/tripwire'.

Después de la instalación de Tripwire, necesitamos inicializar el sistema de base de datos. Ejecute el siguiente comando para ello.

sudo tripwire --init

Se le preguntará acerca de su frase de contraseña de clave local:escriba su frase de contraseña de clave local y presione Entrar.

Y es probable que obtenga el error 'No existe tal directorio ', como se muestra a continuación.

Para resolver este error, necesitamos editar el archivo de configuración de Tripwire y volver a generar la configuración.

Antes de editar la configuración de Tripwire, debemos verificar qué directorio no existe, algo que puede hacer con el siguiente comando.

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

Ahora puede ver todos los directorios y archivos que no existen de la siguiente manera.

cat no-directory.txt

A continuación, vaya al directorio de configuración de Tripwire y edite el archivo de configuración twpol.txt.

cd /etc/tripwire/
vim twpol.txt

En la regla 'Boot Scripts', comente la línea como se muestra a continuación.

(
  rulename = "Boot Scripts",
  severity = $(SIG_HI)
)
{
        /etc/init.d             -> $(SEC_BIN) ;
        #/etc/rc.boot           -> $(SEC_BIN) ;
        /etc/rcS.d              -> $(SEC_BIN) ;

En la regla 'Cambios de arranque del sistema', comente como se muestra a continuación.

(
  rulename = "System boot changes",
  severity = $(SIG_HI)
)
{
        #/var/lock               -> $(SEC_CONFIG) ;
        #/var/run                -> $(SEC_CONFIG) ; # daemon PIDs
        /var/log                -> $(SEC_CONFIG) ;

En la regla 'Archivos de configuración raíz', realice el siguiente cambio.

(
  rulename = "Root config files",
  severity = 100
)
{
        /root                           -> $(SEC_CRIT) ; # Catch all additions to /root
        #/root/mail                     -> $(SEC_CONFIG) ;
        #/root/Mail                     -> $(SEC_CONFIG) ;
        #/root/.xsession-errors         -> $(SEC_CONFIG) ;
        #/root/.xauth                   -> $(SEC_CONFIG) ;
        #/root/.tcshrc                  -> $(SEC_CONFIG) ;
        #/root/.sawfish                 -> $(SEC_CONFIG) ;
        #/root/.pinerc                  -> $(SEC_CONFIG) ;
        #/root/.mc                      -> $(SEC_CONFIG) ;
        #/root/.gnome_private           -> $(SEC_CONFIG) ;
        #/root/.gnome-desktop           -> $(SEC_CONFIG) ;
        #/root/.gnome                   -> $(SEC_CONFIG) ;
        #/root/.esd_auth                        -> $(SEC_CONFIG) ;
        #/root/.elm                     -> $(SEC_CONFIG) ;
        #/root/.cshrc                   -> $(SEC_CONFIG) ;
        /root/.bashrc                   -> $(SEC_CONFIG) ;
        #/root/.bash_profile            -> $(SEC_CONFIG) ;
        #/root/.bash_logout             -> $(SEC_CONFIG) ;
        /root/.bash_history             -> $(SEC_CONFIG) ;
        #/root/.amandahosts             -> $(SEC_CONFIG) ;
        #/root/.addressbook.lu          -> $(SEC_CONFIG) ;
        #/root/.addressbook             -> $(SEC_CONFIG) ;
        #/root/.Xresources              -> $(SEC_CONFIG) ;
        #/root/.Xauthority              -> $(SEC_CONFIG) -i ; # Changes Inode number on login
        #/root/.ICEauthority                -> $(SEC_CONFIG) ;

En la regla 'Información del kernel y del dispositivo', cambie la línea como se muestra a continuación.

(
  rulename = "Devices & Kernel information",
  severity = $(SIG_HI),
)
{
        /dev            -> $(Device) ;
        /dev/pts        -> $(Device);
        /dev/shm        -> $(Device);
        /dev/hugepages  -> $(Device);
        /dev/mqueue     -> $(Device);
        #/proc          -> $(Device) ;
        /proc/devices           -> $(Device) ;
        /proc/net               -> $(Device) ;
        /proc/tty               -> $(Device) ;
        /proc/cpuinfo           -> $(Device) ;
        /proc/modules           -> $(Device) ;
        /proc/mounts            -> $(Device) ;
        /proc/dma               -> $(Device) ;
        /proc/filesystems       -> $(Device) ;
        /proc/interrupts        -> $(Device) ;
        /proc/ioports           -> $(Device) ;
        /proc/scsi              -> $(Device) ;
        /proc/kcore             -> $(Device) ;
        /proc/self              -> $(Device) ;
        /proc/kmsg              -> $(Device) ;
        /proc/stat              -> $(Device) ;
        /proc/loadavg           -> $(Device) ;
        /proc/uptime            -> $(Device) ;
        /proc/locks             -> $(Device) ;
        /proc/meminfo           -> $(Device) ;
        /proc/misc              -> $(Device) ;
}

Eso es todo. Guarde los cambios y salga del editor.

Después de editar el archivo de configuración, implemente todos los cambios recreando el archivo de política encriptado usando el comando twadmin como se muestra a continuación.

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

Escriba la frase de contraseña 'site-key' y presione Entrar.

Con esto, se creará una nueva política Tripwire. Ahora, reinicialice la base de datos de Tripwire.

sudo tripwire --init

Escriba su frase de contraseña de clave local y asegúrese de que no obtenga ningún error esta vez.

La política Tripwire se ha configurado para el sistema Ubuntu

Paso 3:comprobar la integridad de los archivos del sistema

Se ha instalado Tripwire y la política de tripwire se ha actualizado y reiniciado. En este paso, revisaremos manualmente el sistema usando Tripwire.

Verifique todos los archivos del sistema usando el siguiente comando.

sudo tripwire --check

Y debería obtener 'Sin infracción' y 'Sin error' en el resultado/salida.

Luego, agregue un nuevo archivo en el directorio raíz y luego verifique el sistema usando Tripwire nuevamente.

cd ~/
touch hakase-labs.txt
sudo tripwire --check

Y en la salida, la adición de un archivo y la modificación del directorio en el que reside el archivo deberían aparecer como violaciones.

Vea el resultado a continuación.

Paso 4:agregar una nueva regla a Tripwire

En este paso, queremos agregar una nueva regla Tripwire a la configuración. Para crear una nueva política tripwire, debemos definir el nombre de la regla, la gravedad y el tipo de archivos. En este paso, intentaremos agregar una nueva regla llamada 'Datos de WordPress' con gravedad 'Alta/SIG_HI' y todos los archivos en ese directorio son críticos y no se pueden cambiar.

Vaya al directorio de configuración de Tripwire y edite el archivo de configuración 'twpol.txt'.

cd /etc/tripwire/
vim twpol.txt

Vaya al final de la línea y pegue el ejemplo de la regla Tripwire a continuación.

# Ruleset for Wordpress
(
  rulename = "Wordpress Ruleset",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

Guardar y salir.

Ahora regenere el archivo de configuración de Tripwire.

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

Escriba la frase de contraseña de su clave de sitio.

Y reinicie la base de datos de Tripwire.

sudo tripwire --init

Escriba su contraseña de clave local.

Si todas esas configuraciones están completas, podemos intentar crear un nuevo archivo o modificar el archivo en el directorio '/var/www/'.

Vaya al directorio '/var/www/', cree un nuevo archivo y modifique el archivo de índice.

cd /var/www/
touch hakase-labs.txt
echo "<h1> Hakase-labs Tutorial</h1>" > html/index.nginx-debian.html

Verifique el sistema usando el comando tripwire a continuación.

sudo tripwire --check

Y recibirá una notificación sobre violaciones del sistema con el nivel de seguridad 100 como se muestra a continuación.

Se ha agregado una nueva regla Tripwire.

Paso 5:configurar la notificación Tripwire y el cron

En este paso, configuraremos las notificaciones para la política específica del conjunto de reglas de Tripwire y configuraremos un cron para la verificación automática del sistema.

Para las notificaciones por correo electrónico, Tripwire proporciona una función 'emailto' en la configuración. Tripwire usa Postfix para las notificaciones por correo electrónico y se instala automáticamente durante la instalación de la herramienta.

Antes de configurar las notificaciones por correo electrónico, pruebe la notificación Tripwire con el siguiente comando.

tripwire --test --email [email protected]

Y asegúrese de tener un correo electrónico de su servidor, como se muestra a continuación.

Ahora vaya al directorio '/etc/tripwire' y edite la configuración 'twpol.txt'.

cd /etc/tripwire/
vim twpol.txt

Agregue una nueva línea dentro de la regla 'Datos de WordPress', como se muestra a continuación.

# Rules for Web-app
(
  rulename = "Wordpress Rule",
  severity = $(SIG_HI),
  emailto = [email protected]
)

Eso es todo. Guardar y salir.

A continuación, vuelva a generar la configuración y reinicie la base de datos de Tripwire.

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

Escriba la frase de contraseña de la clave del sitio para regenerar la configuración y la frase de contraseña de la clave local para reinicializar.

Ahora, vuelva a crear un nuevo archivo en el directorio '/var/www/', verifique el sistema manualmente usando Tripwire y envíe el informe por correo electrónico.

sudo tripwire --check --email-report

Y debería recibir un informe por correo electrónico en su bandeja de entrada.

Continuando, para la configuración de cron, solo necesitamos definir la hora a la que se ejecutará el comando tripwire. Configuraremos la verificación del sistema Tripwire diariamente.

Cree un nuevo cron usando el comando crontab a continuación.

sudo crontab -e -u root

Y pegue la configuración de cron a continuación.

0 0 * * * tripwire --check --email-report

Guarde y salga, y luego vuelva a cargar el cron.

systemctl restart cron

Ahora el sistema realizará comprobaciones todos los días y enviará una notificación por una infracción de la regla de 'Wordpress' a su correo electrónico.

El IDS de Tripwire se instaló y configuró en Ubuntu 16.04, y se monitorearon todos los archivos y directorios del sistema. Puede agregar su propio conjunto de reglas siguiendo las instrucciones del paso 4.


Ubuntu
  1. Cómo monitorear Nginx usando Netdata en Ubuntu 16.04

  2. Monitoreo y detección de archivos modificados usando Tripwire en CentOS 7

  3. Cómo monitorear los archivos de registro del servidor con Logwatch en Debian y Ubuntu

  4. Cómo instalar Stacer System Monitor en Ubuntu 18.04 LTS

  5. Monitoree los archivos de registro de Nginx usando ngxtop en Ubuntu 20.04

Cómo instalar y usar SSHGuard en Ubuntu 20.04

Cómo limpiar su sistema Ubuntu usando la herramienta Bleachbit

Cómo instalar Systemback en Ubuntu 18.04 y Ubuntu 19.10, 20.04

Uso de archivos y carpetas en la pantalla del escritorio en Ubuntu

Cómo monitorear el rendimiento de Apache usando mod_status en Ubuntu

Cómo monitorear el rendimiento de Ubuntu usando Netdata