1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- [Service]
- # The following directives give the synapse service R/W access to:
- # - /run/matrix-synapse
- # - /var/lib/matrix-synapse
- # - /var/log/matrix-synapse
- RuntimeDirectory=matrix-synapse
- StateDirectory=matrix-synapse
- LogsDirectory=matrix-synapse
- ######################
- ## Security Sandbox ##
- ######################
- # Make sure that the service has its own unshared tmpfs at /tmp and that it
- # cannot see or change any real devices
- PrivateTmp=true
- PrivateDevices=true
- # We give no capabilities to a service by default
- CapabilityBoundingSet=
- AmbientCapabilities=
- # Protect the following from modification:
- # - The entire filesystem
- # - sysctl settings and loaded kernel modules
- # - No modifications allowed to Control Groups
- # - Hostname
- # - System Clock
- ProtectSystem=strict
- ProtectKernelTunables=true
- ProtectKernelModules=true
- ProtectControlGroups=true
- ProtectClock=true
- ProtectHostname=true
- # Prevent access to the following:
- # - /home directory
- # - Kernel logs
- ProtectHome=tmpfs
- ProtectKernelLogs=true
- # Make sure that the process can only see PIDs and process details of itself,
- # and the second option disables seeing details of things like system load and
- # I/O etc
- ProtectProc=invisible
- ProcSubset=pid
- # While not needed, we set these options explicitly
- # - This process has been given access to the host network
- # - It can also communicate with any IP Address
- PrivateNetwork=false
- RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
- IPAddressAllow=any
- # Restrict system calls to a sane bunch
- SystemCallArchitectures=native
- SystemCallFilter=@system-service
- SystemCallFilter=~@privileged @resources @obsolete
- # Misc restrictions
- # - Since the process is a python process it needs to be able to write and
- # execute memory regions, so we set MemoryDenyWriteExecute to false
- RestrictSUIDSGID=true
- RemoveIPC=true
- NoNewPrivileges=true
- RestrictRealtime=true
- RestrictNamespaces=true
- LockPersonality=true
- PrivateUsers=true
- MemoryDenyWriteExecute=false
|