Вопрос или проблема
Я использую
/etc/audit/rules.d/*.rules
файлы для генерации
/etc/audit/audit.rules
в котором 120 строк.
Но если я выполню
auditctl -l
, я получу только 14 строк в результате.
Почему это происходит?
Вам нужно выполнить augenrules
.
Это исполняемый скрипт, который проходит по правилам в rules.d и компилирует их в один корректный файл.
По этой причине вам также следует убедиться, что все файлы в rules.d заканчиваются пустой строкой. В противном случае результирующий файл будет иметь некорректные правила.
Возможно, у вас нет этого скрипта, если вы используете более старую версию auditd. Но на самом деле это всего лишь скрипт, и вы можете взять его из более новой версии auditd и разместить где-то в путях. Хотя я бы этого не рекомендовал, лучше, если это так, обновить auditd до более новой версии.
Ответ или решение
Причины отображения неполного количества правил в auditctl -l
Если вы обнаружили, что команда auditctl -l
выводит только 14 правил, тогда как файл /etc/audit/audit.rules
содержит 120 строк, это может быть вызвано несколькими причинами. Давайте рассмотрим их более подробно.
1. Необходимость использования augenrules
Чтобы скомпилировать ваши правила из директив, находящихся в папке /etc/audit/rules.d/*.rules
, необходимо запустить утилиту augenrules
. Этот скрипт собирает все правила из указанных файлов и формирует единый, корректный файл правил, который будет затем использован системой.
2. Правильное форматирование файлов правил
Убедитесь, что все файлы в директории /etc/audit/rules.d/
заканчиваются новой строкой. Если в любом из файлов отсутствует символ новой строки, это может привести к тому, что некоторые правила не будут корректно интерпретированы и не попадут в итоговый файл правил. Это одно из самых распространенных проблем, с которыми сталкиваются администраторы.
3. Проверка и обновление версии auditd
Если ваша версия auditd
устарела, возможно, что у вас отсутствует скрипт augenrules
. В таком случае вы можете либо загрузить новую версию auditd
, содержащую данный скрипт, либо, если вы хотите, можете взять скрипт из более новой версии и поместить его в доступное место в системе. Тем не менее, рекомендуется обновить вашу систему до последней версии для обеспечения лучшей совместимости и получения актуальных функций.
4. Постоянство правил
После того как вы сгенерировали файл правил с помощью augenrules
, убедитесь, что вы перезапустили демон auditd
. Это необходимо, чтобы новые правила вступили в силу. Вы можете сделать это с помощью команды:
sudo systemctl restart auditd
Это действие позволит загрузить обновленные правила из /etc/audit/audit.rules
и отобразить их при выполнении auditctl -l
.
Заключение
Если вы следуете вышеуказанным рекомендациям и исправите возможные недочеты, указанные в процессе, вы сможете наблюдать все ваши правила через auditctl -l
. Важно поддерживать систему в актуальном состоянии и следить за правильностью формата ваших конфигурационных файлов, чтобы минимизировать риск возникновения подобных проблем в будущем.