Как включить транспорт аудита журналов в systemd?
Я изучал журналирование в Linux, но я наткнулся на дорожный блок, который застрял в последние несколько дней. Моя цель - переслать журналы с двух Raspberry Pi 3 под управлением OpenSUSE Tumbleweed (aarch64) на мой ноутбук с Ubuntu 17.04. я использую rsyslog
чтобы достичь этого, который использует imjournal
в качестве источника, потому что я хочу хранить журналы в формате json со всеми дополнительными метаданными, предоставленными systemd-journal, и поиграть с ними позже.
Проблема, которую я пытаюсь решить, - это отсутствие _TRANSPORT=audit
на моей малиновой пи. Я перекомпилировал systemd
с audit
поддержка одного из моих мыслей Пи, который решит проблему, но это не так. Я также добавил audit=1
в командной строке ядра на пи и перезагрузил их. Мой ноутбук поддерживает audit
транспорт.
Вот вывод journalctl --version
, sudo journalctl --field _TRANSPORT
, а также cat /proc/cmdline
на моих различных системах.
ноутбук:
$ journalctl --version
systemd 232
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP
+LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS
+KMOD +IDN
$ sudo journalctl --field _TRANSPORT
syslog
stdout
journal
audit
driver
kernel
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.10.0-33-generic.efi.signed
root=UUID=cf4dc10b-511a-4369-ad5c-637833244929 ro apparmor=1
security=apparmor
rpi1 (перенастроен systemd
с audit
служба поддержки):
$ journalctl --version
systemd 234
+PAM +AUDIT +SELINUX -IMA +APPARMOR -SMACK +SYSVINIT +UTMP
+LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID -ELFUTILS
+KMOD -IDN2 -IDN default-hierarchy=hybrid
$ sudo journalctl --field _TRANSPORT
stdout
kernel
journal
syslog
driver
$ cat /proc/cmdline
BOOT_IMAGE=/boot/Image-4.4.83-5-default root=UUID=30bbe534-b90f-4de6-
a0e6-1e2b60088461 root=/dev/disk/by-id/mmc-ACLCD_0xd02f42e5-part2
disk=/dev/disk/by-id/mmc-ACLCD_0xd02f42e5 resume=/dev/disk/by-id/mmc-
ACLCD_0xd02f42e5-part3 quiet splash=silent plymouth.enable=0
swiotlb=512,force cma=384M console=ttyS0,115200n8 console=tty quiet
audit=1
rpi2 (с оригиналом systemd
настроил дистрибутив):
$ journalctl --version
systemd 234
+PAM -AUDIT +SELINUX -IMA +APPARMOR -SMACK +SYSVINIT +UTMP
+LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL+XZ +LZ4 +SECCOMP +BLKID -ELFUTILS
+KMOD -IDN2 -IDN default-hierarchy=hybrid
$ sudo journalctl --field _TRANSPORT
stdout
kernel
journal
syslog
driver
cat /proc/cmdline
BOOT_IMAGE=/boot/Image-4.4.83-5-default root=UUID=30bbe534-b90f-4de6-
a0e6-1e2b60088461 root=/dev/disk/by-id/mmc-ACLCD_0xcaf643ee-part2
disk=/dev/disk/by-id/mmc-ACLCD_0xcaf643ee resume=/dev/disk/by-id/mmc-
ACLCD_0xcaf643ee-part3 quiet splash=silent plymouth.enable=0
swiotlb=512,force cma=384M console=ttyS0,115200n8 console=tty quiet
audit=1
Я не уверен, что мне нужно сделать, чтобы транспорт для аудита был доступен для systemd-journald
на моем RPI. у меня есть auditd.service
а также systemd-journald-audit.socket
включен и активен на всех моих системах. Если вам нужна другая информация, просто дайте мне знать, спасибо.
1 ответ
Я бы проверил вот эти вещи:
Он настроен на прослушивание сокета с помощью
AF_NETLINK
протокол. Еслиsystemctl status systemd-journald-audit.socket
не активен, то не использует его.Гарантировать
systemd-journald-audit.socket
включен вSockets=systemd-journald.socket systemd-journald-dev-log.socket systemd-journald-audit.socket
в определении.Если отсутствует в вашем стандартном
systemd-journald.service
, создайте переопределение в/etc/systemd/system/systemd-journald.service.d/override.conf
:# systemctl edit systemd-journald.service [Service] Sockets= Sockets=systemd-journald.socket systemd-journald-dev-log.socket systemd-journald-audit.socket # systemctl restart systemd-journald.service
audit=0
не был установлен как параметр ядра. Проверить сcat /proc/cmdline
.
Убедитесь, что аудит теперь находится в вашем наборе типов полей._TRANSPORT
# journalctl --field _TRANSPORT
stdout
kernel
syslog
journal
audit
driver