события аудита linux не перешли на go-аудит

Мы пытаемся использовать инструмент аут-аута slack для сбора / обработки событий аудита Linux. Дополнительная информация: https://github.com/slackhq/go-audit

Проблема заключается в том, что аудит linux правильно подбирает события, но они не подхватываются аутом go или не корректно выводятся go-audit.

Пример файла конфигурации go-audit был изменен, чтобы иметь единственное правило для сбора информации о доступе к файлу /opt/secret.txt

rules: - -a exit,always -F path=/opt/secret.txt -F perm=wra -k test_changes 

Полный конфигурационный файл go-audit находится здесь: https://gist.github.com/tom-chaoscube/fc2f14b448650ea4018620bbbf2c3345

После запуска go-audit мы видим, что это правило успешно развернуто:

 # auditctl -l -w /opt/secret.txt -p rwa -k test_changes 

Сделана попытка доступа к файлу, и в журнале журнала аудита можно увидеть запись аудита:

 $ cat secret.txt # cat /var/log/audit/audit.log type=SYSCALL msg=audit(1485357520.702:868): arch=c000003e syscall=2 success=yes exit=3 a0=7ffee46830dc a1=0 a2=1fffffffffff0000 a3=7ffee4681670 items=1 ppid=5199 pid=5469 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts5 ses=7 comm="cat" exe="/usr/bin/cat" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="test_changes" type=CWD msg=audit(1485357520.702:868): cwd="/opt" type=PATH msg=audit(1485357520.702:868): item=0 name="secret.txt" inode=26244598 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=unconfined_u:object_r:usr_t:s0 objtype=NORMAL 

Однако при просмотре вывода go-audit никаких событий не записывается. Мы попробовали оба с настройкой go-audit для вывода в stdout, а также в файл.

Запуск strace в go-audit, похоже, что он открывает сокет NETLINK, который, как я полагаю, является подключением к auditd. Также можно видеть, что некоторые данные принимаются по сокету в соответствии с периодическими записями в audit.log, однако, похоже, что некоторые данные не получаются специально, когда записи аудита доступа к файлам записываются аудитом. (Не обязательно сказать это категорически).

 socket(PF_NETLINK, SOCK_RAW, 9) = 4 bind(4, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 setsockopt(4, SOL_SOCKET, SO_RCVBUF, [16384], 4) = 0 getsockopt(4, SOL_SOCKET, SO_RCVBUF, [32768], [4]) = 0 ... ... ... ... write(1, "Started processing events\n", 26) = 26 recvfrom(4, "L\0\0\0\2\0\0\0\1\0\0\0\261\25\0\0\357\377\377\3778\0\0\0\351\3\5\0\1\0\0\0"..., 8970, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 76 futex(0xa0f1d0, FUTEX_WAIT, 0, NULL) = 0 

Любые предложения относительно:

  • Почему go-audit не подбирает события?
  • Дальнейшие шаги, которые можно предпринять, чтобы исследовать, действительно ли go-audit получает информацию о событиях через сокет. (Т.е. шаги, чтобы установить, что они не теряются на стороне аудита)

Редактирование: я с тех пор пробовал это локально на Ubunutu 16.10 (а также на оригинальной машине Centos 7) и получил те же результаты.

Приветствия.

One Solution collect form web for “события аудита linux не перешли на go-аудит”

Решено.

Ответ на эту проблему заключается в том, что auditd все еще работает в системах.

Простое прекращение аудита и перезапуск go-audit позволили получить данные аудита:

 sudo service stop auditd 
  • Защищать журнал сеанса от записи другим пользователем
  • Коренные команды истории
  • Чтобы быть совместимым с SOX, мне нужно записывать журналы на годы. Нужна помощь с участниками
  • Включение настраиваемого журнала аудита в RedHat
  • Как исключить сообщения auditd из dmesg и регистрировать их только в /var/log/audit.log
  • Есть ли инструмент для просмотра событий аудита, когда они происходят, не записывая их на диск?
  • Как отслеживать вызовы, вызываемые пользователем во FreeBSD с помощью аудита?
  • Есть ли способ узнать, когда / когда был вызван исполняемый файл?
  • Как регистрировать все системные вызовы, сделанные программой, скажем, хром, используя аудит linux?
  • Как регистрировать все системные вызовы, выполненные процессом, и все его потомки с помощью auditd
  • есть ли инструмент аудита для отслеживания инсталляций пакетов и версии ядра
  • Interesting Posts

    Как скомпилировать программы на Linux-системах, когда у меня нет привилегий sudo для установки зависимостей dev

    Обрезка полей из файла

    Скопировать файлы и дерево каталогов для файлов в указанном диапазоне

    Установка родовых логотипов и универсальных выпусков на Fedora

    Как отправить AT-команды модему в Linux?

    Почему * не * разбирать `ls`?

    NginX + PHP-FPM отображает пустые страницы php

    64-битный Linux или 32-разрядный Linux с ядром PAE заставляет сервер x сбой при загрузке

    Сбросить список файлов без их структуры каталогов

    список выбираемых единиц для журнала

    В чем заключается подробное объяснение уязвимости Dirty COW (CVE-2016-5195)?

    Как загрузить часть видео с помощью команды youtube-dl? (2)

    обрабатывать большое количество журналов с помощью cron или logrotate

    Увеличение числового рисунка в файле

    Правильные расположения ресурсов для программного обеспечения в / usr / local (данные var, такие как журнал)

    Linux и Unix - лучшая ОС в мире.