.png)
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:
- 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
- wazuh(u ossec) para monitorear el
audit.log
archivo 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.key
archivo le enviará una alerta por correo electrónico.