このドキュメントでは、AWS GuardDuty とNetskope Cloud ExchangeプラットフォームのCloud Threat Exchangeモジュールの統合を設定する方法について説明します。 このプラグインは、AWS GuardDuty プラットフォームから URL (IPv4 およびドメイン) とハッシュ (SHA256) を取得します。 このプラグインは、AWS GuardDutyへのインジケーターの送信をサポートしていません。
前提条件
この設定を完了するには、以下が必要です。
AWS GuardDutyプラグインのサポート
| 取得したインジケーターの種類 | URL(IPv4およびドメイン)、SHA256 |
| 共有指標タイプ | なし |
マッピング
重症度マッピング
| Netskopeの重要度 | AWS GuardDuty Severity |
|---|---|
| <1 | 未知 |
| 1.0 – 3.9 | 低い |
| 4.0 – 6.9 | 中くらい |
| 7.0 – 8.9 | 高い |
| 9.0 – 10.0 | 致命的 |
プル(Netskopeフィールド - AWS GuardDutyフィールド)のマッピング
| Netskope Cloud Exchangeインジケーターフィールド | AWS GuardDuty フィールド |
|---|---|
| value |
EbsVolumeScanDetails Mapping NetworkConnectionAction Mapping Service.Action.NetworkConnectionAction.RemoteIpDetails.IpAddressV4 PortProbeAction Mapping Service.Action.PortProbeAction.PortProbeDetails.RemoteIpDetails.IpAddressV4 DnsRequestAction Mapping Service.Action.DnsRequestAction.Domain |
| タイプ |
EbsVolumeScanDetails Mapping NetworkConnectionAction Mapping
URL DnsRequestAction Mapping URL |
| firstSeen |
EbsVolumeScanDetails Mapping NetworkConnectionAction Mapping Service.Action.EventFirstSeen PortProbeAction Mapping Service.Action.EventFirstSeen DnsRequestAction Mapping Service.Action.EventFirstSeen |
| lastSeen |
EbsVolumeScanDetails Mapping NetworkConnectionAction Mapping PortProbeAction Mapping Service.Action.EventLastSeen DnsRequestAction Mapping Service.Action.EventLastSeen |
| 重大度 |
EbsVolumeScanDetails Mapping NetworkConnectionAction Mapping 重大度 PortProbeAction Mapping 重大度 DnsRequestAction Mapping 重大度 |
| tags |
EbsVolumeScanDetails Mapping GuardDuty-private if PrivateIpAddress is present in NetworkInterfaces NetworkConnectionAction.Blocked=<value> + NetworkInterfaces に PublicIp が存在する場合、GuardDuty-public を実行します。 NetworkInterfacesにPrivateIpAddressが存在する場合、GuardDuty-privateとなる。 PortProbeAction Mapping DnsRequestAction Mapping |
| コメント |
EbsVolumeScanDetails Mapping ファイルパス:Service.EbsVolumeScanDetails.ScanDetections.ThreatDetectedByName.ThreatNames.FilePaths.FilePath、デスクリプション:デスクリプション
PortProbeAction Mapping DnsRequestAction Mapping |
権限
プラグインワークフローのためにIAMユーザーに付与する必要のある権限は以下のとおりです。
- GetFindings
- ListFindings
APIの詳細
使うAPI一覧
このプラグインは、Python (Boto3 v1.34.44) ライブラリを使用して、AWS GuardDuty プラットフォームから結果を取得します。
ライブラリ: AWS SDK for Python (Boto3 v1.34.44)
使用方法: AWS SDK for Python (Boto3) を使用して、Amazon Elastic Compute Cloud (Amazon EC2) や Amazon Simple Storage Service などの AWS サービスを作成、構成、管理します
GuardDutyクライアントオブジェクトの作成
guardduty_client = boto3.Session(
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
region_name=self.configuration["region_name"].strip()
config=Config(proxies=self.proxy, user_agent=self.useragent),
).client("guardduty")
調査結果一覧
findings = guardduty_client.list_findings(
DetectorId=detection_id,
MaxResults=1,
SortCriteria={"AttributeName": "updatedAt", "OrderBy": "ASC"},
)
ページネーション付き検索結果一覧
paginator = guardduty_client.get_paginator("list_findings")
page_iterator = paginator.paginate(
DetectorId=self.configuration["aws_detector_id"].strip(),
FindingCriteria={
"Criterion": {
"updatedAt": {
"Gte": int(checkpoint.timestamp() * 1000),
}
}
},
SortCriteria={"AttributeName": "updatedAt", "OrderBy": "ASC"},
)
調査結果を見る
guardduty_client.get_findings(
DetectorId=detection_id,
FindingIds=finding_ids,
)
パフォーマンスマトリックス
このプラグインは、AWS GuardDutyから288件の検出結果を取得してテスト済みです。 これらの検出結果からインジケーターを取得してNetskope CEに保存するのに約15秒かかります。
|
スタックの詳細 | サイズ:L
RAM: 32 GB CPU: 16コア |
|
AWS GuardDutyから取得した指標 |
~ 1K per minute |
| AWS GuardDutyに共有される指標 |
NA |
ユーザーエージェント
- netskope-ce-5.0.0-cte-aws-guardduty-v1.1.0
ワークフロー
- AWS GuardDuty クレデンシャルを入手してください。
- AWS GuardDutyプラグインを設定します。
- NetskopeとAWS GuardDuty間の共有設定を行います。
- Validate the AWS GuardDuty Plugin.
再生ボタンをクリックして動画をご覧ください。
AWS GuardDuty のポリシーを作成する
- AWSコンソールでIAM Servicesに移動してください。
- Create policiesをクリックしてください。
- 「サービス」で「警備業務」 Select 。

