第3回 Referenceポリシーを設定してみよう

古田 真己
サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
2006/2/9

 第2回「構成が大きく変わったセキュリティポリシー 2.x系」では新しく採用されるReferenceポリシーのセットアップ方法までを解説しました。今回は設定方法の詳細について見ていきましょう。

 ポリシー記述の必要性

 Fedora CoreにおけるSELinuxの設定のデフォルトはTargetedポリシー第1回参照)になっており、必要なサービス以外についてはSELinuxのアクセス制御は導入されていません。このため、新しいサービスの導入・設定に関して、あまりSELinuxのことを考えずとも動作させることができるようになっています。その設定方針は今回触れる開発版であるRaw Hideにも当てはまります。

 SELinuxのポリシー設定を見直し、記述する必要があるのは、Targetedポリシーで保護されたサービスに対して新しい設定を追加または変更する場合と、新しく導入したサービスに対してSELinuxのアクセス制御を適用したい場合です。今回は保護されたサービスに対して新しい設定を追加する場合を想定し、その手順について説明したいと思います。

 ポリシー設定のモデルケース

 SELinuxのポリシーを記述し、有効にするためには、以下のようなステップを踏むのがよいと思います。順に説明します。

0.動作環境の変更

新しい設定の追加や変更、サービスを導入する
SELinuxを無効(Permissiveモード)に設定し、正しく動作することを確認する

1.現状の動作を把握

SELinuxを有効(Enforcingモード)に設定して動作を観察する

2.ポリシー定義上での問題部分の発見

問題が発生している部分のSELinuxの動作をAuditログから把握する

3.記述内容のまとめ

必要な権限を洗い出す
必要な権限の設定が既存のマクロに含まれていないか確認する

4.ポリシーの記述

3でまとめた内容を基にポリシーを記述する

5.テストと修正

記述した内容でポリシーをロードし、問題がある場合は修正する

あくまでモデルケースですので、慎重に行うに越したことはありません(別途検証環境を用意して行うなど)。

 ターゲットマシンのアプリケーション環境

 今回は「0.動作環境の変更」としてRaw Hideに含まれるtomcat5(tomcat5-5.0.30-8jpp_8fc)に対して、jpackage.orgから取得してビルドしたmod_jk(mod_jk-ap20-1.2.15-2jpp)を新規導入した環境を用意しました。

ディストリビューション Raw Hide(2006/1/24版)
Linux Kernel kernel-2.6.15-1.1871_FC5
SELinux libselinux-1.29.6-1
libsemanage-1.5.15-1
libsepol-1.11.9-1
libsetrans-0.1.18-1
checkpolicy-1.28-5
policycoreutils-1.29.9-2
selinux-policy-2.2.4-1
(selinux-policy-targeted-2.2.4-1)
Referenceポリシー(2006/1/24版)
Apache httpd-2.2.0-4
httpd-devel-2.2.0-4
Tomcat tomcat5-5.0.30-8jpp_8fc
tomcat5-admin-webapps-5.0.30-8jpp_8fc
tomcat5-jasper-5.0.30-8jpp_8fc
tomcat5-jasper-javadoc-5.0.30-8jpp_8fc
tomcat5-servlet-2.4-api-5.0.30-8jpp_8fc
tomcat5-servlet-2.4-api-javadoc-5.0.30-8jpp_8fc
tomcat5-webapps-5.0.30-8jpp_8fc
mod_jk mod_jk-ap20-1.2.15-2jpp
mod_jk-manual-1.2.15-2jpp
mod_jk-tools-1.2.15-2jpp

 SELinuxのポリシー(selinux-policy-targeted-2.2.4-1)はCVSから取得したReferenceポリシー(2006/1/24版)を使用するため、今回は使用しません。また、起動はRunlevel3で行い、起動サービスは以下のとおりです。

acpid
0:off
1:off
2:off
3:on
4:on
5:on
6:off
anacron
0:off
1:off
2:on
3:on
4:on
5:on
6:off
auditd
0:off
1:off
2:on
3:on
4:on
5:on
6:off
avahi-daemon
0:off
1:off
2:off
3:on
4:on
5:on
6:off
crond
0:off
1:off
2:on
3:on
4:on
5:on
6:off
cups
0:off
1:off
2:on
3:on
4:on
5:on
6:off
cups-config-daemon
0:off
1:off
2:off
3:on
4:on
5:on
6:off
haldaemon
0:off
1:off
2:off
3:on
4:on
5:on
6:off
httpd
0:off
1:off
2:on
3:on
4:on
5:on
6:off
irqbalance
0:off
1:off
2:on
3:on
4:on
5:on
6:off
messagebus
0:off
1:off
2:off
3:on
4:on
5:on
6:off
network
0:off
1:off
2:on
3:on
4:on
5:on
6:off
ntpd
0:off
1:off
2:off
3:on
4:off
5:on
6:off
postfix
0:off
1:off
2:on
3:on
4:on
5:on
6:off
readahead_early
0:off
1:off
2:on
3:on
4:on
5:on
6:off
sshd
0:off
1:off
2:on
3:on
4:on
5:on
6:off
syslog
0:off
1:off
2:on
3:on
4:on
5:on
6:off
tomcat5
0:off
1:off
2:on
3:on
4:on
5:on
6:off
xfs
0:off
1:off
2:on
3:on
4:on
5:on
6:off

1/2

Index
Referenceポリシーを設定してみよう
Page1
ポリシー記述の必要性
ポリシー設定の手順
  Page2
2006/1/24版Referenceポリシーの設定手順
再起動後のテスト
ドキュメントの確認


Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間