From 0a58428de6096f3222dd30d1a1f186150c25f4f2 Mon Sep 17 00:00:00 2001 From: shibayashi Date: Thu, 25 Oct 2018 00:37:31 +0200 Subject: [PATCH 1/2] Add some security related directives to the systemd service example --- installation/pleroma.service | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/installation/pleroma.service b/installation/pleroma.service index fd4180985..e410764f3 100644 --- a/installation/pleroma.service +++ b/installation/pleroma.service @@ -11,5 +11,15 @@ ExecReload=/bin/kill $MAINPID KillMode=process Restart=on-failure +; Some security directives. +; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops. +PrivateTmp=true +; This makes /usr, /boot, /etc read-only. +ProtectSystem=full +; Sets up a new /dev mount for the process and only adds API pseudo devices like /dev/null, /dev/zero or /dev/random but not physical devices. Disabled by default because it may not work on devices like the Raspberry Pi. +PrivateDevices=false +; Ensures that the service process and all its children can never gain new privileges through execve() +NoNewPrivileges=true + [Install] WantedBy=multi-user.target From 043cb7138e3e970d0e50f3f5a9be5efb385bbc92 Mon Sep 17 00:00:00 2001 From: shibayashi Date: Thu, 25 Oct 2018 00:57:47 +0200 Subject: [PATCH 2/2] Add a little bit more detail in the comments. --- installation/pleroma.service | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installation/pleroma.service b/installation/pleroma.service index e410764f3..84747d952 100644 --- a/installation/pleroma.service +++ b/installation/pleroma.service @@ -14,11 +14,11 @@ Restart=on-failure ; Some security directives. ; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops. PrivateTmp=true -; This makes /usr, /boot, /etc read-only. +; Mount /usr, /boot, and /etc as read-only for processes invoked by this service. ProtectSystem=full ; Sets up a new /dev mount for the process and only adds API pseudo devices like /dev/null, /dev/zero or /dev/random but not physical devices. Disabled by default because it may not work on devices like the Raspberry Pi. PrivateDevices=false -; Ensures that the service process and all its children can never gain new privileges through execve() +; Ensures that the service process and all its children can never gain new privileges through execve(). NoNewPrivileges=true [Install]