このドキュメントでは、 Netskope Cloud Exchangeの Log Shipper モジュールを使用して AWS Log Streaming v1.0.0 プラグインを設定する方法について説明します。 このプラグインは、AWS SQS キューが有効になっている S3 からNetskopeアラート (DLP、マルウェア、ポリシー、侵害されたクレデンシャル、マルサイト、検疫、修復、セキュリティ評価、ウォッチリスト、UBA、CTEP、デバイス、およびコンテンツ)、イベント (ページ、アプリケーション、監査、インフラストラクチャ、ネットワーク、インシデント、エンドポイント、およびクライアント ステータス)、および WebTx ログを取得するために使用されます。バケツ。
前提条件
この設定を完了するには、以下が必要です。
- AWS Netskope Log Streamingサービスが有効になっているNetskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskope Cloud Exchangeテナントには、テナントプラグインとログシッパープラグインが既に設定済みです。
- Netskope Cloud Exchangeテナントに、 Syslogなどのサードパーティ製プラグインが既に設定されていること。
- Amazon SQSキューは、S3バケット上で有効にし、IAMユーザーに以下の権限を付与する必要があります。ユーザーがAWSアカウントの管理者権限を持っていることを確認してください。
- GetObject (読む)
- GetObjectAttributes (読む)
- GetQueueAttributes (読む)
- GetQueueUrl (読む)
- メッセージ受信 (読む)
- メッセージ削除(書き込み)
- AWS S3バケットへのアクセス権を持つホストへの接続。
AWS LogStreamingプラグインのサポート
このプラグインは、 Netskopeアラート (DLP、マルウェア、ポリシー、侵害されたクレデンシャル、マルサイト、検疫、修復、セキュリティ評価、ウォッチリスト、UBA、CTEP、デバイス、およびコンテンツ)、イベント (ページ、アプリケーション、監査、インフラストラクチャ、ネットワーク、インシデント、エンドポイント、およびクライアント ステータス)、WebTx ログを AWS SQS キュー対応 S3 から取得するために使用されます。バケツ。
| データ型 | サポート |
|---|---|
| イベント | はい(ページ、アプリケーション、監査、インフラストラクチャ、ネットワーク、インシデント、エンドポイント、クライアントステータス) |
| アラート | はい (DLP、マルウェア、ポリシー、侵害されたクレデンシャル、マルサイト、検疫、修復、セキュリティ評価、ウォッチリスト、UBA、CTEP、デバイス、およびコンテンツ) |
| ウェブテキサス | はい |
| CEログ | いいえ |
権限
- IAMユーザーがAmazon S3バケットにイベント、アラート、およびWebTxデータを送信するための権限を付与します。
- GetObject (読む)
- GetObjectAttributes (読む)
- Amazon SQSキューにアラートデータを送信するためのIAMユーザーへの権限付与。
- GetQueueAttributes (読む)
- GetQueueUrl (読む)
- メッセージ受信 (読む)
- メッセージ削除(書き込み)
APIの詳細
使うAPI一覧
このプラグインは、Python ライブラリを使用して AWS SQS メッセージを読み取り、SQS メッセージから受信したファイル オブジェクトから AWS S3 バケット データをダウンロードします。
ライブラリ:AWS SDK for Python(Boto3)
使用方法:AWS SDK for Python(Boto3)を使用して、Amazon Elastic Compute Cloud(Amazon EC2)、Amazon Simple Queue Service、Amazon Simple Storage Service(Amazon S3)などのAWSサービスを作成、構成、管理します。SDKは、オブジェクト指向APIと、AWSサービスへの低レベルアクセス機能を提供します。
Creating S3 the Client
s3_client = boto3.client(
"s3",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
aws_session_token=self.aws_session_token,
region_name=self.region_name,
config=Config(proxies=self.proxy, user_agent=self.useragent),
)
Creating SQS the Client
s3_client = boto3.client(
"sqs",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
aws_session_token=self.aws_session_token,
region_name=self.region_name,
config=Config(proxies=self.proxy, user_agent=self.useragent),
)
To get the SQS Queue URL
response = sqs_client.get_queue_url(QueueName=str(queue_name))
To receive messages from the SQS Queue
response = sqs_client.receive_message(
QueueUrl=queue_url,
MaxNumberOfMessages=1,
WaitTimeSeconds=2,
MessageAttributeNames=["All"],
)
パフォーマンスマトリックス
このパフォーマンス測定値は、これらのVM仕様でテストされた大規模スタックCEに関するものです。これらの測定値は、以下のデータに関する考慮事項に基づいて追加されています。
- 圧縮時50MB、非圧縮時約500MB(約500KB)、アラート/イベント発生まで約3.3分
- 圧縮時50MB、非圧縮時約500MB(約500KB)のWebTxログを約2.5分で取得。
| デスクリプション | 仕様 |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| アラートイベントは、サードパーティのSIEMにプルされ、取り込まれます。 | ~150K EPM |
| WebTxからデータを取得し、サードパーティのSIEMに取り込む。 | 約20万EPM |
ユーザーエージェント
APN/1.1 (ahq9d89xj9gspapczzdb59goq)
ワークフロー
- AWS Netskope LogStreaming 認証方法用のクレデンシャルを生成する
- CLS AWS Netskope LogStreamingプラグインの設定
- ビジネスルールを追加する
- Add a SIEM Mapping
- プラグインを検証する
動画を見る
再生ボタンをクリックして動画をご覧ください。
Amazon S3バケットを使用してキューを設定する
プラグインを設定するには、Amazon S3バケットを使用してキューを1つ設定する必要があります。
- ここからイベント通知を作成し、S3バケット内の指定されたフォルダから設定済みのSQSキューにデータを取り込みます。
- Amazon SQS > Queuesから、設定済みのキューを見つけることができます。

