GNU/Linux >> Tutoriales Linux >  >> Cent OS

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

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 usarlo para monitorear los archivos de su sistema, incluidos los archivos del sitio web, de modo que cuando haya un cambio de archivo no deseado, Tripwire verificará su sistema y, si está configurado correctamente, puede alertarlo por correo electrónico.

En este tutorial, le mostraremos cómo monitorear y detectar cualquier cambio en los archivos de su sistema usando Tripwire en el sistema CentOS 7. Le mostraremos cómo instalar y configurar Tripwire en CentOS 7, cómo generar archivos clave de Tripwire, configurar y agregar políticas de Tripwire, verificar el sistema y habilitar las notificaciones por correo electrónico para la configuración de Tripwire y cron.

Lo que haremos

  1. Instala Tripwire en CentOS 7
  2. Configurar política Tripwire para CentOS 7
  3. Verificación de la configuración de Tripwire
  4. Agregar nueva regla a la política Tripwire
  5. Configurar la notificación por correo electrónico de Tripwire y Cron

Requisitos

  • Sistema CentOS 7
  • Privilegios de raíz

Paso 1:instalar Tripwire en CentOS 7

El primer paso que debemos hacer es instalar Tripwire en el sistema. De forma predeterminada, Tripwire está disponible en el repositorio de CentOS 7.

Inicie sesión en su servidor y actualice todos los paquetes.

ssh [email protected]
sudo yum update -y

Ahora instala Tripwire usando yum.

yum -y install tripwire

Después de la instalación, necesitamos generar nuevos archivos clave.

Tripwire funciona con 2 archivos clave.

  1. site-key:se utiliza para asegurar la configuración de Tripwire. Por lo tanto, cualquier cambio en la configuración de Tripwire no se aplicará hasta que volvamos a generar la configuración, y se nos solicitará la frase de contraseña 'site-key' para eso.
  2. local-key:se usa para verificar el binario tripwire. Cuando queramos actualizar la base de datos del sistema tripwire, debemos ejecutar el comando tripwire y se nos pedirá la frase de contraseña para 'local-key'.

Generemos nuevos archivos de claves tripwire (claves de sitio y locales) usando el siguiente comando.

sudo tripwire-setup-keyfiles

El comando generará dos archivos clave 'site-key' y 'local-key', y se le pedirá la frase de contraseña para cada uno de ellos.

Escriba su propia 'clave-sitio ' frase de contraseña y presione Entrar.

Escriba su propia 'clave-local ' frase de contraseña y presione Entrar nuevamente.

A continuación, firme la configuración del cable trampa usando la 'clave del sitio'.

Escriba su 'clave-sitio ' frase de contraseña.

Y ahora, para firmar la política de Tripwire, escriba su 'clave-local ' frase de contraseña.

Tripwire se instaló en CentOS 7, y la nueva configuración y claves de Tripwire se encuentran en el directorio '/etc/tripwire'.

Paso 2:configurar la política Tripwire para CentOS 7

Después de la instalación de Tripwire que discutimos en el primer paso, debemos inicializar la base de datos de Tripwire y asegurarnos de que no haya ningún error.

Inicialice la base de datos tripwire usando el siguiente comando tripwire.

sudo tripwire --init

Se le preguntará acerca de la frase de contraseña de la 'clave local' y es probable que reciba el mensaje de error 'no existe tal directorio' como se muestra a continuación.

Obtenemos el error porque el sistema no tiene un directorio y archivos que ya están definidos en la configuración de Tripwire. Para solucionar este error, necesitamos editar la configuración de tripwire 'twpol.txt' y volver a firmar la configuración de tripwire.

Ahora genere el error de registro desde Tripwire usando el siguiente comando.

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

Todos los directorios y archivos que no existen en el sistema CentOS 7 se enumeran en el archivo 'mo-directory.txt'

cat no-directory.txt

Edite la configuración de tripwire 'twpol.txt' utilizando el siguiente script bash:ejecute este script en su terminal.

for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done

Después de todo esto, necesitamos regenerar y volver a firmar la configuración de Tripwire usando el comando twadmin como se muestra a continuación.

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

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

Vuelva a inicializar la base de datos de Tripwire y asegúrese de que no recibe ningún error.

sudo tripwire --init

Reinicie la base de datos de Tripwire sin ningún error.

Paso 3:Verificación de la configuración y verificación del sistema Tripwire

Para verificar la configuración del cable trampa, podemos ejecutar el comando de verificación del sistema como se muestra a continuación.

sudo tripwire --check

Y debería obtener un resultado similar al siguiente.

Esto significa que no hay errores ni violaciones del sistema en nuestro sistema.

Ahora intentaremos agregar un nuevo archivo en el directorio de inicio raíz y verificar nuevamente usando Tripwire.

Vaya al directorio de inicio raíz y cree un nuevo archivo 'hakase-labs.txt'.

cd ~/
touch hakase-labs.txt

Ahora verifique el sistema nuevamente usando el comando tripwire.

sudo tripwire --check

Y obtendrá el resultado de la nueva infracción en el sistema con gravedad 100 como se muestra a continuación.

En esta etapa, Tripwire está instalado y configurado para el sistema CentOS 7.

