使用 的 GuardDuty 範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 的 GuardDuty 範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface with GuardDuty 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 accept-invitation

AWS CLI

若要接受在目前區域中成為 a GuardDuty 成員帳戶的邀請

下列accept-invitation範例示範如何接受邀請,以成為目前區域中的 a GuardDuty 成員帳戶。

aws guardduty accept-invitation \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --master-id 123456789111 \ --invitation-id d6b94fb03a66ff665f7db8764example

此命令不會產生輸出。

如需詳細資訊,請參閱 GuardDuty 使用者指南中的依邀請管理Word 帳戶。 GuardDuty

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 AcceptInvitation

下列程式碼範例示範如何使用 archive-findings

AWS CLI

封存目前區域中的調查結果

此範例示範如何封存目前區域中的調查結果。

aws guardduty archive-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-ids d6b94fb03a66ff665f7db8764example 3eb970e0de00c16ec14e6910fexample

此命令不會產生輸出。

如需詳細資訊,請參閱 GuardDuty 使用者指南中的依邀請管理 Word 帳戶GuardDuty

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ArchiveFindings

下列程式碼範例示範如何使用 create-detector

AWS CLI

在目前區域中啟用 GuardDuty

此範例說明如何在目前區域中建立新的偵測器,以啟用 GuardDuty。:

aws guardduty create-detector \ --enable

輸出:

{ "DetectorId": "b6b992d6d2f48e64bc59180bfexample" }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的啟用 Amazon GuardDuty

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateDetector

下列程式碼範例示範如何使用 create-filter

AWS CLI

為目前區域建立新的篩選條件

此範例會建立符合從特定映像建立之執行個體的所有 Portcan 調查結果的篩選條件。:

aws guardduty create-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --action ARCHIVE \ --name myFilter \ --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}'

輸出:

{ "Name": "myFilter" }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的篩選調查結果

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateFilter

下列程式碼範例示範如何使用 create-ip-set

AWS CLI

若要建立受信任的 IP 集

下列create-ip-set範例會在目前區域中建立並啟用受信任的 IP 組。

aws guardduty create-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --name new-ip-set \ --format TXT --location s3://AWSDOC-EXAMPLE-BUCKET/customtrustlist.csv --activate

輸出:

{ "IpSetId": "d4b94fc952d6912b8f3060768example" }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的使用信任 IP 清單和威脅清單

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateIpSet

下列程式碼範例示範如何使用 create-members

AWS CLI

將新會員與目前區域中的 GuardDuty 主要帳戶建立關聯。

此範例示範如何將要由目前帳戶管理的成員帳戶建立關聯,作為 GuardDuty 主帳戶。

aws guardduty create-members --detector-id b6b992d6d2f48e64bc59180bfexample \ --account-details AccountId=111122223333,Email=first+member@example.com AccountId=111111111111 ,Email=another+member@example.com

輸出:

