クラウドポリシー: カスタム

これは、カスタムクラウドポリシーを作成するためのハウツーガイドです。

組織に関連する特定の問題に対処するためのカスタムポリシーを作成します。カスタムポリシーは、以下に基づいて設定できます。

組織レベルまたはアカウント (フォルダー) のグループ内で作成されたカスタムポリシーは、今後作成される子アカウントを含め、すべての子アカウントに継承されます。カスタムポリシーを クラウドの検出結果 できるのは、自分が作成した元のフォルダーやアカウントからのみです。たとえば、最上位の AWS フォルダーからカスタムポリシーを作成した場合、その AWS フォルダー内の子フォルダー/アカウントからポリシーを有効化/無効化することはできません。この場合、上位の AWS フォルダーで定義したステータスは、すべての子フォルダーや子アカウントに反映されます。フォルダーの詳細については、「 アカウント階層とフォルダー を参照してください。

自動化を作成して [すべてのポリシー] に適用することを選択した場合、選択した自動化ターゲット (アクション) は作成するカスタムポリシーにも適用されます。

カスタムポリシーの追加

カスタムポリシーを追加する方法

  1. (オプション)[Organization] (組織) ドロップダウンでアカウント階層とフォルダーを選択して、カスタムポリシーの範囲をクラウドアカウントの特定のサブセットに制限します。デフォルトでは、組織全体 (すべてのアカウント) が選択されています。
  2. 左側のナビゲーションペインで、[ポリシー] > [クラウドポリシー] の順にクリックします。
  3. [カスタム] タブを選択します。
  4. [+ カスタムポリシーの作成] をクリックします。[Create Custom Policy] (カスタムポリシーの作成) ウィザードが開きます。
  5. ポリシーのタイプを選択します。

  6. わかりやすい名前を入力し、オプションで説明を入力します。
  7. ポリシーに深刻度を割り当てます。深刻度は、ポリシーによってトリガーされた検出結果の深刻度レベルを決定します。
  8. (オプション)セキュリティチームに明確なガイダンスを提供するため、カスタム修正手順を入力します。
  9. 完了したら、[作成] をクリックします。

カスタム Rego ポリシー (早期アクセス)

カスタム Rego ポリシーは、Open Policy Agent (OPA) ポリシー言語である Rego を使用して、単一のリソースに対して属性レベルのチェックを記述します。これらは、事前定義されたパラメーターを通じて一般的なチェックをカバーする カスタムポリシーテンプレートと、リソースを視覚化する簡単な方法を提供する探索 エクスプローラーの間に配置されています。

次のいずれかに当てはまる場合は、Rego を使用します。

  • あなたはすでに Rego の専門知識を持っており、テンプレートやグラフ クエリよりも Rego を好みます。
  • テンプレートやグラフクエリがサポートする範囲を超える条件が必要です。
  • Rego で記述された既存のポリシーがあり、それを Tenable One Cloud Exposure で再利用したいと考えています。

クロスリソースロジックが必要な場合は、代わりに Explorer クエリを使用します。

組み込みポリシーかカスタムポリシーかにかかわらず、Rego で記述された既存のポリシーから開始することで、カスタムポリシーの開発をスピードアップします。このアプローチを使用して、組み込みポリシーをニーズに合わせて調整することもできます。組み込みポリシーをコピーし、コピー内のロジックを調整し、元のポリシーを無効にします。

Rego ベースのポリシーは作成されると、他のカスタムポリシーと同じように動作します。調査結果は、同じ形式、ダッシュボード、レポート、自動化、チケッティング、除外、コンプライアンスのフレームワークに従い、同じロールベースのアクセス制御を使用します。詳細については クラウドの検出結果 。

ポリシー評価

Rego ベースの各カスタムポリシーは、一度に 1 つのリソースを評価します。ポリシーは、未加工のプロバイダー JSON 形式でリソースを入力として受け取ります。ポリシーは、評価中に他のリソースを取得、トラバース、または参照することはできません。すべての評価は、1 つの状態で終了します。

状態 意味
スキップ リソースはポリシーのタイプと一致しますが、エントリ条件外です。
合格 リソースがポリシー評価に合格した。
失敗 リソースはポリシー評価に失敗し、検出結果が生成されます。
エラー ランタイムエラー (例: 無効なリソース JSON、ロジックが合格と不合格の両方を返す) のために評価が完了しませんでした。この状態はエンジンによって割り当てられます。

ヘルパー関数

ヘルパー関数は、自分で記述する代わりにカスタム Rego ポリシーから呼び出す、事前に構築された小さなロジックです。値がnullであるか、空であるか、または大文字と小文字でしか異なるかを確認するには、通常、数行のRegoが必要です。ヘルパー関数がそのチェックを 1 つの呼び出しにラップします。

