Уведомление по электронной почте при чтении закрытых ключей с диска (honeypot, auditd)

Уведомление по электронной почте при чтении закрытых ключей с диска (honeypot, auditd)

Я хотел бы получать немедленное оповещение каждый раз, когда что-то считывает содержимое моего закрытого ключа в Debian Linux. Как это сделать?

У меня есть закрытый ключ RSA, хранящийся на диске моего сервера в следующем месте:

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

Его может читать только пользователь root, но я все равно хочу вести журнал каждого раза, когда этот секретный ключ считывается пользователем или процессом, и сохранять контекст этого события чтения для целей оповещения и аудита.

Как настроить немедленное оповещение при чтении с диска очень конфиденциального файла?

решение1

Этого можно добиться с помощью следующих двух инструментов:

  1. аудитддля мониторинга файла (точнее, для указания ядру отслеживать индексный дескриптор файла) и регистрировать все события чтения в/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.

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

Связанный контент