GuardDuty 使用示例 AWS CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

GuardDuty 使用示例 AWS CLI

以下代码示例向您展示了如何使用with来执行操作和实现常见场景 GuardDuty。 AWS Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 accept-invitation

AWS CLI

接受邀请成为当前地区的 GuardDuty 成员账户

以下accept-invitation示例说明如何接受邀请,成为当前地区的 GuardDuty 成员账户。

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

此命令不生成任何输出。

有关更多信息,请参阅《 GuardDuty 用户指南》中的 “通过邀请管理 GuardDuty 账户”。

  • 有关API详细信息,请参阅AWS CLI 命令参考AcceptInvitation中的。

以下代码示例演示如何使用 archive-findings

AWS CLI

存档当前区域的调查结果

此示例说明如何存档当前区域的调查结果。

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

此命令不生成任何输出。

有关更多信息,请参阅《GuardDuty 用户指南》中的 “通过邀请管理 GuardDuty 账户”。

以下代码示例演示如何使用 create-detector

AWS CLI

GuardDuty 在当前区域启用

此示例说明如何在当前区域创建新的探测器并将其启用 GuardDuty。 :

aws guardduty create-detector \ --enable

输出:

{ "DetectorId": "b6b992d6d2f48e64bc59180bfexample" }

有关更多信息,请参阅GuardDuty 用户指南 GuardDuty中的启用 Amazon

以下代码示例演示如何使用 create-filter

AWS CLI

为当前区域创建新过滤器

此示例创建了一个过滤器,该过滤器与所有 portscan 结果相匹配,例如根据特定图像创建的结果。 :

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 用户指南》中的筛选结果

以下代码示例演示如何使用 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 列表和威胁列表”。

以下代码示例演示如何使用 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 用户指南》中的管理多个账户

以下代码示例演示如何使用 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中的暂停或禁用

以下代码示例演示如何使用 delete-filter

AWS CLI

删除当前区域中的现有过滤器

此示例说明如何创建删除过滤器。

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

此命令不生成任何输出。

有关更多信息,请参阅《 GuardDuty 用户指南》中的筛选结果

以下代码示例演示如何使用 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示例取消您的账户与当前区域中当前 GuardDuty 主账户的关联。 AWS

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 用户指南》中的概念和术语

以下代码示例演示如何使用 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 用户指南》中的调查结果

以下代码示例演示如何使用 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 列表和威胁列表”。

以下代码示例演示如何使用 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 主账户和成员账户之间的关系”。

以下代码示例演示如何使用 list-detectors

AWS CLI

列出当前区域中的可用探测器

以下list-detectors示例列出了您当前 AWS 区域中的可用探测器。

aws guardduty list-detectors

输出:

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

有关更多信息,请参阅《 GuardDuty 用户指南》中的概念和术语

以下代码示例演示如何使用 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 未存档的内容的列表,其中涉及JSON文件中指定的名为 “testuser” 的用户。IAM

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 用户指南》中的调查结果

以下代码示例演示如何使用 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 账户”。

以下代码示例演示如何使用 list-ip-sets

AWS CLI

列出当前区域中的可信 IP 集

以下list-ip-sets示例列出了您当前 AWS 区域中的可信 IP 集。

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

输出:

{ "IpSetIds": [ "d4b94fc952d6912b8f3060768example" ] }

有关更多信息,请参阅《 GuardDuty 用户指南》中的 “使用可信 IP 列表和威胁列表”。

以下代码示例演示如何使用 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 主账户和成员账户之间的关系”。

以下代码示例演示如何使用 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 列表和威胁列表”。