- Select GetFindings と ListFindings。
- Nextをクリックしてください。
- ポリシー名を追加してください。

- Create Policy .
をクリックしてください
プラグイン認証方法
IAMロールAnywhereの設定
前提条件
プラグインを認証するには、 AWS Certificate Managerサービスを有効にする必要があります。 AWS IAM Roles Anywhere認証方法。
注:プライベート認証局、トラストアンカー、およびプロファイルは、AWS S3ソースバケットが存在するリージョンと同じリージョンに作成してください。
IAM ポリシーを作成する
これは プライベート CA 証明書を作成するために必要な権限 (トラスト アンカーとプロファイルを作成するための権限を含む) と IAM ロール Anywhere が含まれています。
- ポリシージェネレーターにアクセスし、Add Statementをクリックしてポリシーを生成してください。
- ポリシーの種類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をクリックします。

- ポリシーをJSONタブにコピーし、 Next: Tags とNext: Review.をクリックしてください。
- 名前を入力して、 Netskope-ce-rolesAnywhere-policyのようなものをクリックし Save Changes。

プライベート認証局を作成する
- AWSコンソールにログインしてください。
- Certificate Managerを検索します。

- AWS Private CAをクリックしてください。
- Create a private CAをクリックしてください。

- Mode OptionsにはGeneral-purpose Select 。
- Select Root CA type options。

- 組織名(O)を入力してください。

- Select RSA 2048 Key algorithm options。

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


- ActionsからInstallを選択します。

- Confirm and Installをクリックしてください。


信頼の基盤を築く
- IAM サービスを検索し、アクセス管理の下にあるRolesに移動します。「Roles Anywhere」までスクロールダウンして、 Manageを選択します。

- Create a Trust anchorをクリックしてください。

- Enter the Trust anchor name, like netskope-ce-trust-anchor.

- AWS Certificate Manager Private CA (前の手順で作成したもの)を Certificate authority (CA) sourceとしてSelect 。
- 必要に応じてタグを追加してください。
- Create a trust anchorをクリックしてください。


- 作成されたTrust Anchor をクリックして Trust Anchor ARNをコピーします。

IAMロールを作成する
- AWSコンソールでIAMサービスに移動してください。
- Click Role under Access management.
- Create Roleをクリックしてください。

- 信頼できるエンティティタイプには、 Custom Trust Policyを選択してください。

- ポリシー生成ツールへ移動してください。
- カスタム信頼ポリシーを以下の信頼ポリシーに置き換えます。このポリシーには、ロールどこでもサービスを使用するためのアクセス許可が含まれています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "rolesanywhere.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:TagSession", "sts:SetSourceIdentity" ] } ] } - Nextをクリックしてください。
- [アクセス許可ポリシー] で、以前に作成したバケット ポリシーを選択します。

- Nextをクリックしてください。
- Netskope -ce-roleAnywhereのようなロール名を指定し、そのロールのデスクリプションを追加します。
- Create roleをクリックしてください。

