Red Hat Training

A Red Hat training course is available for Red Hat Satellite

第6章 セキュリティーコンプライアンスの管理

セキュリティーコンプライアンス管理は、セキュリティーポリシーの定義、それらのポリシーへのコンプライアンスの監査、およびコンプライアンス違反のインスタンスの解決などを行う継続的なプロセスです。コンプライアンス違反は、組織の設定管理ポリシーに基づいて管理されます。セキュリティーポリシーは、ホスト固有のものから業界共通のものまでに及ぶため、ポリシー定義には柔軟性が必要になります。

6.1. セキュリティーコンテンツの自動化プロトコル

Satellite 6 では、Security Content Automation Protocol (SCAP) を使ってセキュリティー設定ポリシーを定義します。たとえば、セキュリティーポリシーは、Red Hat Enterprise Linux を実行するホストの場合に SSH 経由のログインを root アカウントに許可しないように指定することが可能です。Satellite 6 では、管理対象の全ホストについて、コンプライアンスの監査とレポーティングをスケジュールすることができます。SCAP についての詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド を参照してください。

6.1.1. SCAP コンテンツ

SCAP コンテンツは、ホストのチェックに使用される設定およびセキュリティーベースラインが含まれるデータストリーム形式のコンテンツです。チェックリストは extensible checklist configuration description format (XCCDF) および open vulnerability and assessment language (OVAL) の脆弱性に記述されます。ルール とも呼ばれるチェックリスト項目は、システム項目の必要な設定を表します。たとえば、どのユーザーも root ユーザーアカウントを使用して SSH 経由でホストにログインできないように指定することができます。ルールは 1 つ以上のプロファイルに分類でき、複数のプロファイルで 1 つのルールを共有できるようにすることができます。SCAP コンテンツはルールとプロファイルの両方で構成されています。

SCAP コンテンツは、作成することも、ベンダーから取得することも可能です。Red Hat Enterprise Linux 用にサポートされるプロファイルは scap-security-guide パッケージで提供されます。SCAP コンテンツの作成については本ガイドで扱いませんが、独自のコンテンツをダウンロードし、デプロイし、変更し、作成する方法についての詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド を参照してください。Red Hat Enterprise Linux と共に提供される SCAP コンテンツは SCAP 仕様 1.2 に準拠しています。

Satellite 6 の OpenSCAP コンポーネントと共に提供されるデフォルトの SCAP コンテンツは、Red Hat Enterprise Linux のバージョンによって異なります。Red Hat Enterprise Linux 7 には、Red Hat Enterprise Linux 6 と Red Hat Enterprise Linux 7 の両方のコンテンツがインストールされます。

6.1.2. XCCDF プロファイル

XCCDF プロファイルは、ホストまたはホストグループの評価に使用されるチェックリストです。プロファイルは、業界標準またはカスタム標準への準拠を確認するために作成されます。

Satellite 6 で提供されるプロファイルは、OpenSCAP project から取得できます。

6.1.2.1. 利用可能な XCCDF プロファイルの一覧表示

Satellite UI で、利用可能な XCCD プロファイルを一覧表示します。

手順

  • ホスト > SCAP コンテンツ に移動します。

6.2. SCAP コンテンツの設定

6.2.1. OpenSCAP Puppet モジュールのインポート

OpenSCAP コンテンツを Puppet 環境にインポートするには、監査する各ホストを Satellite UI で Puppet 環境に関連付ける必要があります。

手順

  1. 設定 > 環境 に移動します。
  2. satellite.example.com からの環境のインポート をクリックします。
  3. 監査するホストに関連付けられた Puppet 環境のチェックボックスを選択します。

    Puppet 環境が存在しない場合は、production 環境のチェックボックスを選択します。

  4. 更新 をクリックします。

6.2.2. デフォルト OpenSCAP コンテンツのロード

CLI で、デフォルトの OpenSCAP コンテンツをロードします。

手順

  • 以下のように foreman-rake コマンドを使用します。

    # foreman-rake foreman_openscap:bulk_upload:default

6.2.3. 追加の SCAP コンテンツ

追加の SCAP コンテンツは、各自で作成したものか他から取得したものかを問わず、Satellite Server にアップロードできます。SCAP コンテンツは、ポリシーに適用される前に Satellite Server にインポートされる必要があります。たとえば、Red Hat Enterprise Linux 7.2 リポジトリーで利用可能な scap-security-guide RPM パッケージには、Payment Card Industry Data Security Standard (PCI-DSS) バージョン 3 向けのプロファイルが含まれます。このコンテンツは、オペレーティングシステムのバージョン固有ではないため、Red Hat Enterprise Linux 7.2 を実行していない場合でも Satellite Server にアップロードできます。

