開いたファイルへのSELinuxアクセスのみ


1

私はSELinuxを勉強しています。

SELinuxを使用すると、バイナリは親プロセスによって開かれたファイルにアクセスでき、他のファイルにはアクセスできませんか?

それができない場合、それを強化する必要があります。

回答:


2

はい、これを行うことができます。

SELinuxはラベリングシステムであり、ファイル(ユーザー、プロセスなど)に対してさまざまな操作を実行するためのアクセスは、元のプロセスのセキュリティコンテキストに基づいて許可されます。

定義する参照ポリシーは、プロセスのセキュリティコンテキストです。

# ps -defZ | grep httpd
system_u:system_r:httpd_t:s0    root      1085     1  0 21:22 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

この例では、セキュリティコンテキストには次の要素があります。

  • system_u:SELinuxユーザー
  • system_r:SELinuxロール
  • httpd_t:SELinuxタイプ強制属性。
  • s0:MLS / MCS範囲。デフォルトのターゲット以外のポリシーに関連します。

また、プロセスがアクセスできるセキュリティコンテキストも定義します。

# ll -dZ /srv/www/html/
drwxr-s---. root apache system_u:object_r:httpd_sys_content_t:s0 /srv/www/html/

# sesearch -s httpd_t -t httpd_sys_content_t -c file -p read -Ad
Found 1 semantic av rules:
   allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open } ;

上記の例では、ディレクトリのセキュリティコンテキストを指定すると、ラベル付けされたプロセスがラベル付けされたディレクトリへの読み取りアクセス権を持つことがポリシーで定義され/srv/www/htmlているsesearch(1)場合に使用できます。httpd_thttpd_sys_content_t

sesearchその他のオプションについては、マンページを確認してください。

そのため、分岐したプロセスがその親によって開かれたファイルへのアクセスに制限されるようにするには、その操作を許可するポリシーが設定されていることを確認する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.