.png)
Я хотел бы получать немедленное оповещение каждый раз, когда что-то считывает содержимое моего закрытого ключа в Debian Linux. Как это сделать?
У меня есть закрытый ключ RSA, хранящийся на диске моего сервера в следующем месте:
/etc/ssl/private/super-secret.key
Его может читать только пользователь root, но я все равно хочу вести журнал каждого раза, когда этот секретный ключ считывается пользователем или процессом, и сохранять контекст этого события чтения для целей оповещения и аудита.
Как настроить немедленное оповещение при чтении с диска очень конфиденциального файла?
решение1
Этого можно добиться с помощью следующих двух инструментов:
- аудитддля мониторинга файла (точнее, для указания ядру отслеживать индексный дескриптор файла) и регистрировать все события чтения в
/var/log/audit/audit.log
- вазух(или 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
вам будет отправлено уведомление по электронной почте.