TH · записки

К оглавлению

Systemd-юниты, которые не стыдно показать

У каждого сервиса, который живёт дольше недели, юнит постепенно обрастает ограничениями. Минимальный набор, после которого спится спокойно:

NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/myservice
RestrictAddressFamilies=AF_INET AF_INET6

Порядок настройки важен: сначала ProtectSystem=strict, потом точечные ReadWritePaths. Если начать с разрешений, всегда остаётся каталог, который забыл закрыть.

Проверка юнита после правок — systemd-analyze security myservice. Оценка выше девяти — хорошо; идеал не нужен, он мешает жить.