Назад | Перейти на главную страницу

Как включить аудит системных вызовов в CoreOs?

Начиная с 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.