GuardDuty 사용 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

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

GuardDuty 사용 예제 AWS CLI

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

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

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

주제

작업

다음 코드 예시에서는 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

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

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

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 계정 관리를 참조하세요.

  • 자세한 API 내용은 명령 참조DeclineInvitations의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 예제에서는 JSON 파일에 지정된 대로 아카이브 findingIds 되지 않은 모든 목록과 '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 사용 설명서의 결과를 참조하세요.

  • 자세한 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