6.2.3.1. 追加の SCAP コンテンツのアップロード

Satellite web UI で追加の SCAP コンテンツをアップロードします。

手順

  1. ホスト > SCAP コンテンツ に移動して、新規 SCAP コンテンツ をクリックします。
  2. タイトル テキストボックスにタイトルを入力します。

    例: RHEL 7.2 SCAP コンテンツ.

  3. ファイルの選択 をクリックしてから、SCAP コンテンツファイルが含まれるロケーションに移動し、開く を選択します。
  4. 送信 をクリックします。

SCAP コンテンツファイルが正常にロードされると、Successfully created RHEL 7.2 SCAP Content (RHEL 7.2 SCAP コンテンツが正常に作成されました) といったメッセージが表示され、SCAP コンテンツ のリストに新規のタイトルが含まれます。

6.3. コンプライアンスポリシーの管理

6.3.1. コンプライアンスポリシー

コンプライアンスポリシー とも呼ばれる定期監査は、XCCDF プロファイルに対して指定したホストのコンプライアンスをチェックするスケジュールタスクです。スキャンのスケジュールは Satellite Server で指定され、スキャンはホストで実行されます。スキャンが完了すると、Asset Reporting File (ARF) が XML 形式で生成され、Satellite Server にアップロードされます。スキャンの結果はコンプライアンスポリシーダッシュボードで確認できます。コンプライアンスポリシーでは、スキャンされるホストに変更はなされません。SCAP コンテンツには、関連付けられたルールのあるいくつかのプロファイルが含まれますが、デフォルトではポリシーは含まれません。

6.3.2. ポリシーの作成

以下の手順に従ってコンプライアンスポリシーを作成します。ここでは 、指定された時間にロケーションおよびホストまたはホストグループのいずれかに適用される SCAP コンテンツとプロファイルを指定します。

ポリシーを作成するには、以下を実行します。

  1. Satellite web UI で、ホスト > ポリシー に移動して、新規ポリシー をクリックしてからウィザードのステップに従います。
  2. ポリシーの名前、説明 (オプション) を入力してから 次へ をクリックします。
  3. 適用する SCAP コンテンツおよび XCCDF プロファイルを選択してから 次へ をクリックします。
  4. ポリシーを適用する時間を指定してから 次へ をクリックします。

    期間 のドロップダウンメニューから、毎週毎月、または カスタム を選択します。

    • 毎週 を選択したら 平日 ドロップダウンリストから曜日を選択します。
    • 毎月 を選択したら 日付 フィールドで日付を指定します。
    • カスタム を選択したら Cron 行 フィールドに有効な Cron 式を入力します。

      Custom オプションでは、毎週 もしくは 毎月 オプションよりもスケジュールに柔軟性を持たせることができます。

  5. ポリシーを適用するロケーションを選択してから 次へ をクリックします。
  6. ポリシーを適用する組織を選択してから 次へ をクリックします。
  7. ポリシーを適用するホストグループを選択してから 送信 をクリックします。

Puppet エージェントが選択したホストグループに属するホスト、またはポリシーが適用されているホストで実行される場合、OpenSCAP クライアントがインストールされ、Cron ジョブがポリシーの指定されたスケジュールと共に追加されます。SCAP コンテンツ タブでは、すべてのターゲットホストのディレクトリー /var/lib/openscap/content/ に配信される SCAP コンテンツの名前を指定します。

6.3.3. ポリシーの表示

以下の手順に従って、特定の OpenSCAP コンテンツおよびプロファイルの組み合わせによって適用されるルールのプレビューを行います。これはポリシーを計画する際に便利です。

ポリシーを表示するには、以下を実行します。

  1. Satellite web UI で、ホスト > ポリシー に移動します。
  2. ガイドの表示 をクリックします。

6.3.4. ポリシーの編集

以下の手順に従ってポリシーを編集します。編集されたポリシーは、次に Puppet エージェントが Satellite Server で更新をチェックする際にホストに適用されます。これはデフォルトで 30 分ごとに実行されます。

ポリシーを編集するには、以下を実行します。

  1. Satellite web UI で、ホスト > ポリシー に移動します。
  2. ポリシーの名前の右側にあるドロップダウンリストから、編集 を選択します。
  3. 必要な属性を編集します。
  4. 送信 をクリックします。

編集されたポリシーは、次に Puppet エージェントが Satellite Server で更新をチェックする際にホストに適用されます。これはデフォルトで 30 分ごとに実行されます。

6.3.5. ポリシーの定義

以下の手順を実行して既存のポリシーを削除します。

  1. Satellite web UI で、ホスト > ポリシー に移動します。
  2. ポリシーの名前の右側にあるドロップダウンリストから、削除 を選択します。
  3. 確認メッセージで OK をクリックします。

6.3.6. ホストへのポリシーの追加

ホストにポリシーを追加するには、以下の手順に従います。

  1. Satellite web UI で、ホスト > すべてのホスト に移動します。
  2. ポリシーを追加するホストを選択します。
  3. アクションの選択 をクリックします。
  4. リストから コンプライアンスポリシーの割り当て を選択します。
  5. 新規パネルで、利用可能なポリシー一覧から適切なポリシーを選択し 送信 をクリックします。

6.4. テーラリングファイル

テーラリングファイルを使うと、既存の OpenSCAP ポリシーを分岐したり書き換えたりせずにカスタマイズすることができます。テーラリングファイルは、ポリシー作成時や更新時にポリシーに割り当てることができます。

テーラリングファイルは SCAP Workbench を使用して作成することができます。SCAP Workbench ツールについての詳細は、Customizing SCAP Security Guide for your use-case を参照してください。

6.4.1. テーラリングファイルのアップロード

Satellite web UI でテーラリングファイルをアップロードします。

手順

  1. ホスト > コンプライアンス - テーラリングファイル に移動して、新規 テーラリングファイル をクリックします。
  2. 名前 テキストボックスに、名前を入力します。
  3. ファイルの選択 をクリックしてから、SCAP DataStream テーラリングファイルが含まれるロケーションに移動し、開く を選択します。
  4. 送信 をクリックして、選択したテーラリングファイルをアップロードします。

6.4.2. テーラリングファイルのポリシーへの割り当て

Satellite web UI でテーラリングファイルをポリシーに割り当てます。

手順

  1. ホスト > コンプライアンス - ポリシー に移動します。
  2. 新規ポリシー、または既存のコンプライアンスポリシーがある場合は、新規コンプライアンスポリシー をクリックします。
  3. 名前 テキストボックスに名前を入力して 次へ をクリックします。
  4. ドロップダウンメニューから Scap コンテンツ を選択します。
  5. ドロップダウンメニューから XCCDF プロファイル を選択します。
  6. ドロップダウンメニューから テーラリングファイル を選択します。
  7. ドロップダウンメニューから テーラリングファイル内の XCCDF プロファイル を選択します。

    テーラリングファイルは複数の XCCDF プロファイルを含めることが可能なため、XCCDF プロファイルの選択が重要になります。

  8. 次へ をクリックします。
  9. ドロップダウンメニューから 期間 を選択します。
  10. ドロップダウンメニューから 平日 を選択して、次へ をクリックします。
  11. 選択したアイテム ウィンドウに移動させる ロケーション を選択して、次へ をクリックします。
  12. 選択したアイテム ウィンドウに移動させる 組織 を選択して、次へ をクリックします。
  13. 選択したアイテム ウィンドウに移動させる ホストグループ を選択して、送信 をクリックします。

6.5. コンプライアンスのモニター

コンプライアンスのモニターは、監査が実行されていることを確認し、コンプライアンス違反を特定するための継続的なタスクです。Red Hat Satellite 6 は一元化したコンプライアンスのモニターと管理を可能にします。Satellite の管理下にあるホストについては、カスタムスケジュールに基づいてコンプライアンス状況のチェックが行われ、詳細が Satellite Server によって照合されます。コンプライアンスダッシュボードでは、ホストのコンプライアンスの概要を示し、ポリシーの範囲内の各ホストの詳細を表示できます。コンプライアンスレポートでは、各ホストの適用可能なポリシーへのコンプライアンスの詳細な分析を行います。この情報を利用して、各ホストが提示するリスクを評価し、ホストのコンプライアンスを確保するために必要なリソースをより効果的に管理できます。

SCAP を使用してコンプライアンスをモニターする際の共通の目的には以下が含まれます。

  • ポリシーコンプライアンスの表示
  • コンプライアンスの変更の検知

Satellite web UI は、これらの目的を達成するために必要なすべての情報を提供します。コンプライアンスポリシーダッシュボードでポリシーのコンプライアンス状況を検証します。コンプライアンスレポートの履歴を確認するか、または変更のメール通知をサブスクライブするかのいずれかによって、ポリシーコンプライアンスにおける変更を検出します。

6.5.1. コンプライアンスポリシーダッシュボード

コンプライアンスポリシーダッシュボードは、ホストのポリシーへのコンプライアンス状況の概要を示します。コンプライアンスポリシーのダッシュボードを表示するには、Satellite web UI を開いてから ホスト > ポリシーに移動し、必要なポリシー名をクリックします。ダッシュボードでは以下の情報が提供されます。

  • ホストのポリシーへのコンプライアンス状況のハイレベルビューを表示するリングチャート
  • ホストのポリシーコンプライアンス状況についての統計の内訳 (表形式)
  • 各ホストの最新ポリシーレポートへのリンク

ダッシュボードビューは、ホストのコンプライアンス状況の統計的な概要を表示するため、コンプライアンスの管理をここから開始することができます。コンプライアンス違反として評価されたすべてのホストについては、Failed (失敗)の統計でコンプライアンスタスクの優先付けに使用できるメトリックを提供します。未監査 として検出されたホストも、それらの状況が不明なために優先する必要があります。

Compliance Policy Dashboard

6.5.2. コンプライアンスレポートの概要

コンプライアンスレポートは、ホストに対して実行されるポリシーの出力です。すべてのコンプライアンスレポートを一覧表示するには、Satellite web UI を開いてから ホスト > レポート に移動します。各レポートには、ポリシーごとに合格または不合格となったルールの合計数が含まれます。デフォルトでは、レポートは日付の降順で一覧表示されます。並べ替え順序を変更するには、並べ替える列のラベルをクリックします。次に、その同じラベルをもう一度クリックして降順または昇順のいずれかに変更します。個別のレポートを表示するには、レポートを表示 をクリックします。ホストの全レポート、またはホストのサブセットを表示するには、検索 フィールドを使用します。コンプライアンスレポートを削除するには、レポートを表示 の横にある矢印をクリックして、削除 を選択します。

ホストのポリシーコンプライアンスを管理する際には、一定期間コンプライアンスの変更をモニターすることが役立ちます。検索 フィールドを使用してレポートの一覧を 1 つ以上のホストに限定し、変更を手動で評価します。または、通知メールを設定することもできます。

6.5.3. コンプライアンスレポートの検索

コンプライアンスレポートの検索フィールドを使用して、ホストのサブセットで入手可能なレポート一覧に範囲を制限します。

フィルターを適用するには、検索 フィールドに検索条件を入力し、Enter を押すか、または 検索 をクリックします。実行される検索では大文字と小文字が区別されません。

空の 検索 フィールドをクリックすると、利用可能な検索パラメーターが一覧表示されます。

andnot および has の論理演算子を使用すると複雑なクエリを作成することができます。論理演算子の詳細については、「詳細な検索に対してサポートされる演算子」 を参照してください。

正規表現は有効な検索基準ではありませんが、単一の検索式に複数のフィールドを使うことが可能です。利用可能な検索演算子については、「詳細な検索に対してサポートされる演算子」 を参照してください。

検索ユースケース

以下の検索条件では、6 つ以上のルールがパスしなかったコンプライアンスレポートを検索します。

failed > 5

以下の検索条件では、ホスト名に prod- が含まれるホストで、2015 年 11 月 5 日以降に作成されたコンプライアンスレポートが検索されます。

host ~ prod- AND date > "Nov 5, 2015"

以下の検索条件では、1 時間前より compliance_policy rhel7_audit を使用して生成されたすべてのレポートが検索されます。

"1 hour ago" AND compliance_policy = date = "1 hour ago" AND compliance_policy = rhel7_audit

すべての 利用可能なコンプライアンスレポートを再び一覧表示するには、検索 条件を削除してから、Enter を押すか、検索 をクリックします。

検索条件はブックマークすることで、同じ検索条件を再使用することができます。詳細は 「ブックマークの作成」 を参照してください。

ブックマークを使用するには、ホスト > レポート に移動し、検索 ボタンの横にあるドロップダウン項目をクリックしてから、ブックマークをクリックします。

6.5.4. コンプライアンスレポートの表示

ホスト > レポート に移動して、特定ホストの列にある レポートの表示 をクリックします。

コンプライアンスレポートは以下のセクションで構成されています。

  • はじめに
  • Evaluation Characteristics (評価特性)
  • Compliance and Scoring (コンプライアンスおよびスコアリング)
  • Rule Overview (ルールの概要)

