從磁碟讀取私鑰時發出電子郵件警報(蜜罐、auditd)

從磁碟讀取私鑰時發出電子郵件警報(蜜罐、auditd)

我希望每當有人在 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 主設定檔 ( /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>

重新啟動瓦祖

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/capability/system-calls-monitoring/audit-configuration.html

相關內容