를 사용한 GuardDuty 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용한 GuardDuty 예제 AWS CLI

다음 코드 예제에서는 AWS Command Line Interface with GuardDuty를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 accept-invitation을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 리전에서 GuardDuty 멤버 계정이 되기 위한 초대를 수락하려면

다음 accept-invitation 예제에서는 현재 리전에서 GuardDuty 멤버 계정이 되도록 초대를 수락하는 방법을 보여줍니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 GuardDuty 사용 설명서의 초대를 통한 ManagingWord Accounts를 참조하세요. GuardDuty

  • API 세부 정보는 AWS CLI 명령 참조AcceptInvitation를 참조하세요.

다음 코드 예시에서는 archive-findings을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 리전에서 조사 결과를 아카이브하려면

이 예제는 현재 리전에서 조사 결과를 아카이브하는 방법을 보여줍니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 GuardDuty 사용 설명서초대를 통한 Managing GuardDuty Accounts를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ArchiveFindings를 참조하세요.

다음 코드 예시에서는 create-detector을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 리전에서 GuardDuty 를 활성화하려면

이 예제는 현재 리전에서 enable GuardDuty를 활성화하는 새 탐지기를 생성하는 방법을 보여줍니다.

aws guardduty create-detector \ --enable

출력:

{ "DetectorId": "b6b992d6d2f48e64bc59180bfexample" }

자세한 내용은 GuardDuty 사용 설명서Amazon GuardDuty 활성화를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateDetector를 참조하세요.

다음 코드 예시에서는 create-filter을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 리전에 대한 새 필터를 생성하려면

이 예제에서는 특정 이미지에서 생성된 인스턴스의 모든 포트 스캔 결과와 일치하는 필터를 생성합니다.

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

현재 리전의 Export 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

현재 리전에서 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 사용 설명서의 초대를 통한 ManagingWord 계정 관리를 참조하세요. GuardDuty

다음 코드 예시에서는 delete-detector을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 리전에서 탐지기를 삭제하고 Disable GuardDuty를 선택합니다.

이 예제에서는 탐지기를 삭제하는 방법을 보여줍니다. 성공하면 해당 탐지기와 연결된 리전에서 GuardDuty 가 비활성화됩니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 GuardDuty 사용 설명서W 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

조직 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 사용 설명서의 Word Master와 멤버 계정 간의 관계 이해를 참조하세요. 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 세부 정보는 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" } }

자세한 내용은 GuardDuty 사용 설명서의 Word Master와 멤버 계정 간의 관계 이해를 참조하세요. GuardDuty

  • 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 목록을 표시하며 Word 파일에 지정된 대로 'testuser'라는 JSON 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 사용 설명서의 조사 결과를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListFindings를 참조하세요.

다음 코드 예시에서는 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 사용 설명서의 초대를 통한 ManagingWord Accounts를 참조하세요. 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" } ] }

자세한 내용은 GuardDuty 사용 설명서의 Word Master와 멤버 계정 간의 관계 이해를 참조하세요. GuardDuty

  • 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를 참조하세요.