カスタム コンプライアンス コンテンツを使用すると、SaltStack SecOps Compliance に組み込まれているセキュリティ ベンチマークおよびセキュリティ チェックのライブラリを補完する独自のセキュリティ標準を定義できます。

カスタム コンテンツは、SaltStack SecOps Compliance のポリシーを社内の要件に合わせて強化する場合に便利です。

SaltStack SecOps Compliance には、Custom Content SDK (Software Development Kit) が含まれています。この SDK を使用して、独自のカスタム セキュリティ コンテンツを作成、テスト、およびビルドできます。カスタム セキュリティ コンテンツをインポートして、SaltStack SecOps Compliance の組み込みのセキュリティ ライブラリとともに評価や修正に使用できます。また、カスタム コンテンツをインポートする機能により、選択したバージョン管理システム(Git など)を使用してコンテンツをバージョン管理できます。

カスタム チェックを使用するには、まず SaltStack SecOps Compliance の Custom Content SDK を初期化する必要があります。SDK に含まれるサンプル ファイルに変更を加えることで、独自のカスタム チェックやベンチマークを作成できます。SDK には、新しいコンテンツをテストできる Docker ベースのテスト環境も含まれています。

カスタム コンテンツの作成とテストが完了したら、コンテンツ ファイルをビルドして SaltStack SecOps Compliance にインポートし、評価と修正を開始できます。カスタム チェックにはユーザー アイコンとしてカスタム チェック ユーザー アイコン が表示され、SaltStack チェックには組み込みチェック シールド アイコン が表示されます。SaltStack SecOps Compliance は、ポリシーとカスタム コンテンツの間の依存関係を追跡し、コンテンツを削除すると解除される可能性がある依存関係のリストを表示します。

前提条件

手順

  1. コマンド ラインから、ファイルを含むディレクトリに移動し、次のコマンドを実行します。
    オペレーティング システム コマンド
    Mac OS または Linux ./secops_sdk init
    Windows secops_sdk.exe init
    出力は表示されませんが、これが正常な動作です。ディレクトリには、次のフォルダとファイルが含まれています。
    • benchmarks - カスタム ベンチマークのメタ (.meta) ファイルが含まれています。
    • salt/locke/custom - カスタム チェックの状態 (.sls) およびメタ (.meta) ファイルが含まれています。
    • sample_tests - Docker を使用したテスト用のサンプル ファイルが含まれています。
    • README.md - SDK に関する詳細情報が記載されています。
  2. (オプション)バージョン管理されたリポジトリに変更をコミットします。
  3. カスタム チェックを作成するには、Custom Content SDK の salt/locke/custom に移動します。カスタム ベンチマークを作成するには、手順 8 に進みます。
    注: すべてのカスタム チェックは、状態 (.sls) および対応するメタ (.meta) ファイルの両方で構成する必要があります。
  4. サンプル状態 (.sls) と対応するメタ (.meta) ファイルの両方のコピーを作成し、両方の名前を目的のカスタム名に変更します。これらのファイルは両方とも、salt/locke/custom 内の任意のサブディレクトリに保存します。
    両方のファイルが同じディレクトリ内にあり、同じ名前で始まっている必要があります(例: my_first_check.meta および my_first_check.sls)。
  5. メタ ファイルの内容を編集することで、ニーズに基づいてチェックをカスタマイズします。
    注: チェックのメタ ファイルには、複数のベンチマークへの参照が含まれています。カスタム コンテンツを作成する場合は、関連付けられているすべてのベンチマークをチェックのメタ ファイルに含めるようにします。
  6. 状態ファイルの内容を編集します。
  7. 両方のファイルが同じディレクトリに保存されていることを確認します。
  8. カスタム ベンチマークを作成するには、Custom Content SDK の benchmarks ディレクトリに移動します。このディレクトリには、サンプルのベンチマーク メタ (.meta) ファイルが含まれています。
  9. Sample_benchmark.meta のコピーを作成し、その名前を目的のカスタム名に変更します。
  10. メタ ファイルの内容を編集することで、ニーズに基づいてベンチマークをカスタマイズします。

結果

カスタム チェックとベンチマークが作成されます。必要に応じて、カスタム チェックまたはベンチマークを削除することもできます。その場合は、 [SecOps] > [チェック] または [SecOps] > [ベンチマーク] の順に移動して、カスタム コンテンツの横にあるメニュー アイコン をクリックし、 [削除] をクリックします。

次のタスク

作成したカスタム コンテンツをテストするには、コマンド ラインを開き、Custom Content SDK の sample_tests ディレクトリに移動して、次のコマンドを実行します。

コマンド 結果
1. ./build.sh テスト用に Salt を使用して CentOS7 の Docker イメージをビルドします。
2. ./up.sh テスト用コンテナを起動します。
3. ./test.sh salt-call --local state.apply locke.custom.mounts.my_first_check test=True salt/locke/custom ディレクトリに作成したチェックに対してサンプル テストを実行します。カスタム チェックは、通常の Salt 状態と同様に開始できます。Salt 状態の詳細については、How do I use Salt Statesを参照してください。
4. ./down.sh テストが完了したら、このコマンドを実行して、テスト用コンテナをシャットダウンします。

カスタム コンテンツをテストした後、カスタム コンテンツ ライブラリを作成できます。