2013年4月29日月曜日

[SELinux]セキュリティ・コンテキスト

ファイルのセキュリティ・コンテキスト
ファイルのセキュリティ・コンテキストは ls -Z で確認できる。
"User" : "Role" : "Type or Domain" の順に表示される
# ls -Z
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html
この html ディレクトリには system_u:object_r:httpd_sys_content_t というセキュリティコンテキストが付いている。User 識別子:Role 識別子:Type 識別子の順に並んでいる。
User 識別子Linux システム上のユーザー (uid) との紐付けはシステムへのログイン時に行われる。
Role 識別子RBAC (Role Based Access Control) で使用する root 権限の最小化で効果を発揮する。
Type 識別子, Domain 識別子すべてのアクセス制御はこの Type 識別子の組み合わせがセキュリティポリシーで定義されているかに基づいて決定される。

プロセスのセキュリティ・コンテキスト
プロセスのセキュリティ・コンテキストは ps -eZ で確認できる。
# ps -eZ
LABEL                                                 PID TTY       TIME     CMD
system_u:system_r:httpd_t:s0                          1594 ?        00:00:00 httpd
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 2450 ?        00:00:02 emacs
httpd の Domain 識別子は httpd_t となっている。emacs には unconfined_t が割り当てられている。
ログイン・ユーザーが起動したプログラムは unconfined_t で動作する。これにより SELinux の制限を受けなくなる。
  1. httpd が Web ページを読み込む前に SELinux モジュールに読み込み要求を伝える。
  2. SELinux モジュールは要求されたアクセスが許可されているか、「ポリシー・ファイル」を参照してセキュリティ・チェックをする。
  3. アクセスが許可された場合は httpd がアクセスを行う。アクセスが拒否された場合はアクセス拒否されたことがログに記録される。

0 件のコメント:

コメントを投稿