SELinux Config Checker
sod(B3)
親:true
被害の拡大防止という考え方
セキュリティに万全はない
危険性を下げる目的
被害を受けた場合も考えなければならない
例えば、0-day攻撃などの未知の攻撃
証拠の保全
侵入経路の解析
Trusted OSである理由
脆弱性があった場合、被害を最小限に
特定のプロセスに与える権限を限定
apacheの権限ではweb部分のReadに限定
証拠の保全
各種ログの改竄防止
踏み台、なりすまし
Trusted OSの概要
次の二つの機能を保有
MAC(強制アクセス制御)
最小特権
SELinux
TE(Type Enforcement)とRBAC(RoleBased Access Control)というMAC
既存のLinuxの環境をほぼそのまま利用可能
Kernel2.6よりカーネル自体にマージ
他にも、Trusted BSD、 PitBull、etc…
SELinuxの設定例
users
user system_u roles system_r;
user user_u roles user_r;
user root roles { user_r staff_r sysadm_r };
user sod roles { user_r };
httpd.fc(抜粋)
/usr/sbin/httpd
/var/www/html(/.*)?
httpd.te(抜粋)
system_u:object_r:httpd_t
system_u:object_r:httpd_sys_contents_t
type http_d;
type httpd_sys_contents_t;
allow httpd httpd_sys_contents_t:dir {read};
アクセスコントロール例
Traditional OS
Trusted OS
/var/log/wtmp
/var/log/wtmp
Append Only
SELinuxの実際
ポリシー設定が複雑
多くのサンプルポリシーで修正が必要
設定には知識と努力が必要
設定ミスの危険性
不適切なポリシー設定では効果が薄い
ポリシー設定の脆弱性を検査する手段の必要性
SELinux Config Checker
検査手順案
1. 動作しているデーモンなどを探査
一般に、設定は各デーモン毎に必要
2. 保持しているデータベースから、
該当する検査用ルールセットを選択
データベースは随時更新出来るように
3. ポリシーの脆弱性の検査
警告という意味で比較的厳しく
SELinux Config Checker
ポリシー設定の脆弱性を検査
不必要な権限の有無
例えば、httpd(httpd_t)が
ログを書き換える必要性はない
不必要なドメインへの遷移の有無
httpd_t → sysadm_t 不必要
well-knownな攻撃に対する対策の有無
SANS top20, etc…
SELinux Config Checker 図
/var/log/wtmp
進捗状況
作業済み
SELinuxの導入
作業中
SELinuxの設定と動作
SELinux Config Checkerの仕様決定
未作業
SELinux Config Checkerの実装
© Copyright 2026 ExpyDoc