Paso 4:Agregar nueva regla a la política Tripwire

En este paso, le mostraremos cómo agregar una nueva regla a la configuración de la política tripwire 'twpol.txt'.

Para realizar este trabajo, necesitamos definir el nombre de la regla, la gravedad, el directorio para monitorear y el tipo de archivos. En este paso, crearemos una nueva regla llamada 'Datos de WordPress' para nuestra instalación de WordPress en el directorio '/var/www/', con gravedad 'HIGH/SIG_HI', y todos los archivos en ese directorio son críticos (tanto su propiedad así como el código fuente no se puede cambiar).

Vaya al directorio de configuración de tripwire '/etc/tripwire' y edite el archivo de configuración 'twpol.txt' usando vim.

cd /etc/tripwire/
vim twpol.txt

Vaya al final de la línea y pegue allí la siguiente regla de WordPress.

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

Guardar y salir.

Regenere y vuelva a firmar la configuración usando el comando twadmin como se muestra a continuación.

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

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

Ahora tenemos que volver a generar la base de datos de Tripwire.

sudo tripwire --init

Escriba la frase de contraseña 'local-key'.

Se ha agregado y aplicado un nuevo conjunto de reglas a la configuración de políticas de Tripwire.

Verifique su sistema usando el siguiente comando tripwire.

sudo tripwire --check

Y debería obtener el resultado sin errores ni violaciones.

Ahora ve al directorio '/var/www/' y crea un nuevo archivo dentro.

cd /var/www/
touch hakase-labs.php

Vuelva a realizar la comprobación del sistema utilizando Tripwire.

sudo tripwire --check

Y obtendrá el resultado que dice violación del sistema en el directorio '/var/www/' con nivel de seguridad Alto 100.

Se agregó y aplicó una nueva regla a la configuración de la Política Tripwire.

Paso 5:configurar la notificación por correo electrónico Tripwire y Cron

En este paso, configuraremos las notificaciones para la política específica del conjunto de reglas de Tripwire y configuraremos un cronjob para la verificación automática del sistema. Enviaremos un informe por cualquier infracción de la regla 'Datos de WordPress' a la dirección de correo electrónico '[email protected]'.

Para la notificación por correo electrónico, tripwire proporciona una función 'emailto' en la configuración. Y de forma predeterminada, tripwire utiliza Postfix o Sendmail para enviar el informe por correo electrónico.

Antes de configurar las notificaciones por correo electrónico, pruebe la función de notificación por cable utilizando el siguiente comando.

sudo tripwire --test --email [email protected]

Verifique su correo electrónico y debería recibir el informe de 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 la nueva línea 'emailto' dentro de la regla 'Wordpress Data' como se muestra a continuación.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI),
  emailto = [email protected]
)
{
        /var/www        -> $(SEC_CRIT);
}

Guardar y salir.

Vuelva a generar y firme la configuración con el comando twadmin.

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

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

Y regenera la base de datos de Tripwire.

sudo tripwire --init

Escriba su frase de contraseña de 'clave local' de tripwire.

Se ha completado la configuración de la notificación por correo electrónico de Tripwire.

Ahora haga algunas pruebas creando un nuevo archivo nuevamente en el directorio '/var/www/'.

cd /var/www/
touch hakase.txt

Verifique su sistema nuevamente usando el siguiente comando.

sudo tripwire --check --email-report

Nota:

  • --informe de correo electrónico: Enviar informe del sistema a la dirección de correo electrónico definida en cada regla.

Verifique su correo electrónico y debería obtener el resultado como se muestra a continuación en su correo electrónico.

La notificación por correo electrónico para Tripwire se ha habilitado y aplicado.

A continuación, habilitaremos la comprobación automática del sistema Tripwire mediante la configuración de cron. Para esto, cree un nuevo script cron bajo el usuario raíz usando el comando crontab a continuación.

sudo crontab -e -u root

Pegue la siguiente configuración de cron.

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

Guardar y salir.

Nota:

  • - La secuencia de comandos cron realizará comprobaciones diarias del sistema Tripwire.

Ahora reinicie el servicio crond en CentOS 7.

systemctl restart crond

Ahora recibirá diariamente una notificación del informe Tripwire en su correo electrónico.

Tripwire ha sido instalado y configurado para el sistema CentOS 7.


Cent OS
  1. Monitoreo de servidores con Icinga 2 e Icingaweb 2 en CentOS 7

  2. Uso de ATA a través de Ethernet (AoE) en CentOS 6.3 (iniciador y destino)

  3. Instale la herramienta Fsniper (monitoreo de directorio) en CentOS, RHEL y Fedora

  4. ¿Centos 4.8 y Glibc 2.5?

  5. tcpdump:rota los archivos de captura usando -G, -W y -C

Monitoreo de servidores con Munin y Monit en CentOS 7.2

Cómo instalar y administrar paquetes en CentOS usando RPM

Instalación y uso de Perf en Ubuntu y CentOS

Cómo instalar Webmin en CentOS 8 y Rocky Linux 8

Cómo ver y monitorear archivos de registro en CentOS 8

Cómo instalar Seafile para sincronizar y compartir archivos en CentOS 8