systemdで単位ディレクトリをホワイトリストに追加する方法

systemdで単位ディレクトリをホワイトリストに追加する方法

ユニットにはさまざまなオプション(サービスなど)があります。システム。そのうち3つはReadWriteDirectoriesReadOnlyDirectoriesと呼ばれますInaccessibleDirectories。私は仮想マシンでDebian 8.5を使用しています。一部 (最新?) バージョンの systemd ではReadWritePathsReadOnlyPathsと呼ばれますInaccessiblePaths。このオプションを使用してアクセスできるディレクトリをホワイトリストに追加できますか?

特定のディレクトリにのみアクセスできることが知られているアプリケーションがあります。このディレクトリへのアクセスを制限したいと思います。しかし、このディレクトリを指定するために使用すると、ReadWritePaths何の効果もないようです。これマンページ説明する

ReadWriteDirectories =にリストされているディレクトリは、名前空間内でアクセスでき、外部と同じアクセス権を持ちます。

ただし、このオプションに指定されていないディレクトリは同じ方法でアクセスできるようです。指定されていないすべてのコンテンツへのアクセスを拒否する方法は?それとも私のシステムが動作しないのでしょうか?新しいバージョンのマンページを除くすべての項目をブラックリストに追加することが可能であると考えることもできますInaccessibleDirectories=/(オプションが呼び出されます)InaccessiblePaths

InaccessiblePaths =にリストされている項目は名前空間内のプロセスにアクセスできず、ReadWritePaths =またはReadOnlyPaths =で指定された項目を含む他のマウントポイントは計算されない可能性があります。

ReadWriteDirectoriesそれでは、ディレクトリホワイトリストを使用してReadOnlyDirectories設定することは可能ですか?可能でなければ、ReadWriteDirectories何もしないように見えながらもなぜ存在するのでしょうか?

ベストアンサー1

ReadWritePathsその類似は、次のオプションと組み合わせて使用​​する場合にのみ本当に便利です。ブラックリスト特定のパス。アプリケーションが特定のパスにのみアクセスできる必要があることがわかっている場合は、以下を組み合わせて実行できます。

  • ProtectSystem=strict特定のディレクトリを設定し、使用のためにホワイトリストに追加しますReadWritePaths
  • ReadOnlyPaths特定のディレクトリを設定してホワイトリストに追加しますReadWritePaths。を使用してこれを行うと、/実行するタスクの親セットが実行されますProtectSystem(おそらく望ましくない/ dev、/ proc、および/ sysも制限します)。PrivateDevicesProtectKernelTunablesおよびを使用してProtectControlGroupsこれらのディレクトリを保護することもできます。

おすすめ記事