Alerta por e-mail quando chaves privadas são lidas no disco (honeypot, auditd)

Alerta por e-mail quando chaves privadas são lidas no disco (honeypot, auditd)

Gostaria de receber um alerta imediato sempre que algo ler o conteúdo da minha chave privada no Debian Linux. Como eu posso fazer isso?

Tenho uma chave privada RSA armazenada no disco do meu servidor no seguinte local:

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

Só pode ser lido pelo root, mas ainda quero ter um registro de cada vez que essa chave secreta foi lida por uma pessoa ou processo e armazenar o contexto desse evento de leitura para fins de alerta e auditoria

Como posso configurar alertas imediatos quando um arquivo muito confidencial for lido no disco?

Responder1

Isso pode ser alcançado usando as duas ferramentas a seguir:

  1. auditadopara monitorar o arquivo (em vez disso, para dizer ao kernel para monitorar o inode do arquivo) e registrar todos os eventos de leitura em/var/log/audit/audit.log
  2. wazuh(ou ossec) para monitorar o audit.logarquivo e enviar um alerta por e-mail quando apropriado

Pré-requisitos

Primeiro, instale o auditd.

sudo apt-get install auditd

Próximo,instalar wazuh. Se você nunca fez isso antes e é apenas um servidor, provavelmente desejará oinstalação "tudo em um".

sudo apt-get install wazuh-manager

configuração auditada

Para monitorar o arquivo /etc/ssl/private/super-secret.key, adicione uma regra auditd para monitorar ( -w) o arquivo para acesso de leitura ( -p r) - e dê a essa regra um nome de "chave" arbitrário ( -k audit-wazuh-private-key-r) para que possamos compará-la mais tarde.

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

Reinicie o auditd para aplicar as regras

systemctl restart auditd
auditctl -l

configuração wazuh

Adicione as seguintes linhas ao seu arquivo de configuração principal do wazuh ( /var/ossec/etc/ossec.conf) para ativar o monitoramento do arquivo de log auditd

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

Adicione o nome da "chave" da nossa regra acima à lista de chaves auditadas que o wazuh monitora

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

Adicione as seguintes linhas ao seu arquivo de regras locais do wazuh ( /var/ossec/etc/rules/local_rules.xml) para informar ao wazuh que este evento é de nível 12 = "evento de alta importância" e que deve acionar um alerta por e-mail

        <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>

Reinicie o wazuh

systemctl restart wazuh

Agora, qualquer tentativa de ler o conteúdo do /etc/ssl/private/super-secret.keyarquivo enviará um alerta por e-mail.

Veja também

  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

informação relacionada