SELinux オブジェクト

/ .trash / Comment[0]
オブジェクトには二つある

一時的なオブジェクト
 プロセスなど

永続的オブジェクト
 ファイルやディレクトリ

永続的オブジェクトは削除するまでディスクから消えないが、メモリ上のテーブルは再起動すれば消えてしまうので、SIDとオブジェクトの結びつけは困難。
そこで、カーネルの拡張機能でファイルシステムにPSIDを格納させることで解決できる。



アクセス判定
 サブジェクトがオブジェクトを操作する許可があるかどうかをジャッジするというもの

 それぞれのオブジェクトクラスにアクセスベクタというパーミッションを割り当てる。
 アクセスベクタにはあらかじめそれぞれの操作ごとのパーミッションが定義されている。
 発生したアクションと一致するポリシーを見つけると、判定したとき許可されたアクションを
 示すアクセスベクタポリシーをシステムに返すという動作

 このとき、返されるアクセスベクタポリシーは3つある
 ・allow サブジェクトがオブジェクトに対して許可するアクションを定義する
 ・auditallow ログに出力
 ・dontaudit サブジェクトがオブジェクトに要求したアクションが拒否されたとき、それに関するログを記録しない


遷移判定
 作成したサブジェクト,オブジェクトに割り当てるタイプを決めるというもの

 サブジェクトの作成
  子プロセスは親プロセスと同じドメインを継承させる。または、
  セキュリティポリシーで定義された別ドメインで動作させることができる。
  子プロセスが親プロセスと別ドメインで動作することをドメイン遷移という。

 オブジェクトの生成
  新しいファイルを作成した時に、そのファイルを格納しているディレクトリのセキュリティコンテキストを継承させるか、
  あらかじめセキュリティポリシーによって定義された別タイプを付与することができる。
  ファイルを格納するディレクトリのタイプと異なることをタイプ遷移という。



まとめ
・カーネルの拡張機能でファイルシステムにPSIDを格納することができる
・アクセス判定とはサブジェクトがオブジェクトを操作する許可があるか判定するというもの。
 それぞれのオブジェクトクラスにアクセスベクタというパーミッションを割り当てる。
 アクションとアクセスベクタのパーミッションを照らし合わせ、許可されたアクションを示すアクセスベクタポリシーをシステムに返す。
・遷移判定とは作成したサブジェクト、オブジェクトに割り当てるタイプを決めるというもの。
 サブジェクトを作成時に、子プロセスが親プロセスと別ドメインで動作することをドメイン遷移という
 オブジェクトを作成時に、ファイルを格納するディレクトリのタイプと異なることをタイプ遷移という
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可