AWS Netskope LogStreaming ポリシーを作成する
- JSONタブに、このポリシーを入力してください。Next:Tagsをクリックしてから、 Next:Reviewをクリックしてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectAttributes"
],
"Resource": [
"arn:aws:s3:::*/*",
"arn:aws:s3:*:932414340604:accesspoint/*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"sqs:DeleteMessage",
"sqs:GetQueueUrl",
"sqs:ReceiveMessage",
"sqs:GetQueueAttributes"
],
"Resource": "*"
}
]
}注記
上記のポリシーテンプレートで、AWSアカウントIDを必ず更新してください。
- このポリシーをユーザーに紐付けてください。IAM > Usersに移動し、ポリシーを適用するユーザーを選択してください。Add permissionsをクリックして、 Add permissionsオプションをクリックしてください。

- 「権限」オプションでAttach policies directly Select 、次に、前の手順で作成した ソースキューを検索して選択します。

プラグイン認証方法
IAMロールAnywhereの設定
前提条件
プラグインを認証するには、AWS Certificate Manager サービスを有効にする必要があります。 AWS IAM Roles Anywhere 認証方式。
プライベート認証局、トラストアンカー、およびプロファイルは、AWS SQSキューが存在するリージョンと同じリージョンに作成してください。
ポリシーを作成する
この には、プライベート CA 証明書の作成に必要な権限 (トラスト アンカーとプロファイルの作成権限を含む) と IAM ロール Anywhere が含まれています。
- Policy Generatorに移動し、ポリシーの種類としてIAM Policyを選択してください。追加ステートメントの詳細を入力し、ポリシーを生成します。
- ポリシーの種類Select : IAM ポリシー
- 効果:許可する
- AWSサービス: AWSプライベート認証局
- アクション:
- 証明書認証局を作成する
- 認証局について説明します
- 証明書を取得する
- 認証局証明書を取得する
- GetCertificateAuthorityCsr
- 輸入証明書認証局証明書
- 証明書の発行
- 認証局一覧
- ARN: *
- Add Statementをクリックしてください。

- 上にスクロールして、別の文を追加してください。
- ポリシーの種類Select : IAM ポリシー
- 効果:許可する
- AWSサービス:AWS Identity and Access Management(IAM)
- アクション:
- 役割ポリシーを添付する
- CreateAccessKey
- ロールの作成
- 役割を削除
- パスロール
- ARN: *
- Add Statementをクリックしてください。

