Prisma Cloudは、クラウド環境のセキュリティとコンプライアンスを一元管理するツールで、リアルタイムの脅威検出やリソースの監視が可能です。今回は、実際にAzure環境(サブスクリプション)をPrisma Cloudに接続してみました。
作業する前に
まずは接続する前に接続方法や前提条件の確認から行います。
接続パターン
Azure環境をPrisma Cloudに接続するには、以下の3つのパターンがあります。
1 | Azureテナント | サブスクリプションやActive Directoryを含む、すべてのAzureリソースをPrisma Cloudに接続します。 |
2 | Azureサブスクリプション | 単一のサブスクリプションのみを接続します。 |
3 | Azure Active Directory | IAMモジュールをルートテナントレベルで接続します。 |
上記の接続パターンは、商用、政府、中国の各Azureクラウドで利用可能です。
接続方法
Prisma CloudにAzure環境を接続するためには、Azure環境側で必要なリソースを作成する必要があります。
以下の方法が利用できます。
1 | Terraform(推奨) | 自動的にPrisma Cloudアプリケーションをセットアップし、Azureサブスクリプションへのアクセスを許可します。ただし、中国のAzureではTerraformテンプレートはサポートされていません。 |
2 | カスタムロールJSON | 手動でカスタムロールを作成し、Prisma Cloudアプリケーションに必要な権限を付与します。 |
3 | 手動での承認 | Terraformを使用できない場合、必要なリソースを手動で作成してPrisma CloudがAzure APIを呼び出せるようにします。 |
サブスクリプションの状態と影響
サブスクリプションの状態によって、Prisma Cloudの機能に影響が出ることがあります。たとえば、サブスクリプションが有効な場合は問題なくデータの取り込みや自動修正が可能ですが、削除されたり無効になったりしたサブスクリプションではデータの取り込みができません。
前提条件
Key Vaultとストレージアカウント
- Prisma CloudがAzure Key Vaultリソースを取り込むためには、特定の権限を設定する必要があります。
- Azureポータルでストレージアカウントの設定を行い、「ストレージアカウントキーを許可する」オプションを有効にしてください。
ネットワークセキュリティグループ(NSG)フローログ
・Prisma Cloudがネットワークトラフィックデータを取得するためには、NSGフローログを有効にする必要があります。
必要なロールと権限
Prisma Cloudを接続するためには、基本的なセキュリティ機能だけでなく、より高度なセキュリティ機能にも対応するための適切なロールと権限を持っている必要があります。これには、Reader、Reader and Data Access、Network Contributor、Storage Account Contributor などのロールが含まれます。
接続してみる
前提条件等の確認ができたのでここからは実際に接続してみます。
今回はTerraformを使ってAzureサブスクリプションをPrisma Cloudに接続します。
作業準備
Azure環境とPrisma Cloudの接続作業には、以下の準備が必要です。
- サブスクリプションIDおよびテナントIDの情報を用意してください。
- Prisma Cloudが作成するアプリケーションをAzure Active Directoryに追加する権限(アカウントオーナーまたはコントリビューター)を持っていることを確認してください。
- Azure PortalでCloudShellが使えることを確認してください。
Terraformスクリプトの取得
- Prisma Cloudにログインします。
- 「設定」から「プロバイダ」>「クラウドアカウント」を選択し、「プロバイダーに接続する」>「クラウドアカウント」をクリックします。
- クラウドプロバイダーで「Azure」を選択します。
- 「始めましょう」の画面が表示されたら、範囲は「サブスクリプション」、デプロイメントタイプは「商用」を選択します。
- 今回はCSPM機能だけ利用できればよいので、エージェントレスワークロードスキャンやサーバレス機能スキャン、エージェントベースのワークロード保護はチェックを外して次に進みます
- 「アカウントの設定」画面が表示されたら、以下を入力します。
・ディレクトリ(テナント)ID
・アカウント名 ※自由に指定できます
・サブスクリプションID
・「修復」機能は利用しないためチェックを外したままにします - 上記を入力するとTerraformスクリプトがダウンロードできるようになるので、「Terraformスクリプトのダウンロード」をクリックします。
これでTerraformスクリプトのダウンロードは完了です。
Terraformスクリプトの実行
Terraformスクリプトがダウンロードできたので、次はAzure環境上でTerraformスクリプトを実行します。
- Azureポータルにアカウントオーナーまたはコントリビューター権限でログインします。
今回はアカウントオーナー権限でログインしました。 - CloudShellのアイコンをクリックしてCLI画面を表示します。ここからはCloudShell上での作業になります。
- 任意のパスにディレクトリを作成して、先ほどダウンロードしたTerraformスクリプトををアップロードします。
- 作成したディレクトリに移動します。
- 以下のコマンドを実行します。
# terraform init
「Terraform has been successfully initialized!」と表示されればOK - 以下のコマンドを実行します。
# terraform apply - 実行するか確認されるので、「yes」と入力します。
「Apply complete!」と表示されたら実行完了です。
Prisma Cloudに接続
Terraformスクリプトを実行して必要なリソースをAzure環境に設定できたので、次はいよいよPrisma Cloudに接続します。
- Prisma Cloudにログインします。
- Terraformスクリプトの取得でサブスクリプションID等を入力したところまで同じ設定をして進みます。
- 「アカウントの設定」画面で、「Terraformスクリプトのダウンロード」の下にある項目に情報を入力していきます。
アプリケーション(クライアント)ID Terraformスクリプト実行結果の
「c__application_client_id」の値を入力アプリケーションクライアントシークレット Terraformスクリプト実行結果の
「d__application_client_secret」の値を入力エンタープライズアプリケーションオブジェクトID Terraformスクリプト実行結果の「e__enterprise_application_object_id」の値を入力 ネットワークセキュリティグループフローログの取り込みと監視 チェックを入れたまま アカウントグループ 任意のアカウントグループを指定。
今回は事前に作成しておいたAzure環境用のものを指定します - 「Next」をクリックして次の画面に進むと接続が始まります。
レビューステータスがすべて成功(緑色)になれば接続OKです!
「保存して閉じる」をクリックして完了します。
監視設定してみる
AzureサブスクリプションをPrisma Cloudに接続できたので、監視設定をしていきます。
アラートルールの設定
セキュリティ的によくないクラウド設定等を検知するため、アラートルールを設定していきます。
- Prisma Cloudコンソール画面上部にある「アラート」を選択します。
- 「アラートルールを表示」を選択し、「アラートルールの追加」をクリックします。
- アラートルール名を入力します。
- アラート通知を行いたいので、「自動化(オプション)」>「アラート通知」の項目を有効化して次に進みます。
- 「ターゲットを割り当て」の画面に進んだら、監視対象のアカウントグループを指定します。
今回は先ほど接続したAzureサブスクリプションで指定したアカウントグループを選択して次に進みます。 - 「ポリシーを割り当て」の画面に進んだら、監視するポリシーを選択します。
今回は一旦すべてのポリシーで監視してみるので「すべてのポリシーを選択」を有効にして、次に進みます。 - 「通知を設定」に進んだら、アラートの通知先を選択できます。
今回はメール通知したいので、「電子メール」を選択してメールアドレスを入力し、有効化します。 - 「概要」画面に進んだら設定した内容を確認し、「保存」します。
これでアラートルールの設定ができました。
アラート通知
アラートルールを設定してしばらくすると、ポリシーに違反したリソースを検知してアラート通知メールが飛んできました。
メール本文には、アラート検知したポリシーおよびアラート数、アラート検知した主なリソース名等が記載されています。
メールに記載されているリンク(「Open」の数のところをクリック)から該当のアラート情報の画面(Prisma Cloudのコンソール画面)にとぶことができました。より詳細なアラートの情報はコンソール画面で確認できるようです。
↓ リンクをクリックすると…
アセット情報
アラートルールによる監視とは別で、Prisma Cloudに接続されたAzureサブスクリプションのアセット情報がPrisma Cloudコンソール上で確認できます。こちらは追加の設定等は不要で、Prisma Cloudと接続できれば表示されてきます。
Prisma Cloudコンソール画面上部にある「インベントリ」>「アセット」を選択すると確認できます。
検証したPrisma Cloud環境は、Azure以外にもAWSやGCPも接続されています。
「AZURE」をクリックすると各サービスごとに表示されます。さらに選択していくと、Azure環境上に存在しているリソース情報の詳細を表示することができます。
まとめ
今回は、Prisma CloudにAzureサブスクリプション接続してアラート検知するところまで確認できました。
今後も、実用的な情報をお届けできればと思います。
また、当社では、複数クラウド環境の設定状況を自動でチェックし、設定ミスやコンプライアンス違反、異常行動などのリスクを診断するCSPMソリューションを販売しております。
ご興味のある方は是非、お気軽にお問い合わせください。