6.5.4.1. Evaluation Characteristics (評価特性)

このセクションでは、評価されたホスト、評価に使用されたプロファイル、および評価の開始と終了を含む、特定のプロファイルに対する評価についての詳細情報を提供します。参照用として ホストの IPv4、IPv6、および MAC アドレスも一覧表示されます。

評価特性

Target machine
評価されるホストの完全修飾ドメイン名 (FQDN) です。例: test-system.example.com
Benchmark URL
ホストの評価に使用される SCAP コンテンツの URL です。例: /var/lib/openscap/content/1fbdc87d24db51ca184419a2b6f
Benchmark ID
ホストの評価に使用されるベンチマークの ID です。ベンチマークはプロファイルのセットです。例: xccdf_org.ssgproject.content_benchmark_RHEL_7
Profile ID
ホストの評価に使用されるプロファイルの ID です。例: xccdf_org.ssgproject_content_profile_rht-ccp
Started at
ISO 8601 形式で示される評価が開始された日時です。例: 2015-09-12T14:40:02
Finished at
ISO 8601 形式で示される評価の終了日時です。例: 2015-09-12T14:40:05
Performed by
評価をホストに実行したローカルのアカウント名です。例: root

6.5.4.2. Compliance and Scoring (コンプライアンスおよびスコアリング)

このセクションでは、ホストがプロファイルのルールに準拠しているかどうかの概要、重大度別の非コンプライアンスの内訳、およびパーセンテージで示される全体のコンプライアンススコアを示します。ルールへのコンプライアンスがチェックされなかった場合には、ルール結果その他として分類されます。

6.5.4.3. Rule Overview (ルールの概要)

このセクションでは、階層的に示されるルールと共にすべてのルールの詳細とコンプライアンスの結果を示します。

コンプライアンスレポートに組み込まれるルールの一覧を制限するためにチェックボックスを選択したり、クリアしたりします。たとえば、非コンプライアンスを重点的にレビューする場合には、pass および informational チェックボックスをクリアします。

すべてのルールを検索するには、検索 フィールドに条件を入力します。検索は、入力時に動的に適用されます。検索 フィールドは、単一のプレーンテキストの検索用語のみを受け入れ、それは大文字と小文字を区別しない検索に適用されます。検索の実行時には、説明が検索条件に一致するルールのみが一覧表示されます。検索フィルターを削除するには、検索条件を削除します。

各結果の説明については、結果 コラムに示されるステータスの上にカーソルを移動します。

6.5.4.4. ルール結果の検査

ホストがルールのコンプライアンスに失敗した理由を判別するには、ルールのタイトルをクリックします。次に開かれるウィンドウでは、ルールの説明 (該当する場合は、ホストのコンプライアンスを確保する方法が含まれる)、ルールの根拠、および場合によっては修復スクリプトを含む追加情報が提供されます。

警告

推奨される修復操作やスクリプトのいずれについても、まずそれらを実稼働以外の環境でテストしてから実装するようにしてください。

6.5.5. コンプライアンスのメール通知

Satellite Server は、Openscap policy summary(Openscap ポリシー概要) のメール通知をサブスクライブしているすべてのユーザーに、OpenSCAP 概要メールを送信します。通知メールをサブスクライブする方法については、「E メール通知の設定」 を参照してください。ポリシーが実行されるたびに、Satellite は直前の実行との比較で結果をチェックし、変更がないかどうかを確認します。メールは各サブスクライバーがリクエストする頻度で送信され、各ポリシーの概要と直近の結果の概要を提供します。

OpenSCAP の概要 メールメッセージには、以下の情報が含まれます。

  • 対象とする期間の詳細。
  • すべのホストの合計 (状況別): 変更済み、準拠、および非準拠。
  • 各ホストの表形式の内訳と、合格、失敗、変更済み、または結果が不明な場合などのルールの合計を含む最新ポリシーの結果。

6.6. OpenSCAP でサポートされる仕様

以下の仕様が OpenSCAP でサポートされています。

タイトル説明バージョン

XCCDF

Extensible Configuration Checklist Description Format

1.2

OVAL

Open Vulnerability and Assessment Language

5.11

-

Asset Identification

1.1

ARF

Asset Reporting Format

1.1

CCE

Common Configuration Enumeration

5.0

CPE

Common Platform Enumeration

2.3

CVE

Common Vulnerabilities and Exposures

-

CVSS

Common Vulnerability Scoring System

2.0