Начиная с CoreOs 766, подсистема аудита частично интегрирован:
Подсистема аудита была включена в ядре, а в образ добавлен auditctl. По умолчанию большинство событий аудита игнорируются. Правила аудита можно изменить в /etc/audit/rules.d. Обратите внимание, что auditd не включен, а journald вместо этого отвечает за регистрацию событий, хотя это лучший механизм. В отличие от систем, основанных на auditd, ядро не паникует, если journald по какой-то причине не сможет записать событие.
Я пробовал следующее, чтобы проверять системные вызовы в выпусках CoreO 899 и alpha 1000.
# starting a new periodic process:
$ while true; do echo "coreos ..." > /tmp/a.txt && sleep 5s; done &
[1] 4509
# get its pid and add a new audit rule:
$ sudo auditctl -a always,exit -F arch=b64 -S read,write,close,dup2,wait4 -F pid=4509
# wait 5 minutes and check if any audit related event was logged into by the journald:
$ journalctl | grep audit | wc
0 0 0
Почему я не вижу никаких событий, зарегистрированных в журнале?
В cn.ko
загружается правильно и в соответствии с auditctl -l
вывод правило установлено успешно. Хотя похоже journald
не получает сообщения от интерфейса netlink.
Я выполнил следующие шаги, чтобы включить отладку, но это тоже не дало никаких подсказок:
mkdir -p /etc/systemd/system/systemd-journald.service.d/
vim /etc/systemd/system/systemd-journald.service.d/10-debug.conf
и заполнил его следующим содержанием:
[Service]
Environment=SYSTEMD_LOG_LEVEL=debug
И перезапустите службу systemd-journald:
systemctl daemon-reload
systemctl restart systemd-journald
dmesg | grep systemd-journald
CoreOS поставляется с набором правил по умолчанию и предназначен для настройки через файловую систему в /etc/audit/rules.d/
. Поскольку вы пытаетесь играть с ним в интерактивном режиме, вам нужно сначала очистить правила аудита, поскольку есть правило /etc/audit/rules.d/99-default.rules
это заставляет замолчать все остальные правила.
Просто беги audit -D
чтобы очистить правила, и тогда ваши интерактивно добавленные правила должны начать работать.
FWIW, правило от 99-default.rules
что вызывает проблемы -a exclude,always -F msgtype>0
.