- 上にスクロールして、別の文を追加してください。
- ポリシーの種類Select : IAM ポリシー
- 効果:許可する
- AWSサービス: AWS証明書マネージャー
- アクション:
- 証明書の説明
- 輸出証明書
- 証明書を取得する
- 証明書一覧
- 証明書のタグ一覧
- 証明書のリクエスト
- ARN: *
- Add Statementをクリックしてください。
- 上にスクロールして、別の文を追加してください。
- ポリシーの種類Select : IAM ポリシー
- 効果:許可する
- AWS サービス: AWS Identity and Access Management ロールをどこでも
- アクション:
- プロフィールの作成
- CreateTrustAnchor
- プロフィールを取得する
- GetTrustAnchor
- プロフィール一覧
- リストトラストアンカー
- ARN: *
- Add Statementをクリックしてください。

- Generate Policyをクリックしてください。

- ポリシーは、プライベート CA 証明書の作成に必要なポリシーを作成する次の手順で使用するため、コピーします。
- AWSコンソールに移動し、 All ServicesからIAM を選択します。左側のパネルのPoliciesをクリックし、次にCreate Policyをクリックします。

プライベート認証局を作成する
- Add tags if any (optional).
- CA permissions optionsセクションのチェックボックスをオンにしてください。
- Pricingセクションのチェックボックスをオンにしてください。
- CA証明書を作成するには、 Createをクリックしてください。


信頼の基盤を築く
- 認証局(CA)ソースとして、(前の手順で作成した) AWS Certificate Manager Private CA Select 。 前の手順でAWSプライベート認証局で作成した証明書Select 。

IAMロールを作成する
- カスタム信頼ポリシーをこの信頼ポリシーに置き換えてください。このポリシーには、ロールどこでもサービスを使用するためのアクセス許可が含まれています。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"rolesanywhere.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole",
"sts:TagSession",
"sts:SetSourceIdentity"
]
}
]
}
プロフィールを作成する
- パスフレーズを入力してください. パスフレーズはAWS S3プラグインの設定に必要となるため、メモしておいてください。 AWS IAM Roles Anywhere認証方式。
- Generate PEM Encodingをクリックしてください。

- 証明書本体である証明書プライベートキーは、AWS Verified Access Plugin 使う AWS IAM Roles Anywhere 認証方式の設定に必要となります。 詳細については、 AWS IAM Role Anywhereを参照してください。
AWS認証にデプロイ済み
役割を作成する
EC2インスタンスにロールを割り当てる
- Select the Role that you created above in Create a Role. (netskope-ce-instance-role).
- Add IAM RoleまたはModify IAM Roleをクリックしてください。EC2インスタンスとキューは同じリージョンに存在する必要があることに注意してください。

K8sインスタンスにロールを割り当てる
- K8sインスタンスを作成する際に、ServiceAccount用に作成されたロールを開きます。
- 「SQS キュー ポリシーの作成」で作成したポリシーを添付します。
AWS LogStreamingプラグインを設定する
- Cloud Exchange で、 Settings > Pluginsに移動します。
- AWS Netskope LogStreaming v1.0.0 (CLS)プラグインボックスを検索して選択します。

- Nextをクリックして、設定パラメータを入力してください。
- Authentication Method: AWSクライアント認証に使用する方法Select 。 AWSクライアント認証に使用します。
- Private Key: AWSプライベートCA証明書を復号するための秘密鍵。AWS IAM Roles Anywhere認証タイプに必須です。
- Certificate Body: AWSパブリック/プライベートCA証明書の証明書本体。AWS IAM Roles Anywhere認証タイプに必須です。
- Password Phrase: CA証明書を復号するためのパスワードフレーズ。AWS IAM Roles Anywhere認証タイプに必須です。
- Profile ARN: AWSクライアント認証用のAWSプロファイルARN。AWS IAM Roles Anywhere認証タイプに必須です。
- Role ARN: AWSクライアント認証用のAWSロールARN。AWS IAM Roles Anywhere認証タイプに必須です。
- Trust Anchor ARN: AWSクライアント認証用のAWSトラストアンカーARN。AWS IAM Roles Anywhere認証タイプに必須です。
- AWS Region NameSQSキューが有効になっているS3バケットが設定されているAWSリージョン名。認証方法としてAWS IAM Roles Anywhereを選択した場合は、リージョン名がプロファイルARNおよびトラストアンカーARNのリージョンと一致していることを確認してください。
- AWS SQS Queue Name: S3バケットが設定されているAWS SQSキュー名。詳細については、 AWS > SQS > QueueNameにアクセスしてください。提供されたキューがAWSインスタンスに事前に設定されていることを確認してください。提供されたキューが存在しない場合は新しいキューは作成されません。
注記
AWSリージョン名とAWS SQSキュー名は、AWS上にデプロイされた認証方法において必須となるフィールドです。