- Role ARN をメモしておいてください。これは、認証方法AWS IAM Roles AnywhereのRole ARNであるプラグイン構成パラメータで必要になります。

プロフィールを作成する
- Select Roles under Access management.
- 下にスクロールして Roles Anywhere まで行き、 Manageをクリックしてください。

- Setup stepsを展開します。
- Step 2: Configure rolesをクリックしてください。
- Configure a profileをクリックしてください。

- Netskope -ce-profile のように、プロファイル名を入力してください。
- Create IAM Role セクションで作成されたロールSelect : Netskope -ce-roleAnywhere。

- Inline Policyを削除します。
- Create profileをクリックしてください。



- 作成された Profile をクリックして Profile ARNをコピーします。

プライベート証明書をリクエストする
- AWS Certificate Manager > Request certificateへ移動してください。
- Select Request a private certificate。

- Nextをクリックしてください。
- 前の手順で作成した認証局Select 。

- 完全修飾ドメイン名フィールドに、 Netskope -ce.comのようにドメイン名を入力してください。
- Key algorithmにはRSA 2048 Select 。

- 必要に応じてタグを追加してください。
- 証明書の更新権限を承認してください。
- Requestをクリックしてください。

- AWS Certificate Manager のナビゲーション ペインからList certificatesに移動します。
- 以前に作成した証明書Select 。

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

- passphrase. を入力してください。パスフレーズはAWS S3プラグインの設定に必要となるため、メモしておいてください。 AWS IAM Roles Anywhere認証方式。
- Generate PEM Encodingをクリックしてください。

- Certificates はすべてダウンロードしてください。二度と表示されなくなります。新しい証明書の場合は再度エクスポートする必要があります。
詳細については、 AWS IAM Role Anywhereを参照してください。
AWSにデプロイされた構成
役割を作成する
- AWSコンソールでIAMサービスに移動します。
- Create roleをクリックしてください。

- AWS ServiceをSelect 。
- 使うケースには、 EC2を選択します。
- Nextをクリックしてください。

- バケット ポリシーで作成された権限ポリシーSelect 。
- Nextをクリックしてください。

- Netskope -ce-instance-role のようなロール名を入力し、デスクリプションを追加します。
- Create Roleをクリックしてください。

Note: この構成では、NetskopeインスタンスとS3バケットの両方が同じ領域にあるべきです。
EC2インスタンスにロールを割り当てる
- EC2インスタンスのコンソールを開きます。
- Click Instances under Instances.

- Action > Security > Modify IAM Roleへ移動してください。

- 以前に作成したロールSelect (例: Netskope -ce-instance-role)。
- Update IAM Roleをクリックしてください。

AWS GuardDutyプラグインの設定
- CEインスタンスにログインしてSettings > Pluginsに移動してください。
- プラグインを設定するには、AWS GuardDutyプラグインのボックスを検索して選択します。

- 以下の値を入力してください。
- 構成名:構成の一意の名前。
- 同期間隔:デフォルトのままにしてください。
- 有効期限基準:プラグインの有効期限(日数)。(デフォルト値:90)
- 評判の上書き:この設定から受信した指標の評判を上書きする値を設定します。
- SSL検証を有効にする:SSL証明書の検証を有効にします。
- システムプロキシ:通信にプロキシが必要な場合は有効にしてください。

- Nextをクリックしてください。
- 以下の値を入力してください。
- 認証方法:認証に使用する方法Select (AWS/AWS IAMロールAnywhereにデプロイ)
- 秘密鍵:AWSプライベートCA証明書を復号化するための秘密鍵。AWS IAM Roles Anywhere認証タイプに必須です。
- 証明書本体:AWSパブリック/プライベートCA証明書の証明書本体。AWS IAM Roles Anywhere認証タイプに必須です。
- パスワードフレーズ:CA証明書を復号するためのパスワードフレーズ。AWS IAM Roles Anywhere認証タイプに必須です。
- プロファイルARN:AWSクライアント認証用のAWSプロファイルARN。AWS IAMロールの認証タイプ.に必須
- ロールARN:AWSクライアント認証用のAWSロールARN。AWS IAM Roles Anywhere認証タイプに必須です。
- トラストアンカーARN:AWSクライアント認証用のAWSトラストアンカーARN。AWS IAM Roles Anywhere認証タイプに必須です。
- リージョン名:GuardDutyサービスが実行されているリージョン。リージョン名が、プロファイルARNおよびトラストアンカーARNのリージョン名と一致していることを確認してください。
- 検出器ID:検出器固有のID。
- 初期範囲(日数):初回実行時にデータを取得する日数。


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