{ "UnprocessedAccounts": [] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的管理多個帳戶

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateMembers

下列程式碼範例示範如何使用 create-publishing-destination

AWS CLI

建立發佈目的地,以將目前區域中的 GuardDuty 調查結果匯出至 。

此範例示範如何建立發佈目的地 for GuardDuty 調查結果。

aws guardduty create-publishing-destination \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --destination-type S3 \ --destination-properties DestinationArn=arn:aws:s3:::yourbucket,KmsKeyArn=arn:aws:kms:us-west-1:111122223333:key/84cee9c5-dea1-401a-ab6d-e1de7example

輸出:

{ "DestinationId": "46b99823849e1bbc242dfbe3cexample" }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的匯出調查結果

下列程式碼範例示範如何使用 create-sample-findings

AWS CLI

在目前區域中建立 sample GuardDuty 調查結果。

此範例示範如何建立所提供類型的範例調查結果。

aws guardduty create-sample-findings \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --finding-types UnauthorizedAccess:EC2/TorClient UnauthorizedAccess:EC2/TorRelay

此命令不會產生輸出。

如需詳細資訊,請參閱 GuardDuty 使用者指南中的範例調查結果

下列程式碼範例示範如何使用 create-threat-intel-set

AWS CLI

在目前區域中建立新的威脅情報集。

此範例示範如何上傳威脅情報設定為 GuardDuty ,並立即啟用它。

aws guardduty create-threat-intel-set \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --name myThreatSet \ --format TXT \ --location s3://EXAMPLEBUCKET/threatlist.csv \ --activate

輸出:

{ "ThreatIntelSetId": "20b9a4691aeb33506b808878cexample" }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的信任 IP 和威脅清單

下列程式碼範例示範如何使用 decline-invitations

AWS CLI

拒絕讓目前區域中的另一個帳戶管理 Guardduty 的邀請。

此範例示範如何拒絕成員資格邀請。

aws guardduty decline-invitations \ --account-ids 111122223333

輸出:

{ "UnprocessedAccounts": [] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的透過邀請來管理Word 帳戶。 GuardDuty

下列程式碼範例示範如何使用 delete-detector

AWS CLI

在目前區域中刪除偵測器和 disable GuardDuty。

此範例顯示如何刪除偵測器,如果成功,則會在該偵測器相關聯的區域中停用 GuardDuty 。

aws guardduty delete-detector \ --detector-id b6b992d6d2f48e64bc59180bfexample

此命令不會產生輸出。

如需詳細資訊,請參閱 GuardDuty 使用者指南中的暫停或停用 GuardDuty

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteDetector

下列程式碼範例示範如何使用 delete-filter

AWS CLI

若要刪除目前區域中的現有篩選條件

此範例示範如何建立刪除篩選條件。

aws guardduty delete-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --filter-name byebyeFilter

此命令不會產生輸出。

如需詳細資訊,請參閱 GuardDuty 使用者指南中的篩選調查結果

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteFilter

下列程式碼範例示範如何使用 disable-organization-admin-account

AWS CLI

移除 帳戶作為組織中的指定 for GuardDuty 管理員

此範例示範如何移除 帳戶做為委派的 for GuardDuty 管理員。

aws guardduty disable-organization-admin-account \ --admin-account-id 111122223333

此命令不會產生輸出。

如需詳細資訊,請參閱 GuardDuty 使用者指南中的管理 AWS 組織帳戶

下列程式碼範例示範如何使用 disassociate-from-master-account

AWS CLI

若要取消與目前區域中目前主要帳戶的關聯

下列disassociate-from-master-account範例會將您的帳戶與目前 AWS 區域中的目前 GuardDuty 主要帳戶取消關聯。

aws guardduty disassociate-from-master-account \ --detector-id d4b040365221be2b54a6264dcexample

此命令不會產生輸出。

如需詳細資訊,請參閱Word GuardDuty 使用者指南中的了解 GuardDuty Master 與成員帳戶之間的關係

下列程式碼範例示範如何使用 get-detector

AWS CLI

擷取特定偵測器的詳細資訊

下列get-detector範例顯示指定偵測器的組態詳細資訊。

aws guardduty get-detector \ --detector-id 12abc34d567e8fa901bc2d34eexample

輸出:

{ "Status": "ENABLED", "ServiceRole": "arn:aws:iam::111122223333:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Tags": {}, "FindingPublishingFrequency": "SIX_HOURS", "UpdatedAt": "2018-11-07T03:24:22.938Z", "CreatedAt": "2017-12-22T22:51:31.940Z" }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的概念和術語

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetDetector

下列程式碼範例示範如何使用 get-findings

AWS CLI

範例 1:擷取特定調查結果的詳細資訊

下列get-findings範例會擷取指定調查結果的完整 JSON 調查結果詳細資訊。

aws guardduty get-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-id 1ab92989eaf0e742df4a014d5example

輸出:

{ "Findings": [ { "Resource": { "ResourceType": "AccessKey", "AccessKeyDetails": { "UserName": "testuser", "UserType": "IAMUser", "PrincipalId": "AIDACKCEVSQ6C2EXAMPLE", "AccessKeyId": "ASIASZ4SI7REEEXAMPLE" } }, "Description": "APIs commonly used to discover the users, groups, policies and permissions in an account, was invoked by IAM principal testuser under unusual circumstances. Such activity is not typically seen from this principal.", "Service": { "Count": 5, "Archived": false, "ServiceName": "guardduty", "EventFirstSeen": "2020-05-26T22:02:24Z", "ResourceRole": "TARGET", "EventLastSeen": "2020-05-26T22:33:55Z", "DetectorId": "d4b040365221be2b54a6264dcexample", "Action": { "ActionType": "AWS_API_CALL", "AwsApiCallAction": { "RemoteIpDetails": { "GeoLocation": { "Lat": 51.5164, "Lon": -0.093 }, "City": { "CityName": "London" }, "IpAddressV4": "52.94.36.7", "Organization": { "Org": "Amazon.com", "Isp": "Amazon.com", "Asn": "16509", "AsnOrg": "AMAZON-02" }, "Country": { "CountryName": "United Kingdom" } }, "Api": "ListPolicyVersions", "ServiceName": "iam.amazonaws.com", "CallerType": "Remote IP" } } }, "Title": "Unusual user permission reconnaissance activity by testuser.", "Type": "Recon:IAMUser/UserPermissions", "Region": "us-east-1", "Partition": "aws", "Arn": "arn:aws:guardduty:us-east-1:111122223333:detector/d4b040365221be2b54a6264dcexample/finding/1ab92989eaf0e742df4a014d5example", "UpdatedAt": "2020-05-26T22:55:21.703Z", "SchemaVersion": "2.0", "Severity": 5, "Id": "1ab92989eaf0e742df4a014d5example", "CreatedAt": "2020-05-26T22:21:48.385Z", "AccountId": "111122223333" } ] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的調查結果

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetFindings

下列程式碼範例示範如何使用 get-ip-set

AWS CLI

列出取得指定受信任 IP 集的詳細資訊

下列get-ip-set範例顯示指定受信任 IP 集的狀態和詳細資訊。

aws guardduty get-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --ip-set-id d4b94fc952d6912b8f3060768example

輸出:

{ "Status": "ACTIVE", "Location": "s3://AWSDOC-EXAMPLE-BUCKET.s3-us-west-2.amazonaws.com/customlist.csv", "Tags": {}, "Format": "TXT", "Name": "test-ip-set" }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的使用信任 IP 清單和威脅清單

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetIpSet

下列程式碼範例示範如何使用 get-master-account

AWS CLI

擷取目前區域中主要帳戶的詳細資訊

下列get-master-account範例顯示目前區域中與偵測器相關聯的主要帳戶狀態和詳細資訊。

aws guardduty get-master-account \ --detector-id 12abc34d567e8fa901bc2d34eexample

輸出:

{ "Master": { "InvitationId": "04b94d9704854a73f94e061e8example", "InvitedAt": "2020-06-09T22:23:04.970Z", "RelationshipStatus": "Enabled", "AccountId": "123456789111" } }

如需詳細資訊,請參閱Word GuardDuty 使用者指南中的了解 GuardDuty Master 與成員帳戶之間的關係

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetMasterAccount

下列程式碼範例示範如何使用 list-detectors

AWS CLI

列出目前區域中可用的偵測器

下列list-detectors範例列出您目前 AWS 區域中可用的偵測器。

aws guardduty list-detectors

輸出:

{ "DetectorIds": [ "12abc34d567e8fa901bc2d34eexample" ] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的概念和術語

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListDetectors

下列程式碼範例示範如何使用 list-findings

AWS CLI

範例 1:列出目前區域的所有調查結果

下列list-findings範例顯示目前區域的 all findingIds 清單,依嚴重性從最高到最低排序。

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --sort-criteria '{"AttributeName": "severity","OrderBy":"DESC"}'

輸出:

{ "FindingIds": [ "04b8ab50fd29c64fc771b232dexample", "5ab8ab50fd21373735c826d3aexample", "90b93de7aba69107f05bbe60bexample", ... ] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的調查結果

範例 2:列出符合特定調查結果條件之目前區域的調查結果

下列list-findings範例顯示符合指定調查結果類型的 all findingIds 清單。

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-criteria '{"Criterion":{"type": {"Eq":["UnauthorizedAccess:EC2/SSHBruteForce"]}}}'

輸出:

{ "FindingIds": [ "90b93de7aba69107f05bbe60bexample", "6eb9430d7023d30774d6f05e3example", "2eb91a2d060ac9a21963a5848example", "44b8ab50fd2b0039a9e48f570example", "9eb8ab4cd2b7e5b66ba4f5e96example", "e0b8ab3a38e9b0312cc390ceeexample" ] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的調查結果

範例 3:列出目前區域的調查結果,符合 JSON 檔案中定義的一組特定調查結果條件

下列list-findings範例顯示未封存的 all findingIds 清單,並涉及名為 "testuser" 的 IAM 使用者,如 JSON 檔案中所指定。

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-criteria file://myfile.json

myfile.json 的內容:

{"Criterion": { "resource.accessKeyDetails.userName":{ "Eq":[ "testuser" ] }, "service.archived": { "Eq": [ "false" ] } } }

輸出:

{ "FindingIds": [ "1ab92989eaf0e742df4a014d5example" ] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的調查結果

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListFindings

下列程式碼範例示範如何使用 list-invitations

AWS CLI

列出您邀請成為目前區域中成員帳戶的詳細資訊

下列list-invitations範例會列出邀請成為目前區域中 a GuardDuty 成員帳戶的詳細資訊和狀態。

aws guardduty list-invitations

輸出:

{ "Invitations": [ { "InvitationId": "d6b94fb03a66ff665f7db8764example", "InvitedAt": "2020-06-10T17:56:38.221Z", "RelationshipStatus": "Invited", "AccountId": "123456789111" } ] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的依邀請管理Word 帳戶。 GuardDuty

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListInvitations

下列程式碼範例示範如何使用 list-ip-sets

AWS CLI

列出目前區域中的受信任 IP 集

下列list-ip-sets範例列出您目前 AWS 區域中的受信任 IP 集。

aws guardduty list-ip-sets \ --detector-id 12abc34d567e8fa901bc2d34eexample

輸出:

{ "IpSetIds": [ "d4b94fc952d6912b8f3060768example" ] }

如需詳細資訊,請參閱 GuardDuty 使用者指南中的使用信任 IP 清單和威脅清單

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListIpSets

下列程式碼範例示範如何使用 list-members

AWS CLI

若要列出目前區域中的所有成員

下列list-members範例會列出目前區域的所有成員帳戶及其詳細資訊。

aws guardduty list-members \ --detector-id 12abc34d567e8fa901bc2d34eexample

輸出:

{ "Members": [ { "RelationshipStatus": "Enabled", "InvitedAt": "2020-06-09T22:49:00.910Z", "MasterId": "123456789111", "DetectorId": "7ab8b2f61b256c87f793f6a86example", "UpdatedAt": "2020-06-09T23:08:22.512Z", "Email": "your+member@example.com", "AccountId": "123456789222" } ] }

如需詳細資訊,請參閱Word GuardDuty 使用者指南中的了解 GuardDuty Master 與成員帳戶之間的關係

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListMembers

下列程式碼範例示範如何使用 update-ip-set

AWS CLI

更新信任的 IP 集

下列update-ip-set範例示範如何更新受信任 IP 集的詳細資訊。

aws guardduty update-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --ip-set-id d4b94fc952d6912b8f3060768example \ --location https://AWSDOC-EXAMPLE-BUCKET.s3-us-west-2.amazonaws.com/customtrustlist2.csv

此命令不會產生輸出。

如需詳細資訊,請參閱 GuardDuty 使用者指南中的使用信任 IP 清單和威脅清單

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateIpSet