第Ⅱ編 Security-Enhanced Linux編
目 次
1. 本書の概要 ...... 1 1.1. 調査概要 ...... 1 1.2. 調査期間 ...... 1 1.3. 調査対象 ...... 1 1.4. 調査方法 ...... 2 1.5. 想定される読者...... 3
2. Security-Enhanced Linux の概要 ...... 4 2.1. SELinux のセキュリティアーキテクチャ ...... 4 2.1.1. TE(Type Enforcement)...... 5 2.1.2. RBAC(Role-Based Access Control)...... 5 2.2. Linux と SELinux のアクセス制御機構の比較 ...... 6 2.3. SELinux のセキュリティアーキテクチャによる効果 ...... 8
3. 構築 ...... 10 3.1. 本章の目的 ...... 10 3.2. インストール...... 11 3.2.1. Red Hat Linux のインストール ...... 11 3.2.2. SELinux のインストール ...... 12 3.2.3. SELinux 設定の補足 ...... 29 3.3. カーネルパラメータ...... 34 3.4. セキュリティポリシーのファイル構成...... 35 3.4.1. セキュリティポリシー定義ファイル...... 35 3.4.2. アプリケーション コンフィギュレーション ファイル...... 63 3.4.3. コマンド...... 68 3.5. セキュリティポリシーの定義...... 72 3.5.1. Web サーバー ...... 72 3.5.2. DNS サーバー ...... 99 3.5.3. SMTP サーバー ...... 121 3.5.4. FTP サーバー ...... 206 3.5.5. セキュリティポリシーの検証・確認方法...... 228
4. 運用 ...... 243 4.1. 本章の目的 ...... 243 4.2. 導入計画 ...... 243
(i)
4.2.1. SELinux 導入のメリット・デメリット ...... 243 4.2.2. 導入システムの留意点...... 245 4.2.3. ユーザの意識管理...... 246 4.3. 信頼性の確保...... 247 4.3.1. 保護の対象...... 247 4.3.2. 保護の対象外...... 248 4.3.3. 信頼性確保のための方針...... 249 4.4. システム管理...... 250 4.4.1. 監査・診断方法...... 250 4.4.2. アプリケーションの追加・更新...... 256 4.4.3. 保護範疇外の管理指針...... 257
5. コスト評価 ...... 262 5.1. 作業対象者のスキル...... 262 5.2. 実施手順 ...... 262 5.3. 結果 ...... 263 5.3.1. 理解度 ...... 263 5.3.2. 作業工数...... 264 5.3.3. 設定ミス・設定漏れ...... 265 5.4. 評価・分析 ...... 267 5.4.1. 理解度 ...... 267 5.4.2. 作業工数...... 268 5.4.3. 設定ミス・設定漏れ...... 269 5.5. 結論 ...... 271
付録 A セキュリティポリシー定義ファイル...... 272
付録 B 属性一覧 ...... 315
付録 C グローバルマクロ一覧...... 318
付録 D その他のマクロ...... 323
(ii)
変更履歴 変更日時 箇条番号 変更内容 2003/4/14 付録AのA-3 smclient.fcとsmclient.teのリストを追加
(iii) セキュアなインターネットサーバー構築に関する調査 セキュアなインターネットサーバーの設定と運用 Security-Enhanced Linux 編
1. 本書の概要
1.1. 調査概要
本ガイドラインは、セキュア OS の1つである Security-Enhanced Linux(SELinux)を利 用してインターネットサーバーを構築する際の理想的な設定・運用指針をまとめたもので ある。 セキュア OS である SELinux では、システムの運用を開始する前の段階におけるセキュリ ティポリシーの定義が非常に重要な作業項目である。このセキュリティポリシーの定義に おいて定義ミスや定義漏れがあったのでは、いくら SELinux といえども高いセキュリティ を確保することは不可能である。しかし、SELinux に実装されているセキュリティアーキテ クチャは非常に高度であり、それ故にセキュリティポリシーの定義は非常に複雑である。 加えて、セキュリティポリシーの定義を支援するツールに乏しく、なかなかに導入に踏み 切れないという問題がある。このような実情を踏まえて、SELinux をベースとしたインター ネットサーバーを構築・運用する際の重要なポイントをまとめたのが本ガイドラインであ る。また本ガイドラインには、SELinux の難易度・手間・負担といったものを読者に感じ取 らせるという目的も含まれている。
1.2. 調査期間
本ガイドライン作成にあたっての調査実施期間は、2002 年 12 月から 2003 年 2 月である。
1.3. 調査対象
本ガイドラインは、表 1-1 に示すシステムとバージョンを対象として調査・分析を実施 し、その結果として作成されている。
Ⅱ-1 Copyright © 2003 IPA, All Rights Reserved.
セキュアなインターネットサーバー構築に関する調査 セキュアなインターネットサーバーの設定と運用 Security-Enhanced Linux 編
表 1-1 調査・分析対象システム
システム名 バージョン URL Red Hat Linux バージョン 8.0 http://www.redhat.com/ http://www.jp.redhat.com/ SELinuxLSM-based 2.4Prototype http://www.nsa.gov/ カーネルバージョン 2.4.20 対応版 http://www.nsa.gov/selinux/ (2003 年 1 月 15 日リリース)
また、調査対象としたインターネットサービスとそのバージョンを表 1-2 に示す。
表 1-2 調査・分析対象インターネットサービス
# サービス名 プログラム名 バージョン 1 Web サーバー Apache 2.0.40-8 2 DNS サーバー BIND 9.2.1-9 djbdns 1.05 3 daemontools 0.76 4 SMTP サーバー sendmail 8.12.5-7 5 qmail 1.03-109 6 postfix 1.1.11-5 7 FTP サーバー WU-FTPD 2.6.2-8
1.4. 調査方法
本ガイドライン作成にあたっての調査では、標準、製品情報、およびインターネット上 で入手可能な公開情報による文献調査に加え、SELinux のセキュリティポリシー定義の解 析・修正・新規作成を実施することにより、以下の観点から調査を実施した。
構築面
• セキュリティポリシーを定義する際に必要な基礎知識を明らかとする。 • SELinux に標準で含まれるセキュリティポリシーを解析し、その留意点を明らかと する。また、標準で含まれないセキュリティポリシーは新たに作成し、その留意 点を明らかとする。 • セキュリティポリシーを定義する際の手順・検証方法・確認方法を明らかとする。
Ⅱ-2 Copyright © 2003 IPA, All Rights Reserved.
セキュアなインターネットサーバー構築に関する調査 セキュアなインターネットサーバーの設定と運用 Security-Enhanced Linux 編
運用面
• SELinux 導入にあたっての留意点を明らかとする。 • SELinux によって確保される信頼性の範囲を明らかとし、その留意点を明らかとす る。 • SELinux 導入後のシステム管理に関する指針・留意点を明らかとする。
コスト面
• 一般的な Linux によるインターネットサーバー構築経験者が、SELinux を利用して インターネットサーバーを構築する際にかかる工数を明らかとする。
1.5. 想定される読者
本ガイドラインは、セキュア OS である SELinux を導入し、同システム上にてインターネッ トサーバーを稼動させる際の指針をまとめたものである。従って、SELinux のベースとなる Red Hat Linux あるいは各インターネットサービスのインストール・設定・運用に関しては 言及していない。本ガイドラインは、以下に挙げるスキルを有している読者を想定して作 成されている。