当私钥从磁盘读取时发送电子邮件警报(蜜罐、审计)

当私钥从磁盘读取时发送电子邮件警报(蜜罐、审计)

我希望每次有人在 Debian Linux 上读取我的私钥内容时立即收到警报。我该怎么做?

我的服务器磁盘上存储了一个 RSA 私钥,位于以下位置:

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

它只能由 root 读取,但我仍然希望记录每次此密钥被人员或进程读取的日志,并存储该读取事件的上下文,以用于警报和审计目的

当从磁盘读取非常敏感的文件时,如何设置立即警报?

答案1

这可以通过使用以下两个工具来实现:

  1. 审计监视文件(更确切地说,告诉内核监视文件的 inode)并将所有读取事件记录到/var/log/audit/audit.log
  2. 瓦祖赫(或 ossec)监控audit.log文件并在适当的时候发送电子邮件警报

先决条件

首先,安装 auditd。

sudo apt-get install auditd

下一个,安装 wazuh。如果你以前从未这样做过,而且只有一台服务器,你可能想要一体化安装

sudo apt-get install wazuh-manager

审计配置

为了监视文件/etc/ssl/private/super-secret.key,请添加一个 auditd 规则来监视 ( -w) 文件的读取访问权限 ( -p r) - 并为该规则指定一个任意的“键”名称 ( -k audit-wazuh-private-key-r),以便我们稍后可以对其进行匹配。

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

重新启动 auditd 以应用规则

systemctl restart auditd
auditctl -l

wazuh 配置

将以下几行添加到您的 wazuh 主配置文件(/var/ossec/etc/ossec.conf)以启用对 auditd 日志文件的监控

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

将我们上述规则的“键”名称添加到 wazuh 监控的 auditd 键列表中

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

将以下几行添加到您的 wazuh 本地规则文件 ( /var/ossec/etc/rules/local_rules.xml) 中,以告诉 wazuh 此事件是级别 12 =“高度重要事件”,并且它应该触发电子邮件警报

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

重启 wazuh

systemctl restart wazuh

现在,任何尝试读取/etc/ssl/private/super-secret.key文件内容的行为都会向您发送电子邮件警报。

也可以看看

  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

相关内容