メインコンテンツまでスキップ
Sumo Logic Japanese

CloudPassage Halo アプリケーションのログ収集

CloudPassage Halo アプリケーションは、Halo REST API と AWS Lambda を使用して Halo イベントを収集します。  

CloudPassage Halo ログ を Sumo Logic 用に収集するには、以下を設定する必要があります。

  • Sumo Logic Hosted Collector 2 種。
  • Halo の REST API をコールして、Halo イベントを Sumo Logic に転送する Lambda 関数 2 種。

CloudPassage2.png

Sumo Logic Collector の設定

HTTPS Collector を初めて作成する場合、HTTP Source の作成方法を確認してください。その後、「Collector の作成」の手順に従ってください。

Collector の作成

  1. [Manage Data (データの管理)] > [Collection (コレクション)] > [Add Collector (Collector の追加)] を選択します。
  2. [Hosted Collector] をクリックします。
  3. [Add Hosted Collector (Hosted Collector の追加)] で、以下の入力を行います。
    Name (名前)。Halo_Lambda_Ingestor。
    Description (説明): Halo Events Collector (Halo イベント Collector)。
    Category (カテゴリ)。CP_Halo。

    [Save (保存)] をクリックします。
  4. [OK] をクリックして、Collector に Source を追加します。
  5. [HTTP] を Source タイプとして選択します。
  6. [Halo Security Events (Halo セキュリティ イベント)] について以下の情報を入力します。
    Name (名前): CP_Halo_Workload_Security_Events_Collector。
    Description (説明): Halo Security Events Collector (Halo セキュリティ イベント Collector)。
    Source Host (Source ホスト)。CP_Halo。
    Source Category。halo/workload/security/events

  7. [Save (保存)] をクリックします。このコレクション用のエンドポイント URL をメモしておいてください。後で必要になります。
  8. 2 つめの Source を作成します
  9. [Hosted Collector] をクリックします。
  10. [HTTP] を Source タイプとして選択します。
  11. [Halo Metric Events (Halo メトリクス イベント)] について以下の情報を入力します。
    Name (名前): CP_Halo_Metrics_Collector。
    Description (説明): Halo key metrics collector (Halo の主要メトリクス Collector)。
    Source Host (Source ホスト)。CP_Halo。
    Source Category。halo/metrics

  12. 手順が完了すると、CP_Halo_Metrics_Collector と CP_Halo_Workload_Security_Events_Collector という 2 つの Collector が Halo_Lambda_Ingestor という単一の Collector の下位にセットアップされます。

CloudPassage Halo

CloudPassage Halo をセットアップするには、次の手順を実行します。

  1. CloudPassage のセットアップ手順は、公式の CloudPassage ドキュメントを参照してください。CloudPassage にログインする必要があります。 
  2. アプリケーションの読み取り専用 API キーの作成方法についての指示に従ってください。

AWS の設定

Simple Queue Service (SQS): このキューは、常に 1 つのメッセージを保存します。  このキューには、Halo からイベントを収集するためにスクリプトを実行した「最終日時 (Zulu 形式)」のメッセージが含まれます。  メッセージはその後削除され、新しいメッセージが (Zulu 形式の現在時刻と共に) キューに追加されます。

このキューは、Lambda コード Halo_events_to_SumoLogic を初めて実行したときに自動作成されます。

Lambda 関数

Lambda を初めて使用する場合、まず「Quick start with Lambda (Lambda のクイック スタート)」を一読することを強く推奨します。

推奨設定

以下の 2 つの zip ファイル リンクから Python コードをダウンロードします。

  • Halo_events_to_SumoLogic.zip - Halo イベントを収集して Sumo Logic に転送する Python Lambda コードです。この Python Lambda コードは、Halo の API を使用してワークロードにインストールされたエージェントから報告されるセキュリティ イベントを収集します。  これには、SQS から実行された Lambda コードの「最終日時」が使用されます。  その後、Lambda コードが実行された「最終日時」から現在時刻までの間に報告されたイベントを要求する API コールを開始します。イベントが収集された「最終日時」の保存には SQS が使用されます。
  • Halo_metrics_to_SumoLogic.zip - Halo メトリクスを収集して Sumo Logic に転送する Python Lambda コードです。この Python Lambda コードは、Halo の API を使用して Halo アカウントから主要統計を収集します。   
