Systemd Verbieten von Forking, Einschränkung der Dateierstellung für Dienste
Zur Navigation springen
Zur Suche springen
- Ressourcenlimits können verwendet werden, um bestimmte Sicherheitslimits auf ausgeführte Dienste anzuwenden.
- In erster Linie sind Ressourcengrenzen für die Ressourcenkontrolle (wie der Name schon sagt ...) und nicht so sehr für die Zugriffskontrolle nützlich.
- Zwei davon können jedoch nützlich sein, um bestimmte Betriebssystemfunktionen zu deaktivieren:
- RLIMIT_NPROC und RLIMIT_FSIZE können verwendet werden, um das Forking zu deaktivieren und das Schreiben von Dateien mit einer Größe > 0 zu deaktivieren:
... [Service] ExecStart=... LimitNPROC=1 LimitFSIZE=0 ...
- Beachten Sie, dass dies nur funktioniert, wennb der fragliche Dienst Privilegien aufgibt und unter einer eigenen (Nicht-Root-) Benutzer-ID läuft oder die CAP_SYS_RESOURCE-Fähigkeit aufgibt, zum Beispiel über CapabilityBoundingSet=, wie oben beschrieben.
- Ohne dies könnte ein Prozess einfach das Ressourcenlimit wieder erhöhen und somit jegliche Wirkung zunichte machen.
- Vorbehalt: LimitFSIZE= ist ziemlich brutal. Wenn der Dienst versucht, eine Datei mit einer Größe > 0 zu schreiben, wird er sofort mit dem SIGXFSZ beendet, der den Prozess beendet, wenn er nicht gefangen wird. Außerdem ist das Erstellen von Dateien mit der Größe 0 weiterhin erlaubt, auch wenn diese Option verwendet wird.