Add `ProtectClock=yes` to systemd units. Since it implies certain
`DeviceAllow=` rules, make sure that the units have `DeviceAllow=` rules so
they are still able to access other devices. Exclude timesyncd and timedated.
PrivateDevices=yes
PrivateNetwork=yes
PrivateTmp=yes
+ProtectClock=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectHostname=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
OOMScoreAdjust=-250
+ProtectClock=yes
Restart=always
RestartSec=0
RestrictAddressFamilies=AF_UNIX AF_NETLINK
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
PrivateTmp=yes
+ProtectClock=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectHostname=yes
LockPersonality=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
+ProtectClock=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectKernelModules=yes
NoNewPrivileges=yes
PrivateDevices=yes
PrivateTmp=yes
+ProtectClock=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectKernelModules=yes
ConditionPathIsReadWrite=/sys
[Service]
+DeviceAllow=block-* rwm
+DeviceAllow=char-* rwm
Type=notify
# Note that udev also adjusts the OOM score internally and will reset the value internally for its workers
OOMScoreAdjust=-1000
KillMode=mixed
TasksMax=infinity
PrivateMounts=yes
+ProtectClock=yes
ProtectHostname=yes
MemoryDenyWriteExecute=yes
RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6