GuardDuty 使用 的範例 AWS CLI - AWS Command Line Interface

本文件 AWS CLI 僅適用於 的第 1 版。如需與 第 2 版相關的文件 AWS CLI,請參閱 第 2 版使用者指南

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

GuardDuty 使用 的範例 AWS CLI

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

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

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

主題

動作

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

AWS CLI

接受邀請以成為目前區域中 GuardDuty 的成員帳戶

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

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

此命令不會產生輸出。

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

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

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

AWS CLI

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

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

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

此命令不會產生輸出。

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

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

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

AWS CLI

在 GuardDuty 目前區域中啟用

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

aws guardduty create-detector \ --enable

輸出:

{ "DetectorId": "b6b992d6d2f48e64bc59180bfexample" }

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

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

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 CreateFilter中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 CreateIpSet中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 CreateMembers中的 。 AWS CLI

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

AWS CLI

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

此範例示範如何建立 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

在目前區域中建立範例 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 使用者指南中的透過邀請管理 GuardDuty 帳戶

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

AWS CLI

在 GuardDuty目前區域中刪除偵測器並停用 。

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

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

此命令不會產生輸出。

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

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

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

AWS CLI

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

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

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

此命令不會產生輸出。

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

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

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

AWS CLI

移除 帳戶作為 GuardDuty 組織中的委派管理員

此範例說明如何移除 帳戶作為 的委派管理員 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

此命令不會產生輸出。

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

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 GetDetector中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 GetFindings中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 GetIpSet中的 。 AWS CLI

下列程式碼範例示範如何使用 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" } }

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

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

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

AWS CLI

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

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

aws guardduty list-detectors

輸出:

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

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

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

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

AWS CLI

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

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

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

輸出:

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

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

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

下列list-findings範例顯示 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範例會顯示所有 findingIds 未封存的清單,並包含名為「測試使用者」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詳細資訊,請參閱 命令參考 ListFindings中的 。 AWS CLI

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

AWS CLI

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

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

aws guardduty list-invitations

輸出:

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

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

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

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

AWS CLI

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

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

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

輸出:

{ "IpSetIds": [ "d4b94fc952d6912b8f3060768example" ] }

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

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

下列程式碼範例示範如何使用 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" } ] }

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

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

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 UpdateIpSet中的 。 AWS CLI