AWS GuardDuty のビジネスルールを追加する
AWS GuardDutyから取得した指標をNetskope CEに共有するには、共有したい指標をフィルタリングするビジネスルールが必要です。ビジネスルールを設定するには、以下の手順に従ってください。
- Threat Exchange > Business Ruleに移動してCreate New Ruleをクリックしてください。
- ルールに、要件に応じたフィルターを追加してください。

NetskopeとAWS GuardDutyの共有設定
- Threat Exchangeに移動してSharingを選択してください。「共有」ページには、以下に示すように、各共有設定における既存の関係がグリッドビューで表示されます。共有ページには、あるプラグインから別のプラグインへの新しい共有を設定するための入力欄もあります。
- Add Sharing Configurationをクリックし、ソース構成のドロップダウン リストからAWS GuardDutyを選択します。
- ビジネスルールをSelect、その後宛先設定のNetskopeを選択します。設定の共有は一方向です。あるプラグインから得られたデータは別のプラグインと共有されます


- 対象Select 。 各プラグインは、IoC(侵害指標)のターゲットまたは宛先が異なります。
- ファイルハッシュリストを追加するには、リスト名、リストサイズ、およびデフォルトのファイルハッシュを入力します。リスト名は、Netskope UI のSettings > Policies > Profilesに存在している必要があります。ハッシュのファイルプロファイルの作成方法については、 「ファイルプロファイルの追加」を参照してください。
- Saveをクリックしてください。

アクティブなソースポーリングに新しい共有設定を追加すると、ソース設定の既存のIoCが宛先設定に共有されます。新しい共有構成が構築されるたびに、送信元と送信先の組み合わせに一致する場合、すべてのアクティブなIoCも共有対象として検討されます。
注記
データを取り込むためのAPIを持たないプラグインは、脅威データを受信できません。これは、インストールされたプラグインAPI Sourceにも当てはまります。これは、データをプッシュするリモート サードパーティ システムの API エンドポイントに関連付けられたバケットを提供します。 共有ポリシーが追加されると、それが有効になります。
共有構成が作成されると、共有テーブルには、呼び出されるルール、潜在的なIoC一致を提供するソースシステム、一致するIoCを受信する宛先システム、およびそのルールに適用されるターゲットが表示されます。複数の共有構成を設定することで、システム宛先システム上であっても、特定のIoCを複数のターゲットにマッピングすることをサポートできます。
共有構成の変更、テスト、または削除
各設定は3つのアクションをサポートします。
- 鉛筆アイコンをクリックしてルールを編集してください。
- 同期アイコンをクリックして、ルールをテストしてください。これは、指定された期間とルールに基づいて、実際に宛先システムに送信されるIoC(侵害指標)の数をテストするものです。
- ゴミ箱アイコンをクリックしてルールを削除してください。
Validate the AWS Guardduty Plugin
プルを検証する
抽出されたデータは、脅威IoC(侵害指標)ページに掲載されます。プラットフォームから取得した IoC をフィルタリングするには、フィルタを使用します: sources.source " "<plugin name> のようにします。CEのログもプラグイン名でフィルタリングできます。

AWS GuardDuty プラットフォームでは、インジケーターは GuardDuty > 調査結果から取得されます。

プッシュ通知を検証する
Cloud Exchange でプッシュを検証するには、 Threat Exchange > Loggingに移動して、共有ログを Netskope でフィルタリングします。


Netskopeテナントから確認するには:
- Netskopeテナントにログインしてください。
- Policiesをクリックしてください。
- Fileをクリックしてください(Sha256の場合)。
- 共有を設定する際に使用するファイル名を入力してください。 共有を設定する際に使用します。

- URLの場合:(IPv4とドメイン)。
- Web > URL Listsをクリックしてください。
- 設定時に表示された URL リストをクリックしてください 共有設定時に

トラブルシューティング
AWS にデプロイしたプラグインの設定中に問題が発生した場合は、
EC2インスタンスに割り当てられているIAMロールを確認してください。



