SaltStack SecOps Compliance は、セキュリティと IT 運用を単一のプラットフォームで組み合わせた、IT インフラストラクチャのセキュリティおよびコンプライアンス ソリューションです。そのセキュリティ ライブラリには、業界のベスト プラクティスである CIS などのセキュリティ強化ガイドに基づいた最新のセキュリティ標準が含まれています。このライブラリを使用して、インフラストラクチャのセキュリティを評価するほか、非準拠のシステムがあれば即座に修正します。
SaltStack SecOps Compliance を使用するには、まずポリシーを定義し、ポリシーに対してシステムをスキャンします。スキャンでは非準拠のシステムが検出され、問題を即座に修正できます。さらに、除外を入力し、ユーザー権限を指定することで、修正までのすべてのパスを組織のニーズに合わせてカスタマイズできます。
このセクションでは、SaltStack Config のユーザー インターフェイスで SaltStack SecOps Compliance を使用する方法について説明します。ただし、SaltStack SecOps Compliance は API (RaaS) で使用することもできます。詳細についてはAPI (RaaS) RPC エンドポイントのドキュメントを参照するか、管理者に確認してください。
SaltStack SecOps Compliance は、Salt の強力な構成管理機能とリモート実行機能を活用して、すべてのインフラストラクチャ資産を業界全体のさまざまなセキュリティ ベンチマークに準拠させることができます。組織のニーズに基づくカスタムの除外を使用し、SaltStack Config との統合によりセキュリティ対策を大規模に適用できます。
ポリシー
SaltStack SecOps Compliance でインフラストラクチャ資産のセキュリティを保護するには、まずポリシーを定義します。SaltStack SecOps Compliance では、CIS などのチェックを含め、業界のさまざまなベンチマークを選択できます。ポリシーの定義の詳細については、ポリシーの作成を参照してください。
各ベンチマークには、セキュリティ チェックのコレクションが含まれています。特定のベンチマークに対して使用可能なすべてのチェックを適用するか、使用可能なチェックのサブセットのみを適用することができます。特定のチェック内容を修正すると既知の依存関係が解除されるリスクがある場合などは、チェックのサブセットを使用することで、インフラストラクチャ固有のニーズに合わせて SaltStack SecOps Compliance をカスタマイズできます。ベンチマークとチェックの詳細については、準拠ポリシーを参照してください。
評価と修正
SaltStack SecOps Compliance では、インフラストラクチャのセキュリティを評価するための基盤として、準拠ポリシーを使用します。各評価の後、SaltStack SecOps Compliance は非準拠システムおよび推奨される修正を記載したレポートを生成します。評価の実行を参照してください。
評価の後、非準拠のノードがある場合は修正できます。SaltStack SecOps Compliance では、必要に応じて、すべてのノードを一度に修正することも、ノードまたはチェックのサブセットのみを修正することもできます。修正の詳細については、すべてのチェックの修正を参照してください。
カスタマイズ
組織のニーズに合わせて SaltStack SecOps Compliance をカスタマイズするために、特定のチェックとノードを修正から除外することができます。また、業界標準よりも厳しい要件を適用するために変数値を挿入することもできます。除外の詳細については、除外の追加を参照してください。
別のカスタマイズ方法として、特定のユーザーにのみ修正を許可し、他のユーザーにはポリシーの評価または定義のみを許可するように、ユーザー権限を構成することもできます。これにより、実行されるすべてのアクションを完全に制御できます。権限の詳細については、ロールと権限を参照してください。
ポリシーの作成
- SaltStack SecOps Compliance のホーム ページで、[ポリシーの作成] をクリックします。
- ポリシー名を入力し、ポリシーを適用するターゲットを選択します。[次へ] をクリックします。
注:
ターゲットは 1 つ以上の Salt マスター上に構成されるミニオンのグループで、これに対してジョブの Salt コマンドが適用されます。Salt マスターもミニオンのように管理でき、ミニオン サービスを実行している場合はターゲットにすることができます。ミニオンは minion サービスが実行されるノードであり、Salt マスターからのコマンドをリッスンして、要求されたタスクを実行できます。詳細については、ミニオンを参照してください。
- [ベンチマーク] タブで、ポリシーに含めるすべてのベンチマークを選択し、[次へ] をクリックします。
ベンチマークが表示されない場合は、コンプライアンス コンテンツのダウンロードが必要な場合があります。詳細については、セキュリティ ライブラリの更新を参照するか、管理者に確認してください。
注:Windows Server のベンチマークを使用する場合は、選択したベンチマークに含まれている内容を必ず確認してください。(ツールチップ で示される)特定のベンチマークの CIS コンテンツは、次の 3 つの異なるベンチマークに分かれています。
- ドメイン マスター コンテンツ
- メンバー コンテンツ
- ドメイン マスターおよびメンバー コンテンツ
つまり、すべてのメンバー コンテンツを含める場合は、「メンバー」と「ドメイン マスターおよびメンバー」の両方のベンチマークを選択する必要があります。
- [チェック] タブで、ポリシーに含めるすべてのチェックを選択します。使用可能なチェックは、選択したベンチマークによって決まります。
説明や関連する修正など、チェックの詳細を表示するには、二重矢印アイコン をクリックして詳細ペインを開きます。
カスタム チェックにはユーザー アイコン が表示され、SaltStack チェックには が表示されます。
チェックの詳細については、準拠ポリシーを参照してください。
リストをフィルタリングするには、[フィルタ] ボタン をクリックします。アクティブなフィルタを削除するには、[フィルタのクリア] をクリックします。
注:多数のチェックを含むポリシーでは、評価中の処理に長い時間がかかる場合があります。これにより、実行中のジョブなど、SaltStack Config 内の他のプロセスが遅延する可能性があります。必要なチェックのみを含めるようにし、大規模な評価を実行する場合は時間を長めに確保してください。
- [次へ] をクリックします。
- [変数] タブで、必要に応じて変数を入力または変更するか、デフォルト値を受け入れます。[次へ] をクリックします。
注:
入力した値によって、選択したチェックが SaltStack SecOps Compliance によってどのように実行されるが定義されます。デフォルト値を推奨します。変数の詳細については、準拠ポリシーを参照してください。
- [スケジュール] 画面で、スケジュールの頻度を定義し、[保存] をクリックします。スケジュール設定の定義の詳細については、準拠ポリシーを参照してください。
- (オプション)[保存時に評価を実行] を選択します。
- [保存] をクリックします。
ポリシーが保存されます。保存時に評価を実行することを選択した場合、この時点で評価が実行されます。
ポリシーの編集
- SaltStack SecOps Compliance のホーム ページで、編集するポリシーを選択します。
- ポリシー画面で、右上の [ポリシーの編集] をクリックします。
- 必要に応じてポリシーを編集し、[保存] をクリックします。
セキュリティ ライブラリの更新
- サイド メニューの [管理者] > [SecOps] をクリックします。
- [コンプライアンス コンテンツ - SaltStack] の [更新を確認] をクリックします。
評価の実行
多数のチェックを含むポリシーでは、評価中の処理に長い時間がかかる場合があります。これにより、実行中のジョブなど、SaltStack Config 内の他のプロセスが遅延する可能性があります。大規模な評価を実行するためにかかる追加の時間を考慮しておいてください。
- SaltStack SecOps Compliance のホーム ページで、ポリシーを選択します。
- ポリシーのホーム ページで、[評価の実行] をクリックします。[アクティビティ] 画面が開きます。
[アクティビティ] 画面に、完了した評価のリストと各評価のステータス、ジョブ ID (JID)、その他の情報が表示されます。
注:評価中には、変更は行われません。問題があれば、後で修正できます。すべてのチェックの修正を参照してください。
評価結果の表示
- SaltStack SecOps Compliance のホーム ページで、ポリシーを選択します。
- ポリシーのホーム ページには、最新の評価の結果がチェックごとに表示されます。
リストをフィルタリングするには、[フィルタ] ボタン をクリックします。アクティブなフィルタを削除するには、[フィルタのクリア] をクリックします。
列見出しを選択して結果を並べ替えることもできます。たとえば、非準拠のノードが最初に表示されるように [非準拠] 列を並べ替えることができます。
[ミニオン] タブを選択すると、評価結果をミニオンごとに表示できます。
注:評価結果を表示するには、まず評価を実行する必要があります。評価の実行を参照してください。
評価結果について
評価結果のリファレンスについては、評価結果を参照してください。
評価レポートのダウンロード
- SaltStack SecOps Compliance のホーム ページで、最新の評価結果を表示するポリシーを選択します。
- ポリシーのホーム ページで、[レポート] タブに移動し、[ダウンロード] をクリックします。
- 表示されるドロップダウンで、[JSON] を選択します。
Web ブラウザでレポートのダウンロードが開始されます。
すべてのチェックの修正
非準拠のシステムを特定したら、次の手順は修正です。個々のチェックまたはノード(ミニオンと呼ばれる)を修正するか、すべてのノードのすべてのチェックを修正することができます。ただし、[すべて修正] を実行しても、除外対象のチェックまたはノードは修正されません。
すべてのミニオンのすべてのチェックを修正するには、次の手順を実行します。
- SaltStack SecOps Compliance のホーム ページで、最新の評価結果を表示するポリシーを選択します。
- [チェック] タブで、右上の [すべて修正] をクリックします。
- 確認のダイアログで、[すべて修正] をクリックします。
SaltStack SecOps Compliance で、すべての非準拠ノードのすべてのチェックの修正が開始されます。[アクティビティ] タブで、修正のステータスを追跡できます。
- 修正が完了したら、新しい評価を実行して、システムがポリシーに準拠していることを確認します。
注:
多数の非準拠チェックに対して [すべて修正] を実行した場合などは、完全な準拠を実現するために、修正とスキャンのプロセスを複数回繰り返す必要があります。これは、一部のチェックが他のチェックの完了に依存するためです。たとえば、チェックを適切に修正するために、別のチェックによって展開されたパッケージが必要になる場合があります。
チェックごとの修正
- ポリシー画面で、チェックを選択してチェックの説明を開きます。
- チェックの説明を下にスクロールして、前回の評価結果のリストを表示します。結果はミニオン別に並んでいます。
列ヘッダーにフィルタ アイコン が含まれている場合は、その列タイプで結果をフィルタリングできます。アイコンをクリックし、メニューからフィルタ オプションを選択するか、フィルタリングに使用するテキストを入力します。アクティブなフィルタを削除するには、[フィルタのクリア] をクリックします。
- 選択中のチェックについて修正が必要なすべてのミニオンを選択します。
- [修正] をクリックします。
ミニオン別の修正
- ポリシー画面で、[ミニオン] タブに移動し、ミニオンを選択します。
- 選択中のミニオンについて修正が必要なすべてのチェックを選択します。
列ヘッダーにフィルタ アイコン が含まれている場合は、その列タイプで結果をフィルタリングできます。アイコンをクリックし、メニューからフィルタ オプションを選択するか、フィルタリングに使用するテキストを入力します。アクティブなフィルタを削除するには、[フィルタのクリア] をクリックします。
- [修正] をクリックします。
除外の追加
- ポリシー画面で、修正から除外するチェックを選択します。
- [除外の追加] をクリックします。
- 除外の理由を入力し、確認のために [除外の追加] をクリックします。除外は、後から必要に応じていつでも削除できます。
除外されたアイテムは修正されません。除外されたアイテムを含むポリシーに対して修正を実行すると、そのアイテムについては修正がスキップされます。
注:評価の実行前または実行後に除外を追加できます。また、ニーズに基づいてチェックを除外するようカスタマイズされたポリシーを定義することもできます。ポリシーの作成を参照してください。
ミニオンごとの除外の追加
- ポリシー画面で、[ミニオン] タブに移動します。
- 修正から除外するミニオンを選択します。
- [除外の追加] をクリックします。
- 除外の理由を入力し、確認のために [除外の追加] をクリックします。除外は、後から必要に応じていつでも削除できます。
除外されたアイテムは修正されません。除外されたアイテムを含むポリシーに対して修正を実行すると、そのアイテムについては修正がスキップされます。
除外の削除
- ポリシー画面で、[除外] タブに移動します。
- すべての除外のリストを表示するには、ページを上下にスクロールします。
注:
最初に [除外] タブを開いたときには、一部の除外が画面内に表示されていない場合があります。画面の下部までスクロールすると、すべての除外を表示できます。
- 削除する除外のドロップダウンをクリックします。
影響を受けるすべてのミニオンのリストが開きます。
- [除外の削除] をクリックします。
- 確認ダイアログで、[除外の削除] をクリックします。
SaltStack SecOps Compliance の権限の定義
SaltStack SecOps Compliance の権限を変更するには、権限エディタに移動します。SaltStack Config のロールと権限の詳細については、ロールと権限を参照してください。
SaltStack SecOps Compliance のコンテンツ ライブラリ
SaltStack SecOps Compliance のコンテンツ ライブラリは、業界のベスト プラクティスである、構築済みのセキュリティおよび準拠に関するコンテンツから構成されます。これには以下が含まれます。
- CIS
準拠ポリシー
準拠ポリシーは、SaltStack SecOps Compliance におけるセキュリティ チェックと、各チェックが適用されるノードの仕様の集合です。ポリシーにはスケジュールのほか、除外を処理する仕様も含めることができます。
セキュリティ ポリシーの各コンポーネントについて、以下で詳しく説明します。
[ターゲット]
ターゲットは 1 つ以上の Salt マスター上に構成されるミニオンのグループで、これに対してジョブの Salt コマンドが適用されます。Salt マスターもミニオンのように管理でき、ミニオン サービスを実行している場合はターゲットにすることができます。SaltStack SecOps Compliance でターゲットを選択すると、セキュリティ チェックを実行するノードが定義されます。既存のターゲットを選択するか、新しいターゲットを作成できます。詳細については、ミニオンを参照してください。
[ベンチマーク]
ベンチマークは、セキュリティ チェックのカテゴリです。SaltStack SecOps Compliance のベンチマークは信頼されたエキスパートによって定義されます。カスタム ベンチマークは組織の標準に基づいて定義できます。ベンチマークを使用すると、ノードのグループごとに最適化されたさまざまなポリシーを作成できます。たとえば、Oracle Linux のミニオンに CIS チェックを適用する Oracle Linux ポリシーや、Docker のミニオンに CIS チェックを適用する Docker ポリシーを作成できます。
カスタム チェックやカスタム ベンチマークの作成の詳細については、SaltStack SecOps Compliance のカスタム コンテンツを参照してください。
SaltStack SecOps Compliance では、セキュリティ チェックをベンチマークごとにグループ化することで、セキュリティ ポリシーを定義するプロセスを簡素化できます。
[チェック]
チェックは、SaltStack SecOps Compliance で準拠を評価するセキュリティ標準です。SaltStack SecOps Compliance ライブラリでは、セキュリティ標準の変更に応じて、チェックが頻繁に更新されます。SaltStack SecOps Compliance のコンテンツ ライブラリに含まれるチェックに加えて、独自のカスタム チェックを作成できます。カスタム チェックにはユーザー アイコン が表示され、SaltStack チェックには が表示されます。カスタム チェックやカスタム ベンチマークの作成の詳細については、SaltStack SecOps Compliance のカスタム コンテンツを参照してください。
各チェックには、次の情報フィールドが含まれます。
- 説明
- チェックの簡単な説明。
- アクション
- 修正時に実行されるアクションの簡単な説明。
- ブレーク
- 内部テストの目的にのみ使用されます。詳細については、管理者に確認してください。
- 全体説明
- チェックの詳細な説明。
- osfinger
- チェックが実装されている osfinger 値のリスト。osfinger は、各ミニオンの grains.items に含まれています。これは、ミニオンのオペレーティング システムとメジャー リリース バージョンを識別するものです。グレインは、基盤となるシステムに関する情報を取得するインターフェイスです。グレインは、オペレーティング システム、ドメイン名、IP アドレス、カーネル、OS タイプ、メモリ、その他多くのシステム プロパティについて収集されます。グレインの詳細については、 Salt のグレインに関するリファレンスを参照してください。
- プロファイル
- 各ベンチマークの構成プロファイルのリスト。これらの構成プロファイルは、実際の使用とは無関係に、環境(サーバやワークステーションなど)内のマシンの各種ロールや各種レベルのセキュリティを対象とします。
- 根拠
- チェックを実装する根拠の説明。これには、チェックの実装が必要となる理由が含まれます。
- Refs
- ベンチマーク間の準拠の相互参照。
- 修正
- (一部のチェックには含まれません)- SaltStack SecOps Compliance が非準拠ノードを修正できるかどうかを示す値。一部のチェックには特定の実行可能な修正手順が含まれないためです。たとえば、すべてのシステムに共通の再パーティショニング方法はないため、 SaltStack SecOps Compliance は CIS 1.1.6(/var に個別のパーティションを確保)を修正しません。False は、修正できないチェックを示します。True(デフォルト)の場合、このフィールドは表示されません。
- 修正方法
- 非準拠システムを修正する方法の説明(修正方法がある場合)。一部のチェックには、特定の実行可能な修正手順が含まれなません。上記の「修正」を参照してください。
- Scored
- CIS ベンチマークの Scored(スコア付き)値。スコア付きの推奨はターゲットのベンチマーク スコアに影響を与えますが、スコアなしの推奨はスコアに影響しません。True はスコア付きを示し、False はスコアなしを示します。
- 状態ファイル
- チェックを実行するために適用される Salt 状態のコピーと、後続の修正(該当する場合)。
[変数]
SaltStack SecOps Compliance の変数は、セキュリティ チェックを構成する Salt 状態に値を渡すために使用されます。最適な結果を得るには、デフォルト値を使用します。
Salt 状態の詳細については、Salt 状態のチュートリアルを参照してください。
[スケジュール]
スケジュールの頻度を [繰り返し]、[繰り返し日時]、[1 回]、または [Cron 式] から選択します。スケジューリングされたアクティビティおよび選択したスケジュールの頻度に応じて、追加のオプションを使用できます。
- 繰り返し
- スケジュールを繰り返す間隔を設定し、オプションのフィールドとして開始日または終了日、splay、および最大並列ジョブ数を設定します。
- 繰り返し日時
- 週単位または日単位でスケジュールを繰り返すように選択し、オプションのフィールドとして開始日または終了日、および最大並列ジョブ数を設定します。
- 1 回
- ジョブを実行する日時を指定します。
- Cron
- Cron 式を入力して、Croniter 構文に基づくカスタム スケジュールを定義します。構文のガイドラインについては、 CronTab エディタを参照してください。最適な結果を得るには、カスタム Cron 式を定義するときに、ジョブのスケジュール間隔を 60 秒未満にしないようにします。
アクティビティ ステータス
ポリシーのホーム ページの [アクティビティ] タブには、完了済みまたは進行中の評価と修正のリストが表示されます。次のステータスが含まれます。
ステータス | 説明 |
---|---|
キューに格納済み | 操作の実行準備は完了していますが、操作を開始するタスクがミニオンでまだ取得されていません。 |
完了 | 操作の実行が終了しました。 |
一部 | Salt マスターは処理の終了をレポートしていますが、処理はまだ一部のミニオンの応答を待機しています。ミニオンは minion サービスが実行されるノードであり、Salt マスターからのコマンドをリッスンして、要求されたタスクを実行できます。Salt マスターは、ミニオンにコマンドを送信するために使用される中央ノードです。 |
SaltStack Config のメインのアクティビティ ワークスペースで、評価や修正を含む SaltStack Config のすべてのアクティビティを追跡できます。アクティビティを参照してください。
評価結果
評価結果を理解する方法については、以下を参照してください。評価結果にアクセスする方法の詳細については、評価結果の表示を参照してください。
[戻りステータス]
修正後、SaltStack SecOps Compliance では各システムについて、次のいずれかの戻りステータスを示します。