Cortex CloudのOutpost環境(AWS)を作成してみた

こんにちは、阿部です。

前回は、Prisma Cloudについての記事を投稿しましたが、今回はPrisma Cloudの後継製品であるCortex Cloudについて書いていきます。

Cortex Cloudには下記表の通りスキャンモードが2つあり、クラウド環境のオンボード時にどちらかを選択する仕様になっています。
今回は「Scan With Outpost」の方を選択してAWSアカウントをCortex Cloudにオンボードする方法を実際に試していきたいと思います。

スキャンモード 説明 備考
Cloud Scan スキャンをPaloAltoNetwoks社所有のCortex Cloud環境から実行
※推奨はCloud Scan
■メリット
・スキャナーVM等のリソースはCortex Cloudの環境に作成されるため追加コストが発生しない
・オンボード時のエラー発生が比較的少ない
■デメリット
・スキャンされたデータがCortex Cloudのクラウドアカウント環境へ一時的に置かれるため、データを自社環境外に持ち出せない要件には不向き
Scan With Outpost ユーザーが所有するクラウドアカウントにOutpost環境を作成し、Outpost環境からスキャンを実行 ■メリット
・スキャナーVM等のリソースもユーザーが所有するクラウドアカウント上に作成するため、データが外部環境に置かれることがない
■デメリット
・Outpost環境専用のクラウドアカウントの用意が別途必要
・Outpost環境用の追加コストが発生

「Scan With Outpost」モードでオンボードするためには、事前にOutpost環境を作成しておく必要があります。
そのため、以下の流れで作業を進めます。

  1. Outpost環境の作成
  2. 監視対象となるAWSアカウントのオンボード用テンプレートファイルの発行
  3. 監視対象となるAWSアカウントでのオンボード作業

 

Outpost環境の作成

まず、Outpost環境の作成から実施します。

Outpostの前提条件

  • Outpostを作成するクラウドアカウントは、Outpost専用のクラウドアカウントが必要です。Outpost専用のクラウドアカウントでは、他のリソースが使用されていない状態である必要があります。
  • クラウドアカウントには、1つのOutpostのみをホストできます。
  • Outpostを利用するには、クラウドプロバイダーからの追加許可が必要となり、追加のクラウド費用が発生する場合があります。

参考:https://docs-cortex.paloaltonetworks.com/r/Cortex-CLOUD/Cortex-Cloud-Posture-Management-Documentation/Outposts

事前準備

Outpost環境の作成は、Terraformで実行します。そのため、以下を準備する必要があります。

  • ローカルマシンにTerraformをインストール
  • ローカルマシンにAWS CLIをインストール
  • AWS CLIの実行に使用するIAMユーザーおよびアクセスキー
  • リソースを作成する権限を上記IAMユーザーに付与(今回はAdministratorAccess権限で検証しました)

TerraformのテンプレートファイルはCortex Cloudコンソール上からダウンロードします。

Terraformのインストール

以下の手順でTerraformをインストールします。

  1. 公式ページからTerraformをダウンロード
  2. ダウンロードしたファイルを解凍し、「terraform.exe」を以下のフォルダに配置
    C:\Windows\System32
  3. コマンドプロンプトで以下のコマンドを実行し、バージョンが表示されることを確認できればインストール完了
    # terraform version

 

AWS CLIのインストールおよび設定

以下の手順でAWS CLIをインストールします。

  1. 公式ページの手順に従いAWS CLIをインストール
  2. コマンドプロンプトで以下のコマンドを実行し、バージョンが表示されることを確認できればインストール完了
    # aws –version
  3. 以下のコマンドを実行し、Terraform実行に使用するIAMユーザーのアクセスキーとシークレットアクセスキーを設定。
    # aws configure

 

接続してみる

テンプレートファイルの発行

Outpost作成用のテンプレートファイルを以下の手順でダウンロードします。

  1. Cortex Cloudコンソールにログインする
  2. [ Settings ] → [ Configurations ] → [ Data Collections ] → [ Outposts ] の画面を表示する
  3. 画面右上の [ New Outpost ] → [ AWS ] をクリック
  4. Cloud Tag(作成するリソースに付与するタグ)を追加したい場合は [ + Add Tag ] からタグを追加する
    ※今回は特に追加せず進めます
  5. [ Next ]をクリック
  6. [ Download Terraform ] をクリックしてファイルをダウンロードする
テンプレートファイルには7日間の有効期限がある点に注意してください。
期限を過ぎてしまった場合は、再度テンプレートを発行する必要があります。
 
Terraformの実行

以下の手順でTerraformを実行し、Outpostを作成します。

  1. ダウンロードしたテンプレートファイルを任意のフォルダに配置し解凍する。
  2. コマンドプロンプトを起動し、以下のコマンドを実行して解凍したフォルダへ移動する。
    # cd <解凍したフォルダ>
  3. 以下のコマンドを実行し、「Terraform has been successfully initialized!」と出力されることを確認する。
    # terraform init
  4. 以下のコマンドを実行する。
    しばらく待つと「Only ‘yes’ will be accepted to approve. 」と表示されるので、「yes」を入力する。          

    # terraform apply –var-file=template_params.tfvars
  5. Apply complete! 」と表示されることを確認する。