クラウドサイバーエクスポージャー は、ネットワーク、ファイル、ホストへのアクセスなしの副作用のない動作に関するすべての許可リストに登録されたヘルパー関数を作成および監査します。許可リストは OPA が更新されるたびに再検証されるため、新しいヘルパー関数はそのレビュー後にのみ使用可能になります。

ヘルパー関数を使用するには、Rego エディターの上にある [ヘルパー関数] をクリックし、関数をポリシーにコピーします。

次の表に、許可リストに登録された各ヘルパー関数とその動作を示します。

ヘルパー関数 動作
equals_ignore_case(value_1, value_2) 大文字と小文字を無視して、 value_1 と value_2 が等しいかどうかを判断します。大文字と小文字に関係なく一致する場合は true を返します。それ以外の場合は falseです。
get_days_ns(days) 指定された日数をナノ秒の期間で返します。
is_false(value) 表される値が falseかどうかを判断します。文字列形式が "false" (大文字と小文字を区別しない) に等しい場合に true を返します。それ以外の場合は falseです。
is_true(value) 表される値が trueかどうかを判断します。文字列形式が "true" (大文字と小文字を区別しない) に等しい場合に true を返します。それ以外の場合は falseです。
is_null_or_empty(value) 値が欠落しているか空であるかを判別します。null、空の文字列、空の配列、または空のオブジェクトの場合、 true を返します。それ以外の場合は falseです。

カスタムポリシーテンプレート

クラウドサイバーエクスポージャー は、カスタムポリシーの作成に使用できる多数のテンプレートを提供しています。これらのテンプレートを使用すると、モニタリングするリソースとその方法を柔軟に定義できます。たとえば、「 これらのアイデンティティのアクティビティをすべてモニタリング する」というテンプレートを使用して、緊急アクセス用アカウントでのアクティビティをモニタリングするカスタムポリシーを作成し、そのアカウントが認証されていないアイデンティティに使用されないようにすることができます。または、バケット/キー/シークレットの変更をモニタリングするテンプレートを使用して、環境内の重要な「価値のある」資産をモニタリングすることもできます。

注意: どのテンプレートでもサポートされていないカスタムポリシーの構成を検討している場合は、クラウドサイバーエクスポージャー の担当者にお問い合わせください。

以下のカテゴリ別のテンプレートは、特定のユースケースに対処するカスタムポリシーの作成に使用できます。

カテゴリ クラウド テンプレート 潜在的なユースケース
アクセス許可のモニタリング AWS これらのプリンシパルのみがこれらのアクセス許可を持つ必要がある 最重要データの保護特定のアイデンティティが機密度の高いリソースにアクセスできないようにします。
AWS これらのプリンシパルのみがこれらのリソースで、これらのアクセス許可を持つ必要がある 職務の分離。特定のアイデンティティのみがこのリソースにアクセスできる必要がある。
Azure/GCP これらのプリンシパルのみがこれらのリソースで、これらのアクセス許可を持つ必要がある 職務の分離。特定のアイデンティティのみがこのリソースにアクセスできる必要がある。
AWS/Azure/GCP これらのプリンシパルはこれらのリソースで、これらのアクセス許可を持つべきではない 最重要データの保護特定のアイデンティティが機密度の高いリソースにアクセスできないようにします。
Azure/GCP これらのプリンシパルはこれらのリソースで、これらのロールを持つべきではない なりすまし。機密度の高いロールへのアクセスの変更をモニタリングします。
AWS これらのロールには、この参照ロールに一致するポリシーがある必要があります

注意: 組織のロールを使用し、ロールのアカウントごとのインスタンスを事前定義されたテンプレートに準拠させたい場合は、このテンプレートを使用することで、アタッチされたポリシーのセットが選択した参照ロールから逸脱したときにアラートを受け取れます。
AWS これらのバケットのポリシー、ACL、ブロックパブリックアクセスの設定変更をモニタリングする 最重要データの保護機密度の高いバケット設定の変更に関するアラートを受け取ります。
AWS これらのキーのアクセス許可変更をモニタリングする 最重要データの保護キーのポリシーの変更に関するアラートを受け取ります。
AWS これらのシークレットのポリシー変更をモニタリングする 最重要データの保護特定のシークレットポリシーの変更に関するアラートを受け取ります。
AWS これらのプリンシパルにアタッチされたアイデンティティ関連ポリシーの変更をモニタリングする 権限昇格を防ぐための、影響の大きいプリンシパルに対する IMonitor ポリシーの変更。
AWS これらのロールにおける信頼ポリシーの変更をモニタリングする なりすまし。機密度の高いロールへのアクセスの変更をモニタリングします。
Azure これらのマネージド ID は、これらのリソースに対してこれらのアクセス許可を持つべきではない 最重要データの保護特定のアイデンティティが機密度の高いリソースにアクセスできないようにします。
アクティビティをモニタリング AWS/Azure/GCP