Halo_events_to_SumoLogic 用の AWS Lambda の設定

サンプル ポリシー: 適切な権限レベルを使用してください。

  1. Lambda を設定します。
     
  2. [Blank Function (空白の関数)] をクリックします。
  3. [Next (次へ)] をクリックします。
  4. [Configure Function (関数の設定)] を次の通りに設定します。
    Name (名前)。halo_events_to_sumologic。
    Runtime (ランタイム)。Python 2.7
  5. [Code entry Type (コード入力タイプ)][Upload a .ZIP file (ZIP ファイルのアップロード)] に変更します。  Halo_events_to_SumoLogic.zip ファイルをアップロードします。  その後、環境変数に適切な値を入力します (上記手順参照)。
  6. 以下のスクリーンショットのように情報を入力します。  [Handler (ハンドラ)]「halo_events_to_sumologic.lambda_handler」と入力します。  次に、[Role (ロール)] で [Create a custom role (カスタム ロールを作成)] を選択します。
  7. 以下のスクリーンショットのように情報を入力します。  [IAM Role (IAM ロール)] で [Choose a new IAM Role (新規 IAM ロールを選択)] を選択し、[Role Name (ロール名)]「lambda_basic_execution」とします。
  8. [Advanced Settings (詳細設定)][Timeout (タイムアウト)][4 minutes (4 分)] に変更します。
  9. すべての情報が正しく入力されていることを確認します。次に [Create Function (関数を作成)] をクリックして続行します。
  10. 次に IAM ロールを作成する必要があります。[IAM] を選択します。
  11. 前の手順で作成した [lamda_basic_execution] ロールを選択します。
  12. ポリシーに [AmazonSQSFullAccess][AWSLambdaBasicExecutionRole] を選択します。これらのポリシーが選択できない場合は、AWS のマニュアルと次の手順を参照し、作成してください。
  13. 以下に AmazonSQSFullAccess のサンプル ポリシーを示します。  セキュリティ要件に合わせて権限を変更してください。

    サンプル ポリシー: 適切な権限レベルを使用してください。  以下はサンプルです。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": [
          "sqs:*”
          ],
           "Effect": "Allow",
            "Resource": "*"
           }

         ]

      }

  14. 以下に AWSLambdaBasicExecutionRole のサンプル ポリシーを示します。セキュリティ要件に合わせて権限を変更してください。
    {
        "Version": "2012-10-17",
        "Statement": [{
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }]
    }
  15. Lambda コードをテストしてみましょう。  [Test (テスト)][Save (保存)] の順にクリックすると、コードのテストが開始されます。

  16. 適切に設定されていれば、SQS キューが作成されます。  以下のような結果が得られます。  結果には、Zulu 形式の日時が表示され、ログ出力には [create_queue] が含まれるはずです。

  17. SQS ダッシュボードを確認すると、自動作成された新しいキュー「last_time_scan」が表示されます。
  18. Lambda コード用のトリガを作成してみましょう。  このコードを 5 分ごとに実行するようにします。タブから [Triggers (トリガ)] を選択します。  次に [Add trigger (トリガの追加)] をクリックします。
  19. その後、空白の四角をクリックしてプルダウン メニューを表示します。  [CloudWatch Events - Schedule (CloudWatch イベント - スケジュール)] を選択します。
  20. 情報を入力し、[Schedule (スケジュール)] 表現「rate(5 minutes)」と設定されていることを確認します。
  21. トリガが正しく設定されている場合、成功を告げるメッセージが届き、以下のトリガのように表示されます。
  22.  これで初めての Lambda コードの作成が完了しました。  同じ手順に従って Halo_metrics_to_SumoLogic 用 Lambda コードを設定することができます。
  • この記事は役に立ちましたか?