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 2024 ExpyDoc