.png)
Ich möchte jedes Mal eine sofortige Benachrichtigung erhalten, wenn der Inhalt meines privaten Schlüssels unter Debian Linux gelesen wird. Wie kann ich das tun?
Ich habe einen privaten RSA-Schlüssel auf der Festplatte meines Servers am folgenden Ort gespeichert:
/etc/ssl/private/super-secret.key
Es ist nur für Root lesbar, aber ich möchte trotzdem ein Protokoll jedes Mal haben, wenn dieser geheime Schlüssel von einer Person oder einem Prozess gelesen wurde, und den Kontext dieses Lesevorgangs für Warn- und Prüfzwecke speichern.
Wie kann ich eine sofortige Benachrichtigung einrichten, wenn eine sehr vertrauliche Datei von der Festplatte gelesen wurde?
Antwort1
Dies kann mit den folgenden beiden Tools erreicht werden:
- geprüftum die Datei zu überwachen (oder vielmehr, um dem Kernel zu sagen, dass er den Inode der Datei überwachen soll) und alle Lesevorgänge zu protokollieren in
/var/log/audit/audit.log
- wazuh(oder ossec), um die
audit.log
Datei zu überwachen und bei Bedarf eine E-Mail-Benachrichtigung zu senden
Voraussetzungen
Installieren Sie zuerst auditd.
sudo apt-get install auditd
Nächste,Wazuh installieren. Wenn Sie dies noch nie zuvor getan haben und es sich nur um einen Server handelt, möchten Sie wahrscheinlich die"All-in-One"-Installation.
sudo apt-get install wazuh-manager
auditd-Konfiguration
Um die Datei zu überwachen /etc/ssl/private/super-secret.key
, fügen Sie eine Auditd-Regel hinzu, um -w
die Datei auf Lesezugriff zu überwachen ( -p r
) – und geben Sie dieser Regel einen beliebigen „Schlüssel“-Namen ( -k audit-wazuh-private-key-r
), damit wir sie später abgleichen können.
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
Starten Sie auditd neu, um die Regeln anzuwenden
systemctl restart auditd
auditctl -l
Wazuh-Konfiguration
Fügen Sie die folgenden Zeilen zu Ihrer Wazuh-Hauptkonfigurationsdatei ( /var/ossec/etc/ossec.conf
) hinzu, um die Überwachung der Auditd-Protokolldatei zu aktivieren
<localfile>
<location>/var/log/audit/audit.log</location>
<log_format>audit</log_format>
</localfile>
Fügen Sie den „Schlüssel“-Namen unserer obigen Regel zur Liste der von wazuh überwachten Auditd-Schlüssel hinzu
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
Fügen Sie die folgenden Zeilen zu Ihrer lokalen Wazuh-Regeldatei ( /var/ossec/etc/rules/local_rules.xml
) hinzu, um Wazuh mitzuteilen, dass dieses Ereignis ein Ereignis der Stufe 12 = „sehr wichtiges Ereignis“ ist und dass es eine E-Mail-Benachrichtigung auslösen soll
<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>
Starten Sie Wazuh neu.
systemctl restart wazuh
Jetzt wird Ihnen bei jedem Versuch, den Inhalt der /etc/ssl/private/super-secret.key
Datei zu lesen, eine E-Mail-Benachrichtigung gesendet.