GNU/Linux >> Tutoriales Linux >  >> Linux

Reglas de auditoría para monitorear los comandos Copiar, mover, eliminar y matar en Linux

Auditoría del sistema con auditd

La auditoría del sistema es una tarea muy importante que debe ser parte de cada servidor. Nos permite auditar detalles minuciosos relacionados con lo que sucede exactamente dentro del sistema. auditd es un componente de espacio de usuario para el sistema de auditoría de Linux. Esto significa que los usuarios del sistema podrán ejecutar auditd para configurar reglas y alertas para la funcionalidad de auditoría con el sistema Linux.

Una de las mejores cosas de auditd es que está estrechamente integrado con el kernel, por lo que nos da el poder de monitorear casi todo lo que queremos, de verdad. Para permitir que los usuarios vean lo que está pasando, auditd puede registrar todos los eventos relacionados con la auditoría en un disco y podemos usar varias herramientas como ausearch o aureport para revisar los archivos de registro.

De forma predeterminada, no hay reglas configuradas. Necesitamos escribir nuestras reglas en /etc/audit/audit.rules archivo de configuración que se leerá y se aplicarán las acciones de auditoría correspondientes.

Instalando Auditd

Ahora que entendemos un poco de qué se trata auditd, sigamos adelante y trabajemos con auditd con el caso de uso anterior:

1. Instale los paquetes auditd. Los paquetes auditd son parte de la instalación predeterminada de los sistemas CentOS 7. Podemos verificarlo con el siguiente comando:

# rpm -qa | grep audit
audit-libs-2.6.5-3.el7_3.1.x86_64
audit-2.6.5-3.el7_3.1.x86_64
audit-libs-python-2.6.5-3.el7_3.1.x86_64

2. Si el paquete no es parte de nuestro sistema, podemos continuar e instalarlo:

# yum install audit

3. Asegúrese de que el demonio de auditoría se esté ejecutando. Usaremos el siguiente comando:

# systemctl status auditd
 auditd.service - Security Auditing Service
    Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled;
 vendor preset: enabled)
    Active: active (running) since Wed 2018-10-24 04:33:48 UTC; 4min
 21s ago
    Docs: man:auditd(8)
          https://people.redhat.com/sgrubb/audit/
    Process: 425 ExecStartPost=/sbin/augenrules --load (code=exited,
  status=0/SUCCESS)
 Main PID: 424 (auditd)
     CGroup: /system.slice/auditd.service
            └─424 /sbin/auditd -n

Dado que tenemos un demonio de auditoría en funcionamiento, veamos cómo podemos usar auditd para lograr los 4 casos de uso.

Reglas de auditoría para copiar, mover, eliminar y eliminar comandos

1. Realice una copia de seguridad del archivo de configuración existente (reglas de auditoría):

# cp /etc/audit/audit.rules /etc/audit/audit.rules.bkp

2. Edite el archivo /etc/audit/audit.rules y agregue las siguientes reglas para que sea persistente:

# vi /etc/audit/audit.rules
# Audit Copy, Move, Delete & Create file commands
-a exit,always -F arch=b64 -S execve -F path=/bin/cp -k Copy
-a exit,always -F arch=b64 -S execve -F path=/bin/mv -k Move_Rename
-a exit,always -F arch=b64 -S execve -F path=/bin/rm -k Delete
-a exit,always -F arch=b64 -S execve -F path=/bin/vi -k Create_Edit_View_File

# Audit shutdown & Reboot command
-a exit,always -F arch=b64 -S execve -F path=/sbin/reboot -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/init -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/poweroff -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/shutdown -k Reboot

# Audit mount unmount commands
-a exit,always -F arch=b64 -S execve -F path=/bin/mount -k mount_device
-a exit,always -F arch=b64 -S execve -F path=/bin/umount -k unmount_device

# Kill Process
-a exit,always -F arch=b64 -S kill -k Kill_Process

3. Reinicie el servicio auditd para aplicar los cambios.

# service auditd restart

4. Enumere las reglas agregadas para verificar que sean correctas:

# auditctl -l
Nota :bash (y muchos otros shells) tiene un comando "matar" incorporado que en realidad no ejecuta /usr/bin/kill. Entonces, si en su lugar se ejecuta el comando incorporado, comm=bash es correcto. No hay forma de obligar al sistema a usar el programa externo /usr/bin/kill. comm=matar no va a suceder en todos los casos, porque los shells pueden llamar a la llamada al sistema directamente sin ejecutar el programa externo llamado "matar"


Linux
  1. 10 comandos de Linux para diagnóstico de red

  2. Comandos de Linux:trabajos, bg y fg

  3. ¿Cómo agregar una barra de progreso para copiar y mover comandos en Linux?

  4. Comandos de administración de archivos de Linux para crear, copiar, mover y eliminar archivos

  5. Cómo instalar y configurar Monit en Linux para el monitoreo de procesos

Copia avanzada:agregue la barra de progreso a los comandos cp y mv en Linux

50 reglas de IPtables útiles y simples para el administrador de Linux

50 comandos dmidecode simples y útiles para Linux

Los 40 comandos útiles del servidor Linux para principiantes y profesionales

40 comandos git útiles para administradores y desarrolladores de Linux

Los 17 mejores comandos de solución de problemas y redes de Linux para principiantes