Как войти в AUDITD из приложения? - PullRequest
0 голосов
/ 31 августа 2018

Мы рассматриваем возможность перехода от rsyslog к Auditd, но я не нашел, как приложение должно выводить сообщение журнала в Auditd. (С rsyslog это хорошо документировано).

1 Ответ

0 голосов
/ 31 августа 2018

Ваше понимание audd как замены для регистрации неверно. Auditd не является прямой заменой для ведения журнала типа syslog / rsyslog. Скорее он создает журналы на основе системных обращений к ядру.

Затем Справочная страница объясняет это:

auditd - это компонент пользовательского пространства системы аудита Linux. Это отвечает за запись записей аудита на диск. Просмотр логов выполняется с помощью утилит ausearch или aureport. Конфигурирование Система аудита или правила загрузки выполняются с помощью утилиты Auditctl. Во время запуска правила в /etc/audit/audit.rules читаются auditctl и загружается в ядро. Альтернативно, есть также augenrules Программа, которая читает правила, расположенные в /etc/audit/rules.d/ и компилирует их в файл audit.rules. Сам демон аудита имеет некоторые параметры конфигурации, которые администратор может пожелать настроить. Они находятся в файле auditd.conf.

Существует также хороший обзор Audit, озаглавленный: Краткое введение в Auditd :

.... Поскольку он работает на уровне ядра, это дает нам возможность подключиться к любой системной операции, которую мы хотим. У нас есть возможность записывать журнал каждый раз, когда происходит конкретный системный вызов, будь то unlink или getpid. Мы можем контролировать доступ к любому файлу, всему сетевому трафику, на самом деле все, что мы хотим. Уровень детализации довольно феноменален, и, поскольку он работает на таком низком уровне, детализация информации невероятно полезна.

Я бы также направил вас к этому уроку под названием: Как использовать систему аудита Linux на CentOS 7 . Вот пример типов журналирования, которые вы получите от audd.

type=SYSCALL msg=audit(1434371271.277:135496): arch=c000003e syscall=2 success=yes exit=3 a0=7fff0054e929 a1=0 a2=1fffffffffff0000 a3=7fff0054c390 items=1 ppid=6265 pid=6266 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=113 comm="cat" exe="/usr/bin/cat" key="sshconfigchange"

type=CWD msg=audit(1434371271.277:135496):  cwd="/home/sammy"

type=PATH msg=audit(1434371271.277:135496): item=0 name="/etc/ssh/sshd_config" inode=392210 dev=fd:01 mode=0100600 ouid=0 ogid=0 rdev=00:00 objtype=NORMAL

Это все из одного события, но 3 сообщения были зарегистрированы с помощью auditd. Вы можете определить, какие события связаны с полями msg=audit(...).

Я покажу вам этот пример, потому что этот тип журналирования ведется из ядра, а не из самих приложений.

ПРИМЕЧАНИЕ: Истинная цель Auditd - создать журнал аудита взаимодействий с ядром Linux, тогда как syslog / rsyslog действительно предназначен для ведения журнала общего назначения из самих приложений.

...