Systemd/Linux ReadWritePath が機能しません。

Systemd/Linux ReadWritePath が機能しません。

systemdサービスで実行されているFlask Webサーバーのセキュリティを向上させようとしています。

[Unit]
Description=Configuration Server

[Service]
Type=simple
ExecStart=/usr/bin/configui
ProtectSystem=full
ProtectHome=yes
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 
ReadWritePaths=/var/lib/configui/
NoNewPrivileges=yes
PrivateTmp=yes
PrivateDevices=yes
DevicePolicy=closed
ProtectControlGroups=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK
RestrictRealtime=yes
RestrictSUIDSGID=yes
MemoryDenyWriteExecute=yes
LockPersonality=yes

[Install]
WantedBy=multi-user.target

/var/lib/configui/data.json.newしかし、アプリケーションが一時ファイルに書き込もうとすると問題が発生します。これが完了すると、アプリケーションが上書き/var/lib/configui/data.jsonされます。 Pythonで権限拒否エラーが発生します。このディレクトリの内容:

root@XXXXXX:/var/lib/configui# ls -ll
total 16
-rw-r----- 1 userA userA  589 Jul 30  2020 data.json

CAP_DAC_OVERRIDE を追加することで動作させることができますが、これは読み書き操作を制限する目的を失います。

ベストアンサー1

おすすめ記事