build_customer_iso.sh braucht seit der Squashfs-Schicht kein root mehr: sudo-Aufruf und sudoers-Datei entfallen, NoNewPrivileges, CapabilityBoundingSet/AmbientCapabilities und RestrictSUIDSGID wieder an (Ausnahmen aus ADR-0027 zurueckgenommen). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
53 lines
1.6 KiB
Desktop File
53 lines
1.6 KiB
Desktop File
[Unit]
|
|
Description=Provisioning Activation Server
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=provisioning-server
|
|
Group=provisioning-server
|
|
WorkingDirectory=/opt/provisioning-server
|
|
EnvironmentFile=/etc/tuxflotte/provisioning-server.env
|
|
ExecStart=/opt/provisioning-server/.venv/bin/uvicorn app:app --host 0.0.0.0 --port 8080
|
|
Restart=always
|
|
RestartSec=3
|
|
|
|
# Gleiche Haertung wie kundenplattform.service (ADR-0011). Bis 03.10.2026
|
|
# fehlten hier NoNewPrivileges, CapabilityBoundingSet/AmbientCapabilities und
|
|
# RestrictSUIDSGID, weil der Kunden-ISO-Bau per scoped sudo zu root
|
|
# eskalierte (ADR-0027). Seit build_customer_iso.sh die Kundendaten als
|
|
# eigene Squashfs-Schicht anlegt, braucht er keinerlei Privilegien mehr.
|
|
NoNewPrivileges=true
|
|
CapabilityBoundingSet=
|
|
AmbientCapabilities=
|
|
RestrictSUIDSGID=yes
|
|
PrivateTmp=true
|
|
ProtectSystem=strict
|
|
ProtectHome=true
|
|
ReadWritePaths=/opt/provisioning-server
|
|
# Arbeitsverzeichnis von build_customer_iso.sh (Kindprozess, erbt diese
|
|
# Abschottung) auf anodes Datenplatte (03.10.2026, Befund B5) - '-': Unit
|
|
# startet auch auf Systemen ohne dieses Verzeichnis.
|
|
ReadWritePaths=-/srv/tuxflotte/build-tmp
|
|
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
|
|
RestrictNamespaces=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
|