diff options
author | Lennart Poettering <lennart@poettering.net> | 2017-03-01 23:35:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-01 23:35:06 +0100 |
commit | 268b6e193231952ecc2096a2fc881798e90db08c (patch) | |
tree | 3a818cb43702b891017161bf0ca1c7e704b7e238 /units | |
parent | NEWS: 'systemd' is always spelt with a lowercase 's' (diff) | |
parent | units: make use of @reboot and @swap in our long-running service SystemCallFi... (diff) | |
download | systemd-268b6e193231952ecc2096a2fc881798e90db08c.tar.xz systemd-268b6e193231952ecc2096a2fc881798e90db08c.zip |
Merge pull request #5283 from poettering/tighten-sandbox
Tighten sandbox of long-running services
Diffstat (limited to 'units')
-rw-r--r-- | units/systemd-ask-password-console.service.in | 1 | ||||
-rw-r--r-- | units/systemd-ask-password-wall.service.in | 1 | ||||
-rw-r--r-- | units/systemd-coredump@.service.in | 17 | ||||
-rw-r--r-- | units/systemd-hostnamed.service.in | 8 | ||||
-rw-r--r-- | units/systemd-importd.service.in | 4 | ||||
-rw-r--r-- | units/systemd-initctl.service.in | 3 | ||||
-rw-r--r-- | units/systemd-journal-gatewayd.service.in | 5 | ||||
-rw-r--r-- | units/systemd-journal-remote.service.in | 6 | ||||
-rw-r--r-- | units/systemd-journal-upload.service.in | 5 | ||||
-rw-r--r-- | units/systemd-journald.service.in | 4 | ||||
-rw-r--r-- | units/systemd-localed.service.in | 8 | ||||
-rw-r--r-- | units/systemd-logind.service.in | 4 | ||||
-rw-r--r-- | units/systemd-machined.service.in | 3 | ||||
-rw-r--r-- | units/systemd-networkd.service.m4.in | 7 | ||||
-rw-r--r-- | units/systemd-resolved.service.m4.in | 7 | ||||
-rw-r--r-- | units/systemd-timedated.service.in | 8 | ||||
-rw-r--r-- | units/systemd-timesyncd.service.in | 8 | ||||
-rw-r--r-- | units/systemd-udevd.service.in | 1 |
18 files changed, 78 insertions, 22 deletions
diff --git a/units/systemd-ask-password-console.service.in b/units/systemd-ask-password-console.service.in index a24fa51903..adaa60da87 100644 --- a/units/systemd-ask-password-console.service.in +++ b/units/systemd-ask-password-console.service.in @@ -16,3 +16,4 @@ ConditionPathExists=!/run/plymouth/pid [Service] ExecStart=@rootbindir@/systemd-tty-ask-password-agent --watch --console +SystemCallArchitectures=native diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in index 0eaa274794..be380023a7 100644 --- a/units/systemd-ask-password-wall.service.in +++ b/units/systemd-ask-password-wall.service.in @@ -13,3 +13,4 @@ After=systemd-user-sessions.service [Service] ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service ExecStart=@rootbindir@/systemd-tty-ask-password-agent --wall +SystemCallArchitectures=native diff --git a/units/systemd-coredump@.service.in b/units/systemd-coredump@.service.in index 588c8d629c..18f2d2d605 100644 --- a/units/systemd-coredump@.service.in +++ b/units/systemd-coredump@.service.in @@ -19,6 +19,19 @@ Before=shutdown.target ExecStart=-@rootlibexecdir@/systemd-coredump Nice=9 OOMScoreAdjust=500 -PrivateNetwork=yes -ProtectSystem=full RuntimeMaxSec=5min +PrivateTmp=yes +PrivateDevices=yes +PrivateNetwork=yes +ProtectSystem=strict +ProtectHome=yes +ProtectControlGroups=yes +ProtectKernelTunables=yes +ProtectKernelModules=yes +MemoryDenyWriteExecute=yes +RestrictRealtime=yes +RestrictNamespaces=yes +RestrictAddressFamilies=AF_UNIX +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native +ReadWritePaths=/var/lib/systemd/coredump diff --git a/units/systemd-hostnamed.service.in b/units/systemd-hostnamed.service.in index edc5a1722a..01a8ec9f57 100644 --- a/units/systemd-hostnamed.service.in +++ b/units/systemd-hostnamed.service.in @@ -18,11 +18,15 @@ CapabilityBoundingSet=CAP_SYS_ADMIN PrivateTmp=yes PrivateDevices=yes PrivateNetwork=yes -ProtectSystem=yes +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes ProtectKernelTunables=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX -SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native +ReadWritePaths=/etc diff --git a/units/systemd-importd.service.in b/units/systemd-importd.service.in index ac27c2bcba..75585d5dbc 100644 --- a/units/systemd-importd.service.in +++ b/units/systemd-importd.service.in @@ -19,5 +19,7 @@ CapabilityBoundingSet=CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD CAP_SETFCAP CAP_ NoNewPrivileges=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=net RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 -SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @obsolete @raw-io +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native diff --git a/units/systemd-initctl.service.in b/units/systemd-initctl.service.in index 27e663c8dc..5505309e92 100644 --- a/units/systemd-initctl.service.in +++ b/units/systemd-initctl.service.in @@ -11,5 +11,6 @@ Documentation=man:systemd-initctl.service(8) DefaultDependencies=no [Service] -ExecStart=@rootlibexecdir@/systemd-initctl NotifyAccess=all +ExecStart=@rootlibexecdir@/systemd-initctl +SystemCallArchitectures=native diff --git a/units/systemd-journal-gatewayd.service.in b/units/systemd-journal-gatewayd.service.in index efefaa4244..99099967e7 100644 --- a/units/systemd-journal-gatewayd.service.in +++ b/units/systemd-journal-gatewayd.service.in @@ -18,13 +18,16 @@ SupplementaryGroups=systemd-journal PrivateTmp=yes PrivateDevices=yes PrivateNetwork=yes -ProtectSystem=full +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes ProtectKernelTunables=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +SystemCallArchitectures=native # If there are many split upjournal files we need a lot of fds to # access them all and combine diff --git a/units/systemd-journal-remote.service.in b/units/systemd-journal-remote.service.in index 753dd6c158..5404bf1c03 100644 --- a/units/systemd-journal-remote.service.in +++ b/units/systemd-journal-remote.service.in @@ -18,13 +18,17 @@ WatchdogSec=3min PrivateTmp=yes PrivateDevices=yes PrivateNetwork=yes -ProtectSystem=full +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes ProtectKernelTunables=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +SystemCallArchitectures=native +ReadWritePaths=/var/log/journal/remote [Install] Also=systemd-journal-remote.socket diff --git a/units/systemd-journal-upload.service.in b/units/systemd-journal-upload.service.in index d8fd243620..b9eab21542 100644 --- a/units/systemd-journal-upload.service.in +++ b/units/systemd-journal-upload.service.in @@ -18,13 +18,16 @@ SupplementaryGroups=systemd-journal WatchdogSec=3min PrivateTmp=yes PrivateDevices=yes -ProtectSystem=full +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes ProtectKernelTunables=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +SystemCallArchitectures=native # If there are many split up journal files we need a lot of fds to # access them all and combine diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in index 712ce55483..64253f59d4 100644 --- a/units/systemd-journald.service.in +++ b/units/systemd-journald.service.in @@ -26,8 +26,10 @@ FileDescriptorStoreMax=1024 CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_MAC_OVERRIDE MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX AF_NETLINK -SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native # Increase the default a bit in order to allow many simultaneous # services being run since we keep one fd open per service. Also, when diff --git a/units/systemd-localed.service.in b/units/systemd-localed.service.in index df829e1164..f76012a34c 100644 --- a/units/systemd-localed.service.in +++ b/units/systemd-localed.service.in @@ -18,11 +18,15 @@ CapabilityBoundingSet= PrivateTmp=yes PrivateDevices=yes PrivateNetwork=yes -ProtectSystem=yes +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes ProtectKernelTunables=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX -SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native +ReadWritePaths=/etc diff --git a/units/systemd-logind.service.in b/units/systemd-logind.service.in index 0b6de35733..e20a3ad057 100644 --- a/units/systemd-logind.service.in +++ b/units/systemd-logind.service.in @@ -27,8 +27,10 @@ WatchdogSec=3min CapabilityBoundingSet=CAP_SYS_ADMIN CAP_MAC_ADMIN CAP_AUDIT_CONTROL CAP_CHOWN CAP_KILL CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE CAP_FOWNER CAP_SYS_TTY_CONFIG MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6 -SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @obsolete @raw-io +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native # Increase the default a bit in order to allow many simultaneous # logins since we keep one fd open per session. diff --git a/units/systemd-machined.service.in b/units/systemd-machined.service.in index 911ead79ee..0b0bbf272c 100644 --- a/units/systemd-machined.service.in +++ b/units/systemd-machined.service.in @@ -20,7 +20,8 @@ CapabilityBoundingSet=CAP_KILL CAP_SYS_PTRACE CAP_SYS_ADMIN CAP_SETGID CAP_SYS_C MemoryDenyWriteExecute=yes RestrictRealtime=yes RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6 -SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @obsolete @raw-io +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native # Note that machined cannot be placed in a mount namespace, since it # needs access to the host's mount namespace in order to implement the diff --git a/units/systemd-networkd.service.m4.in b/units/systemd-networkd.service.m4.in index d1cf3fc133..c3f153046a 100644 --- a/units/systemd-networkd.service.m4.in +++ b/units/systemd-networkd.service.m4.in @@ -28,13 +28,16 @@ RestartSec=0 ExecStart=@rootlibexecdir@/systemd-networkd WatchdogSec=3min CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETUID CAP_SETGID CAP_SETPCAP CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER -ProtectSystem=full +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6 AF_PACKET -SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native +ReadWritePaths=/run/systemd [Install] WantedBy=multi-user.target diff --git a/units/systemd-resolved.service.m4.in b/units/systemd-resolved.service.m4.in index d3b8f81601..70491e0751 100644 --- a/units/systemd-resolved.service.m4.in +++ b/units/systemd-resolved.service.m4.in @@ -27,14 +27,17 @@ WatchdogSec=3min CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SETPCAP CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER CAP_NET_RAW CAP_NET_BIND_SERVICE PrivateTmp=yes PrivateDevices=yes -ProtectSystem=full +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes ProtectKernelTunables=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6 -SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native +ReadWritePaths=/run/systemd [Install] WantedBy=multi-user.target diff --git a/units/systemd-timedated.service.in b/units/systemd-timedated.service.in index e8c4d5ed4b..f691f47517 100644 --- a/units/systemd-timedated.service.in +++ b/units/systemd-timedated.service.in @@ -16,11 +16,15 @@ BusName=org.freedesktop.timedate1 WatchdogSec=3min CapabilityBoundingSet=CAP_SYS_TIME PrivateTmp=yes -ProtectSystem=yes +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes ProtectKernelTunables=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX -SystemCallFilter=~@cpu-emulation @debug @keyring @module @mount @obsolete @raw-io +SystemCallFilter=~@cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native +ReadWritePaths=/etc diff --git a/units/systemd-timesyncd.service.in b/units/systemd-timesyncd.service.in index 9a6c6ea60d..8d328bb80a 100644 --- a/units/systemd-timesyncd.service.in +++ b/units/systemd-timesyncd.service.in @@ -26,14 +26,18 @@ WatchdogSec=3min CapabilityBoundingSet=CAP_SYS_TIME CAP_SETUID CAP_SETGID CAP_SETPCAP CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER PrivateTmp=yes PrivateDevices=yes -ProtectSystem=full +ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes ProtectKernelTunables=yes +ProtectKernelModules=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes +RestrictNamespaces=yes RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 -SystemCallFilter=~@cpu-emulation @debug @keyring @module @mount @obsolete @raw-io +SystemCallFilter=~@cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap +SystemCallArchitectures=native +ReadWritePaths=/var/lib/systemd [Install] WantedBy=sysinit.target diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in index 46d637883b..fc037b5a5c 100644 --- a/units/systemd-udevd.service.in +++ b/units/systemd-udevd.service.in @@ -28,3 +28,4 @@ MountFlags=slave MemoryDenyWriteExecute=yes RestrictRealtime=yes RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6 +SystemCallArchitectures=native |