Hallo Liste,
Ich habe ein unerwartetes verhalten bei der Software Splunk Universal Forwarder
in Verbindung mit systemd und Capabilities. Bei der Installation der 9.0.x
Version wird ein Systemd Service file angelegt.
[Unit]
Description=Systemd service file for Splunk, generated by 'splunk enable
boot-start'
After=network-online.target
Wants=network-online.target
[Service]
-->schnipp<--
User=splunk
Group=splunk
NoNewPrivileges=yes
AmbientCapabilities=CAP_DAC_READ_SEARCH
-->schnipp<--
[Install]
WantedBy=multi-user.target
Wenn er Dienst startet hat er durch CAP_DAC_READ_SEARCH Lesezugriff auf alle
Dateien im Filesystem. Ob das gut oder schlecht ist lassen wir mal
dahingestellt.
Wenn ich eine ältere Version (8.2.*) der Software installiere sind die Werte:
NoNewPrivileges=yes
AmbientCapabilities=CAP_DAC_READ_SEARCH
per default nicht gesetzt. Wenn ich sie hinzufüge, ein systemctl daemon-reload
ausführe kann die Software nicht auf Dateien zugreifen, auf welche der
Technische Nutzer Leseberechtigung hat.
Das verwundert mich. Ich habe geprüft ob die capabilites wirklich beim Dienst
ankommen - sieht erstmal gut aus:
[root@ip-10-53-1-118 local]# systemctl status SplunkForwarder |grep -i PID
Main PID: 3527 (splunkd)
└─3552 [splunkd pid=3527] splunkd --under-systemd
--systemd-delegate=yes -p 8089 _internal_launch_under_systemd [process-runner]
Jun 13 13:26:04 ip-10-53-1-118 splunk[3527]: 2023-06-13 13:26:04.083 +
splunkd started (build 4a20fb65aa78) pid=3527
[root@ip-10-53-1-118 local]# getpcaps 3527
3527: cap_dac_read_search=eip
Any hints? Für mich sieht ja fast so aus, als wenn das Setzen der Capability
nicht ausrecht und die Software das noch aktiv unterstützen muss?!
Besten Gruss,
Andreas