diff --git a/kundenplattform.service b/kundenplattform.service index de909cb..50b27bb 100644 --- a/kundenplattform.service +++ b/kundenplattform.service @@ -21,5 +21,36 @@ ProtectSystem=strict ProtectHome=true ReadWritePaths=/opt/kundenplattform +# Erweiterte Sandboxing-Direktiven (2026-08-07 ergänzt, systemd-analyze +# security lag zuvor bei 8.3 "EXPOSED" trotz obiger Basis-Härtung). Braucht +# der Dienst nachweislich nicht - reines Python/uvicorn mit psycopg +# (Postgres via TCP), httpx (ausgehende HTTP-Aufrufe an provisioning-server) +# und cryptography (Fernet-Verschlüsselung des WLAN-PSK, siehe +# encryption.py) - alles unter genau dieser Direktivenkombination per +# systemd-run gegen den echten Code getestet (Login/JWT, DB-Lese-/ +# Schreibzugriff, ausgehender HTTP-Aufruf, Fernet-Verschlüsselung), bevor +# das hier scharf geschaltet wurde. +CapabilityBoundingSet= +AmbientCapabilities= +RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX +RestrictNamespaces=yes +RestrictSUIDSGID=yes +LockPersonality=yes +MemoryDenyWriteExecute=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectKernelLogs=yes +ProtectControlGroups=yes +ProtectClock=yes +ProtectHostname=yes +ProtectProc=invisible +ProcSubset=pid +PrivateDevices=yes +RemoveIPC=yes +RestrictRealtime=yes +SystemCallFilter=@system-service +SystemCallArchitectures=native +UMask=0077 + [Install] WantedBy=multi-user.target