トップ 一覧 置換 検索 ヘルプ RSS ログイン

SELinux ポリシーファイルの設定の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://www.itmedia.co.jp/enterprise/articles/0503/25/news080_3.html

!設定を自動化するaudit2allowコマンド
 アクセス拒否された内容をすべて手動で設定していく作業は、大変手間が掛かる。そのため、SELinuxにはログに出力されたアクセス拒否の内容を、自動的にallow文に変換してくれる便利なコマンドが用意されている。以下は、audit2allowコマンドを使用して、上記のallow文の内容を自動で出力している。ほかのログの内容から、write、lock以外のアクセスベクタも表示されている。
 # audit2allow -d -l
                 :
                 :
 allow httpd_t httpd_sys_script_exec_t:dir { add_name create remove_name write };
 allow httpd_t httpd_sys_script_exec_t:file { create lock setattr unlink write };
                 :
                 :

 コマンドオプションとして指定している「-d」、「-l」はそれぞれ、dmesgの内容を出力、設定反映後のログのみを読み込むためのオプションである。

 あとは、audit2allowコマンドが自動で出力したallow文を、「.te」ファイルにコピー&ペーストすればよい。このコマンドを使うことでログの内容をallow文に手動で変換する手間を大幅に軽減できる。

!設定の反映
 allow文を設定ファイルに追加しただけでは設定は反映されない。設定を反映するには、make reloadコマンドを/etc/selinux/strict/src/policy/以下で実行する。このコマンドは、ポリシーをバイナリー形式のファイルに変換するコマンドで、具体的には「.te」ファイルをpolicy.18ファイルに変換する。

 また、前述の例では「.te」ファイルのみを編集したため、make reloadコマンドだけで設定を反映できるが、ファイルのタイプ付けを変更(「.fc」ファイル)した場合、make reloadコマンドの実行後にfixfiles relabelコマンドも実行する必要がある。このコマンドは、「.fc」ファイルをfile_contextsファイルに変換するコマンドで、全ファイルのタイプをポリシーの内容で付与し直す。このコマンドは前にも出てきているが、これは、SELinuxを無効にするとファイルのタイプ付けが消えてしまうためである。

 fixfiles relabelコマンドは全ファイルのタイプをポリシーの内容で付与し直すため、非常に時間がかかる。このため、必要に応じて特定のディレクトリや、特定のファイルのみタイプ付けを行うコマンドを使用するといいだろう。ポリシーファイル関連のコマンドを表2にまとめたので参考にしてほしい。

{{category Linux}}
{{category2 OS,Linux}}