以下のファイルはOutpost環境の削除やアップデートに必要になるため、必ず保管しておくこと。

  • テンプレートファイル(Outpost用のtar.gzファイル)
  • Terraformを実行すると実行フォルダ内に作成される末尾が.tfstateのファイル
 
Cortex Cloud上で確認

[ Settings ] → [ Configurations ] → [ Data Collections ] → [ Outposts ] の画面を表示し、作成したOutpostが表示され、ステータスがConnectedになっていることを確認します。

 

以上でOutpost環境の作成は完了です。

 

監視対象となるAWSアカウントのオンボード用テンプレートファイルの発行

Outpost環境が作成できたら、監視対象のAWSアカウントをオンボードするためのテンプレートファイル(CloudFormationテンプレート)を以下の手順で発行します。

  1. Cortex Cloudコンソールにログインする
  2. [ Settings ] → [ Data Sources & Integrations ] の画面を表示する
  3. 画面右上の [ + Add New ] → [ AWS ] → [ Add Another Instance ] をクリック
  4. 以下の通り選択し、「Show advanced settings」をクリック
    項目名 設定値 備考
    Scope 今回はAccountを選択  
    Scan Mode Scan With Outpost を選択  
    Choose Outpost 作成したOutpostを選択 作成したOutpostが選択肢として表示される

    事前にOutpostを作成しておく必要があるのは、上記のChoose Outpostという項目でOutpostを選択するためです。
  5. 詳細設定の各項目を入力・選択し、「Save」をクリック ※今回は基本デフォルトから変更せず進めました
    項目名 説明
    Instance Name オンボードする環境を示す任意の名前を入力
    Scope Modifications ・全リージョン監視の場合は変更不要
    ・リージョンを絞る場合は「Modify Scope by Regions」を有効化して指定(Include)または除外(Exclude)するリージョンを選択
    Additional Security Capabilities 有効にする機能を選択
    Cloud Tags 追加するとCortex Cloud用に作成するAWS側リソースにタグを追加で付与可能
    Collect Audit Logs ・デフォルト(Use Automated collection)だとCortex Cloud用にCloudTrail等が新規作成される
    ・Custom (user defined)を選択すると既存のCloudTrailを指定可能
  6. [ Download CloudFormation ] をクリックし、テンプレートファイルをダウンロードする
テンプレートファイルには7日間の有効期限がある点に注意してください。
期限を過ぎてしまった場合は、再度テンプレートを発行する必要があります。

以上で監視対象のオンボード用テンプレートファイルの発行は完了です。

 

監視対象となるAWSアカウントでのオンボード作業

発行したCloudFormationテンプレートを監視対象のAWSアカウントで実行してCortex Cloudにオンボードします。

CloudFormationテンプレートの実行

  1. 監視対象のAWSアカウントにAdministratorAccessのIAMポリシーが付与されているIAMユーザでログイン
  2. [ CloudFormation ] > [ スタック ] の画面に遷移し、[ スタックの作成 ] > [ 新しいリソースを使用(標準) ] をクリック
  3. [ 既存のテンプレートを選択 ] および [ テンプレートファイルのアップロード ] を選択
  4. [ ファイルの選択 ] を押下して、ダウンロードしたテンプレートファイルをアップロードし、[ 次へ ] をクリック
  5. 任意のスタック名を入力し、画面下部の [ 次へ ] をクリック
  6. 画面下部の「AWS CloudFormationによってIAMリソースがカスタム名で作成される場合があることを承認します」にチェックを入れ、[ 次へ ] をクリック
  7. 確認画面下部の [ 送信 ] をクリック
  8. [ イベント ] タブで、スタック名の論理IDのステータスが「CREATE_COMPLETE」であることを確認

AWSアカウント側でスタックが完了すると、作成されたリソース情報がCortex Cloudに通知される仕組みとなっています。
これでAWSアカウント側での作業は完了です。

Cortex Cloud上で確認

[ Settings ] → [ Data Sources & Integrations ] の画面からAWSを表示して、CloudFormationテンプレートを実行したAWSアカウントがオンボードされていることを確認します。

 

以上で「Scan With Outpost」モードでのAWSアカウントのオンボード作業がすべて完了しました。

 

まとめ

今回は、Outpost環境の作成からScan With OutpostモードでのAWSアカウントのオンボードまで確認できました。
次回以降で、AzureでのOutpost環境作成や、Outpost環境をリージョンを絞って作成する方法等も紹介できればと思います。

また、当社では、複数クラウド環境の設定状況を自動でチェックし、設定ミスやコンプライアンス違反、異常行動などのリスクを診断するCSPMソリューションを販売しております。

マルチクラウド設定診断サービス with CSPM| SCSK株式会社
マルチクラウド環境のセキュリティ設定リスクを手軽に確認可能なスポット診断サービスです。独自の診断レポートが、運用上の設定ミスや設計不備、クラウド環境の仕様変更などで発生し得る問題を可視化し、セキュリティインシデントの早期発見に役立ちます。

ご興味のある方は是非、お気軽にお問い合わせください。

タイトルとURLをコピーしました