Bug 50858

Summary: Сервисы без правильного SYSLOG_IDENTIFIER (containers, images, policy)
Product: Sisyphus Reporter: Evgeny Shesteperov <alimektor>
Component: podsecAssignee: kaf <kaf>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: amakeenk, kaf, kaf
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Evgeny Shesteperov 2024-07-07 20:53:05 MSK
Версия

-   podsec-1.1.5-alt1

Дистрибутивы

-   ALT Server 10.2 (Sisyphus)

Шаги воспроизведения

Установить:

    # apt-get install -y podsec podsec-inotify jq

Запустить таймеры / сервисы:

    # systemctl enable --now podsec-inotify-check-containers.service podsec-inotify-check-images.timer podsec-inotify-check-policy.timer

Выполнить:

    # journalctl -o json-pretty -u podsec-inotify-check-containers.service | jq .SYSLOG_IDENTIFIER
    # journalctl -o json-pretty -u podsec-inotify-check-images.service | jq .SYSLOG_IDENTIFIER
    # journalctl -o json-pretty -u podsec-inotify-check-policy.service | jq .SYSLOG_IDENTIFIER

Ожидаемый результат: SYSLOG_IDENTIFIER указан как название сервиса
(кроме таймеров и работы самого SystemD)

Фактический результат: SYSLOG_IDENTIFIER указан как systemd, su, podman,
название сервиса отсутствует.
Comment 1 ALexey Kostarev 2024-07-11 13:56:05 MSK
Коллеги прошу совета как исправить эту ситуацию

В текущих пакетах юнит podsec-inotify-check-containers.service
https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=blob;f=podsec-inotify/services/podsec-inotify-check-containers.service;h=a5e06ac0414c79859579e4eb2f8c065d38af4261;hb=HEAD#l9

имеет в секции Service описание:
SyslogIdentifier=podsec-inotify-check-containers

Но тем не менее после запуске сервиса команда
# journalctl -o json-pretty -u podsec-inotify-check-containers.service | jq .SYSLOG_IDENTIFIER

не включает название сервиса в вывод:

"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
"systemd"
Comment 2 ALexey Kostarev 2024-07-11 22:52:37 MSK
Во все юниты добавлен 
SyslogIdentifier=
https://git.altlinux.org/tasks/352679/gears/100/git?p=git;a=commitdiff;h=0c71c79d1b195652c1e3d63b3237e2bb973f478c

В случаях, когда юнит выводит сообщение SYSLOG_IDENTIFIER принимает значение имени юнита

Во всех остальных случаях (старт/останов юнита, изменение пртвелегий, ...)
SYSLOG_IDENTIFIER может принимать другие соответствующие значения: 

systemd
su
...
Comment 3 Alexander Makeenkov 2024-07-17 12:01:04 MSK
podsec-1.1.5-alt2

Пример логов от podsec-inotify-check-images:

systemd[1]: Starting podsec-inotify-check-images.service - Check the images to see if they match the containerization policy settings on the host and output violations in the system log...
su[11356]: pam_tcb(su:session): Session opened for root by (uid=0)
podman[11364]: 2024-07-17 11:53:03.037549851 +0300 MSK m=+0.246003111 system refresh
su[11356]: pam_tcb(su:session): Session closed for root
su[11476]: pam_tcb(su:session): Session opened for root by (uid=0)
su[11476]: pam_tcb(su:session): Session closed for root
podsec-inotify-check-images[11309]: POLICY OK: Containerization policies are not violated
systemd[1]: podsec-inotify-check-images.service: Deactivated successfully.
systemd[1]: Finished podsec-inotify-check-images.service - Check the images to see if they match the containerization policy settings on the host and output violations in the system log.

# journalctl -o json-pretty -u podsec-inotify-check-images.service | jq .SYSLOG_IDENTIFIER
"systemd"
"su"
"podman"
"su"
"su"
"su"
"podsec-inotify-check-images"
"systemd"
"systemd"