From 594fc1ac747e35f44addcfb71b396ed5b4d29c66 Mon Sep 17 00:00:00 2001 From: Orazio <22700499+orazioedoardo@users.noreply.github.com> Date: Sun, 2 Jan 2022 10:19:07 +0100 Subject: [PATCH] Sandbox signal-cli-socket service using systemd features --- data/signal-cli-socket.service | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/data/signal-cli-socket.service b/data/signal-cli-socket.service index a6a2cfbc..8e53c03b 100644 --- a/data/signal-cli-socket.service +++ b/data/signal-cli-socket.service @@ -5,15 +5,42 @@ After=network-online.target Requires=signal-cli-socket.socket [Service] -Type=simple +CapabilityBoundingSet= Environment="SIGNAL_CLI_OPTS=-Xms2m" -ExecStart=%dir%/bin/signal-cli --config /var/lib/signal-cli daemon -User=signal-cli +# Update 'ReadWritePaths' if you change the config path here +ExecStart=/usr/local/bin/signal-cli --config /var/lib/signal-cli daemon +LockPersonality=true +NoNewPrivileges=true +PrivateDevices=true +PrivateIPC=true +PrivateTmp=true +PrivateUsers=true +ProcSubset=pid +ProtectClock=true +ProtectControlGroups=true +ProtectHome=true +ProtectHostname=true +ProtectKernelLogs=true +ProtectKernelModules=true +ProtectKernelTunables=true +ProtectProc=invisible +ProtectSystem=strict +# Profile pictures and attachments to upload must be located here for the service to access them +ReadWritePaths=/var/lib/signal-cli +RestrictAddressFamilies=AF_INET AF_INET6 +RestrictNamespaces=true +RestrictRealtime=true +RestrictSUIDSGID=true # JVM always exits with 143 in reaction to SIGTERM signal SuccessExitStatus=143 StandardInput=socket StandardOutput=journal StandardError=journal +SystemCallArchitectures=native +SystemCallFilter=~@debug @mount @obsolete @privileged @resources +UMask=0077 +# Create the user and home directory with 'useradd -r -U -s /usr/sbin/nologin -m -b /var/lib signal-cli' +User=signal-cli [Install] Also=signal-cli-socket.socket