これらのアイデンティティ のアクティビティをすべてモニタリングする

重要な注意事項:

  • GCP: GCP アクティビティログデータへのアクセス権を必要とするこのポリシーを使用するには、クラウドサイバーエクスポージャーへの GCP の概要の一環として、監査ログ転送ステップを設定する必要があります。
  • Azure: アクティビティモニタリングは、Azure の管理書き込みログのみに依存します。
緊急アクセス用アカウントをモニタリングします。緊急アクセス用アカウントの使用についてアイデンティティのアクティビティをモニタリングします。
機密データの監視 AWS/Azure/GCP この機密データは これらのリソースにあるべきではありません 本来保存されるべきでない制限 された境界内に 保存されている機密データを検出します。データスプロールをモニタリングし、データ境界のコンプライアンスを遵守するために使用します。データ境界と監視データのスプロール。
AWS/Azure/GCP この機密データは これらのリソースにのみ存在すべきです データの保存が許可されている 境界の外部に保存され ている機密データを検出します。データスプロールをモニタリングし、機密データが承認されたストレージまたは環境内に確実に残るようにするために使用します。データ境界と監視データのスプロール。
リソースをモニタリング AWS これらのセキュリティグループのルール変更をモニタリングする ネットワークセキュリティ。機密度の高いセキュリティグループへの変更をモニタリングします。
AWS これらのバケットのポリシー、ACL、ブロックパブリックアクセスの設定変更をモニタリングする 最重要データの保護機密度の高いバケット設定の変更に関するアラートを受け取ります。
AWS これらのキーのアクセス許可変更をモニタリングする 最重要データの保護キーのポリシーの変更に関するアラートを受け取ります。
AWS これらのシークレットのポリシー変更をモニタリングする 最重要データの保護特定のシークレットポリシーの変更に関するアラートを受け取ります。
AWS 作成されたこれらのタイプのIAM プリンシパルをモニタリングする アクセスのモニタリング新しく作成されたアイデンティティをモニタリングします。
AWS これらのロールにおける信頼ポリシーの変更をモニタリングする なりすまし。機密度の高いロールへのアクセスの変更をモニタリングします。
AWS/Azure/GCP これらのリソース はコードとして管理される必要がある コードを介して管理されるリソースを特定します。
すべて これらのリソースには次のタグを付ける必要があります ベストプラクティスを実施する。組織のタグ付けポリシーを強制します。
AWS これらのアクセス許可セット がユーザーまたはグループに割り当てられるタイミングをモニタリングする アクセスのモニタリングAWS Identity Center のアクセス許可セットの変更をモニタリングします。
AWS これらのアクセス許可セットが作成または更新されるタイミングをモニタリングする アクセスのモニタリングAWS Identity Center のアクセス許可セットの変更をモニタリングします。
すべて これらのリソースは、これらのキーを使用して暗号化される必要があります 保存データのセキュリティコントロールを実施します。
ネットワークをモニタリング AWS これらのVPCには 、インターネットゲートウェイを接続すべきではありません ネットワークセキュリティ。内部ネットワークの露出を制限
AWS これらのサブネットは インバウンドインターネット接続を許可すべきではない ネットワークセキュリティ。内部ネットワークの露出を制限
AWS これらのセキュリティグループのルール変更をモニタリングする ネットワークセキュリティ。機密度の高いセキュリティグループへの変更をモニタリングします。
AWS/Azure/GCP

リソースは、これらの IPv4 アドレス範囲からこれらのポート へのインバウンドインターネット接続を許可すべきではない

注意: このポリシーは以下のリソースに適用されます:

  • GCP: インスタンスグループおよび VM インスタンス
  • Azure: 仮想マシン、仮想マシンスケールセット、ロードバランサー、アプリケーションゲートウェイ
  • AWS: EC2 インスタンス、EC2 サービス、ロードバランサー、RDS インスタンス、Redshift クラスタ
ネットワークセキュリティ。外部ネットワークからのアクセスを制限します。
AWS これらのセキュリティグループ は、 これらの IP アドレス範囲 から これらのポートへのインバウンドのインターネットアクセスを許可すべきではありません。 ネットワークセキュリティ。内部または外部ネットワークからのアクセスを制限します。
AWS これらのセキュリティグループは 、 これらの IP アドレス範囲 から これらのポートへのインバウンドのインターネットアクセスを許可する必要があります。 ネットワークセキュリティ。内部または外部ネットワークからのアクセスを制限します。