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.
Оценка выше девяти — хорошо; идеал не нужен, он мешает жить.