mirror of
https://github.com/Kozea/Radicale.git
synced 2025-08-13 18:50:53 +00:00
Add notes about security
This commit is contained in:
parent
e72a006a5a
commit
73199f4602
2 changed files with 22 additions and 8 deletions
|
@ -51,6 +51,11 @@ format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s
|
||||||
You can specify multiple **logger**, **handler** and **formatter** if you want
|
You can specify multiple **logger**, **handler** and **formatter** if you want
|
||||||
to have multiple simultaneous log outputs.
|
to have multiple simultaneous log outputs.
|
||||||
|
|
||||||
|
The parent folder of the log files must exist and must be writable by Radicale.
|
||||||
|
|
||||||
|
**Security:** The log files should not be readable by unauthorized users. Set
|
||||||
|
permissions accordingly.
|
||||||
|
|
||||||
### Timed rotation of disk log files
|
### Timed rotation of disk log files
|
||||||
|
|
||||||
An example **handler** configuration to write the log output to the file `/var/log/radicale/log` and rotate it .
|
An example **handler** configuration to write the log output to the file `/var/log/radicale/log` and rotate it .
|
||||||
|
|
25
setup.md
25
setup.md
|
@ -101,6 +101,10 @@ be changed with the following configuration:
|
||||||
filesystem_folder = /path/to/storage
|
filesystem_folder = /path/to/storage
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Security:** The storage folder should not be readable by unauthorized users.
|
||||||
|
Otherwise, they can read the calendar data and lock the storage.
|
||||||
|
You can find OS dependent instructions in the **Running as a service** section.
|
||||||
|
|
||||||
## Limits
|
## Limits
|
||||||
|
|
||||||
Radicale enforces limits on the maximum number of parallel connections,
|
Radicale enforces limits on the maximum number of parallel connections,
|
||||||
|
@ -166,6 +170,9 @@ The storage folder must be writable by **radicale**. (Run
|
||||||
`mkdir -p /var/lib/radicale/collections && chown -R radicale:radicale /var/lib/radicale/collections`
|
`mkdir -p /var/lib/radicale/collections && chown -R radicale:radicale /var/lib/radicale/collections`
|
||||||
as root.)
|
as root.)
|
||||||
|
|
||||||
|
**Security:** The storage should not be readable by others.
|
||||||
|
(Run `chmod -R o= /var/lib/radicale/collections` as root.)
|
||||||
|
|
||||||
Create the file `/etc/systemd/system/radicale.service`:
|
Create the file `/etc/systemd/system/radicale.service`:
|
||||||
```ini
|
```ini
|
||||||
[Unit]
|
[Unit]
|
||||||
|
@ -177,6 +184,8 @@ Requires=network.target
|
||||||
ExecStart=/usr/bin/env python3 -m radicale
|
ExecStart=/usr/bin/env python3 -m radicale
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
User=radicale
|
User=radicale
|
||||||
|
# Deny other users access to the calendar data
|
||||||
|
UMask=0027
|
||||||
# Optional security settings
|
# Optional security settings
|
||||||
PrivateTmp=true
|
PrivateTmp=true
|
||||||
ProtectSystem=strict
|
ProtectSystem=strict
|
||||||
|
@ -187,16 +196,11 @@ ProtectKernelModules=true
|
||||||
ProtectControlGroups=true
|
ProtectControlGroups=true
|
||||||
NoNewPrivileges=true
|
NoNewPrivileges=true
|
||||||
ReadWritePaths=/var/lib/radicale/collections
|
ReadWritePaths=/var/lib/radicale/collections
|
||||||
# Deny other users access to the calendar data
|
|
||||||
#UMask=0027
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
```
|
```
|
||||||
Radicale will load the configuration file from `/etc/radicale/config`.
|
Radicale will load the configuration file from `/etc/radicale/config`.
|
||||||
Other users can read your calendar data. To prevent this, uncomment the
|
|
||||||
`UMask=0027` line in your service file and protect the files that are
|
|
||||||
already created. (Run `chmod -R o= /var/lib/radicale` as root.)
|
|
||||||
|
|
||||||
To enable and manage the service run:
|
To enable and manage the service run:
|
||||||
```shell
|
```shell
|
||||||
|
@ -225,8 +229,10 @@ After daemonization the server will not log anything. You have to configure
|
||||||
If you start Radicale now, it will initialize and fork into the background.
|
If you start Radicale now, it will initialize and fork into the background.
|
||||||
The main process exits, after the PID file is written.
|
The main process exits, after the PID file is written.
|
||||||
|
|
||||||
You can set the **umask** with `umask 0027` before you start the daemon, to
|
**Security:** You can set the **umask** with `umask 0027` before you start the
|
||||||
protect your calendar data from other users.
|
daemon, to protect your calendar data and log files from other users.
|
||||||
|
Don't forget to set permissions of files that are already created!
|
||||||
|
|
||||||
|
|
||||||
## Windows with "NSSM - the Non-Sucking Service Manager"
|
## Windows with "NSSM - the Non-Sucking Service Manager"
|
||||||
|
|
||||||
|
@ -240,7 +246,10 @@ prompt. Apply the following configuration:
|
||||||
* I/O redirection
|
* I/O redirection
|
||||||
* Error: `C:\Path\To\Radicale.log`
|
* Error: `C:\Path\To\Radicale.log`
|
||||||
|
|
||||||
Be aware that the service runs in the local system account, you might want to change this. Managing user accounts is beyond the scope of this manual.
|
**Security:** Be aware that the service runs in the local system account,
|
||||||
|
you might want to change this. Managing user accounts is beyond the scope of
|
||||||
|
this manual. Also make sure that the storage folder and log file is not readable
|
||||||
|
by unauthorized users.
|
||||||
|
|
||||||
The log file might grow very big over time, you can configure file rotation
|
The log file might grow very big over time, you can configure file rotation
|
||||||
in **NSSM** to prevent this.
|
in **NSSM** to prevent this.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue