Ограничьте привилегии системного сервиса до минимума

351
steiny

Я пишу служебный файл systemd для fai-monitor (8) . Этот демон прослушивает один порт, получает TCP-соединения и записывает один файл журнала с интересной информацией.

Чтобы уменьшить поверхность атаки в системе, служба должна запускаться с наименьшими возможными привилегиями. Следуя советам по вариантам усиления защиты сервисных модулей systemd, я создал этот сервисный файл:

[Unit] Description=FAI Monitor Daemon  [Service] Type=simple ExecStart=/usr/sbin/fai-monitor -l /run/fai-monitor/fai-monitor.log DynamicUser=true RuntimeDirectory=fai-monitor RuntimeDirectoryMode=755  MemoryDenyWriteExecute=true NoNewPrivileges=true PrivateTmp=true PrivateUsers=true ProtectHome=true  ProtectSystem=strict PrivateDevices=true ProtectKernelTunables=true ProtectControlGroups=true  RestrictAddressFamilies=AF_INET AF_INET6 RestrictRealtime=true  TasksMax=16 MemoryHigh=10M  SystemCallFilter=~@mount @debug @privileged 

Хотя это кажется довольно ограничительным, служебный файл является относительно многословным.

Существуют ли другие способы ограничить службу минимальным набором привилегий? В частности, что-то подобное RestrictEverything=trueбыло бы интересно с последующим внесением в белый список разрешенных ресурсов.

1

0 ответов на вопрос

Похожие вопросы