Alerta por correo electrónico cuando se leen claves privadas del disco (honeypot, auditd)

Alerta por correo electrónico cuando se leen claves privadas del disco (honeypot, auditd)

Me gustaría recibir una alerta inmediata cada vez que algo lea el contenido de mi clave privada en Debian Linux. ¿Cómo puedo hacer eso?

Tengo una clave privada RSA almacenada en el disco de mi servidor en la siguiente ubicación:

/etc/ssl/private/super-secret.key

Solo es legible por root, pero aún así quiero tener un registro de cada vez que una persona o un proceso haya leído esta clave secreta, y almacenar el contexto de ese evento de lectura para fines de alerta y auditoría.

¿Cómo puedo configurar alertas inmediatas cuando se ha leído un archivo muy confidencial del disco?

Respuesta1

Esto se puede lograr utilizando las dos herramientas siguientes:

  1. auditadomonitorear el archivo (más bien, decirle al kernel que monitoree el inodo del archivo) y registrar todos los eventos de lectura en/var/log/audit/audit.log
  2. wazuh(u ossec) para monitorear el audit.logarchivo y enviar una alerta por correo electrónico cuando sea apropiado

Requisitos previos

Primero, instale auditd.

sudo apt-get install auditd

Próximo,instalar wazuh. Si nunca has hecho esto antes y es sólo un servidor, probablemente quieras elinstalación "todo en uno".

sudo apt-get install wazuh-manager

configuración auditada

Para monitorear el archivo /etc/ssl/private/super-secret.key, agregue una regla auditada para monitorear ( -w) el archivo para acceso de lectura ( -p r) - y asigne a esta regla un nombre de "clave" arbitrario ( -k audit-wazuh-private-key-r) para que podamos compararlo más adelante.

cat > /etc/audit/rules.d/watch_private_keys.rules <<'EOF'
# monitor reads of our private keys for wazuh
-w /etc/ssl/private/super-secret.key -p r -k audit-wazuh-private-key-r
EOF

Reiniciar auditd para aplicar las reglas

systemctl restart auditd
auditctl -l

configuración wazuh

Agregue las siguientes líneas a su archivo de configuración principal de wazuh ( /var/ossec/etc/ossec.conf) para habilitar el monitoreo del archivo de registro auditado

  <localfile>
    <location>/var/log/audit/audit.log</location>
    <log_format>audit</log_format>
  </localfile>

Agregue el nombre de "clave" de nuestra regla anterior a la lista de claves auditadas que wazuh monitorea

grep 'audit-wazuh-private-key-r:read' /var/ossec/etc/lists/audit-keys || echo 'audit-wazuh-private-key-r:read' >> /var/ossec/etc/lists/audit-keys

Agregue las siguientes líneas a su archivo de reglas locales de wazuh ( /var/ossec/etc/rules/local_rules.xml) para indicarle a wazuh que este evento es de nivel 12 = "evento de gran importancia" y que debería activar una alerta por correo electrónico.

        <rule id="100002" level="12">
                <if_sid>80700</if_sid>
                <match>audit-wazuh-private-key-r</match>
                <options>alert_by_email</options>
                <description>Audit: Watch - Private Key Read</description>
        </rule>

Reiniciar wazuh

systemctl restart wazuh

Ahora, cualquier intento de leer el contenido del /etc/ssl/private/super-secret.keyarchivo le enviará una alerta por correo electrónico.

Ver también

  1. https://wazuh.com/blog/monitoring-root-actions-on-linux-using-auditd-and-wazuh/
  2. https://documentation.wazuh.com/4.0/user-manual/capabilities/system-calls-monitoring/audit-configuration.html

información relacionada