- Saveをクリックしてください。プラグインの設定は Log Shipper > Pluginsで確認できます。

注記
AWS Netskope LogStreamingプラグインから取得したデータを取り込むために、SYSLOGにSplunkプラグインを設定しました。
AWS LogStreaming 用のログシッパービジネスルールを設定する
- Log ShipperでBusiness Rulesに移動します。
- デフォルトでは、すべてのアラートとイベントをフィルタリングするビジネスルールが設定されています。特定の種類のアラートやイベントを除外したい場合は、 Create New Ruleをクリックして、ルール名とフィルターを追加して新しいビジネスルールを設定します。

AWS LogStreaming の Log Shipper SIEM マッピングを設定する
- SIEM Mappingsに移動してAdd SIEM Mappingをクリックしてください。
- ソースプラグイン(CLS AWS Netskope LogStreaming)、宛先プラグイン、およびビジネスルールSelect 、 Saveをクリックします。
- SIEM マッピングが追加されると、データは AWS Netskope LogStreaming テナントから取得され、変換され、サードパーティの SIEM プラットフォームに取り込まれ始めます。


AWS LogStreamingプラグインを検証する
プルを検証する
Netskopeテナントからインジケーターが取得されたことを検証するには、Cloud ExchangeのLoggingに移動し、フィルターメッセージに「pulled」が含まれるログを検索します。




プッシュ通知を検証する
プラグインを検証するには、 Cloud ExchangeでLoggingに移動し、フィルターメッセージに ingested が含まれているものを検索して、取り込まれたイベント/アラートを検索します。または、 宛先プラグイン名をフィルターとして使用することもできます。







AWS LogStreamingプラグインのトラブルシューティング
設定済みのキューからアラート/イベントまたはWebTxデータを取得する際に問題が発生しています。

AWS Netskope LogStreamingプラグインとサードパーティ製SIEMを正常に設定した後でも、プラグインのSIEMマッピングを設定した後にエラーが発生する場合は、次のいずれかの理由が考えられます。
- プラグインで提供されているキューが、S3バケットで有効になっていない可能性があります。
What to do:
- AWS SQSサービス上でキューが利用可能かどうかを確認してください。
- IAMユーザーに十分な権限が付与されていることを確認してください。最低限必要な権限については、 「権限」を参照してください。
- キューから消費するデータがあることを確認するには、次の場所に移動する必要があります。 Amazon SQS > Queues.

- S3 バケットで有効になっているキューを確認するには、 「Amazon S3 バケットを使用した キュー の設定」 に記載されている手順に従ってください。
新しいプラグインの設定中に問題が発生しています
AWS IAM Roles Anywhere を使用して新しいプラグインを作成しているときに、次のようなエラーが発生した場合:


What to do:
ロガーを展開すると、トラストアンカー ARN、ロール ARN、プロファイル ARN の少なくとも 1 つに異なるアカウント ID があるため、提供されたパラメーターが同じアカウントから生成され、同じリージョンであることを確認する必要があります。
AWS Netskope LogStreamingプラグインでデータを取得する際にデータがスキップされる
この問題が発生する原因として、以下のいずれかが考えられます。
- 無効なファイル、または無効なデータを含むファイル
- アラート/イベントの場合、alert_typeとrecord_typeは必須フィールドであり、WebTxの場合、x-cs-timestampは必須フィールドです。データに以下のフィールドが含まれていない場合、そのデータはスキップされます。
What to doファイルが有効であり、有効なデータが含まれていることを確認してください。また、データに必要なフィールドが含まれていることを確認してください。アラート/イベントの場合、 alert_typeとrecord_typeは必須項目です。WebTxの場合、 x-cs-timestampは必須項目です。
既知の行動
- NetskopeテナントでRBACv3が有効になっている場合、 Netskope LogStreamingサービスにアクセスできません。
- AWS NLSプラグインが実行中にNetskope Cloud Exchangeを再起動した場合、または何らかの理由でNetskope Cloud Exchangeが自動的に再起動した場合、プルタスクが処理途中で停止する可能性があります。この問題を解決するには、SIEMマッピングを再構成して、データの取得を再度開始してください。




















































