시작하기 GuardDuty - 아마존 GuardDuty

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

시작하기 GuardDuty

이 자습서에서는 에 대한 실무 소개를 제공합니다. GuardDuty 독립 실행형 계정 또는 GuardDuty GuardDuty 관리자로 활성화하기 위한 최소 요구 사항은 AWS Organizations 1단계에서 다룹니다. 2~5단계에서는 결과를 최대한 GuardDuty 활용하기 위해 에서 권장하는 추가 기능을 사용하는 방법을 다룹니다.

시작하기 전 준비 사항

GuardDuty AWS CloudTrail 이벤트 로그, AWS CloudTrail 관리 이벤트, Amazon VPC 흐름 로그, DNS 로그 기본 데이터 소스 등을 모니터링하는 위협 탐지 서비스입니다. GuardDuty 또한 보호 유형과 관련된 기능을 별도로 활성화한 경우에만 해당 보호 유형과 관련된 기능을 분석합니다. 기능으로는 Kubernetes 감사 로그, RDS 로그인 활동, S3 로그, EBS 볼륨, 런타임 모니터링 및 Lambda 네트워크 활동 로그가 있습니다. 이러한 데이터 소스 및 기능 (활성화된 경우) 을 사용하면 계정에 대한 보안 탐지 결과가 GuardDuty 생성됩니다.

GuardDuty활성화하면 환경 모니터링이 시작됩니다. 언제든지 모든 지역의 모든 계정을 GuardDuty 비활성화할 수 있습니다. 이렇게 하면 기본 데이터 소스와 GuardDuty 별도로 활성화된 모든 기능을 처리할 수 없게 됩니다.

기본 데이터 소스의 명시적 활성화는 필요하지 않습니다. Amazon은 이러한 서비스에서 직접 독립적인 데이터 스트림을 GuardDuty 가져옵니다. 새 GuardDuty 계정의 경우, 에서 지원되는 사용 가능한 모든 보호 유형이 기본적으로 AWS 리전 활성화되고 30일 무료 평가 기간에 포함됩니다. 일부 또는 전부를 옵트아웃할 수 있습니다. 기존 GuardDuty 고객인 경우, 사용 가능한 보호 플랜 중 일부 또는 전체를 사용하도록 선택할 수 있습니다. AWS 리전자세한 내용은 의 각 보호 유형과 관련된 기능을 참조하십시오 GuardDuty.

GuardDuty활성화할 때는 다음 항목을 고려하십시오.

  • GuardDuty 지역 서비스이므로 이 페이지에서 따르는 모든 구성 절차를 모니터링하려는 각 지역에서 반복해야 GuardDuty 합니다.

    지원되는 모든 GuardDuty AWS 지역에서 활성화하는 것이 좋습니다. 이렇게 하면 GuardDuty 활발히 사용하지 않는 지역에서도 무단 또는 비정상적 활동에 대한 결과를 얻을 수 있습니다. 또한 GuardDuty 이를 통해 IAM과 같은 글로벌 AWS 서비스의 AWS CloudTrail 이벤트를 모니터링할 수 있습니다. 지원되는 모든 지역에서 GuardDuty 활성화되지 않은 경우 글로벌 서비스와 관련된 활동을 탐지하는 기능이 저하됩니다. 사용 가능한 지역의 GuardDuty 전체 목록은 을 참조하십시오지역 및 엔드포인트.

  • AWS 계정에서 관리자 권한이 있는 모든 사용자가 GuardDuty 활성화할 수 있지만 최소 권한이라는 보안 모범 사례에 따라 특별히 관리할 GuardDuty IAM 역할, 사용자 또는 그룹을 생성하는 것이 좋습니다. GuardDuty 활성화에 필요한 권한에 대한 자세한 내용은 을 참조하십시오. GuardDuty를 활성화하는 데 필요한 권한

  • 어느 곳에서든 GuardDuty AWS 리전처음으로 활성화하면 기본적으로 멀웨어 보호를 포함하여 해당 지역에서 지원되는 사용 가능한 모든 보호 유형도 활성화됩니다. GuardDuty 라는 계정에 대한 서비스 연결 역할을 생성합니다. AWSServiceRoleForAmazonGuardDuty 이 역할에는 에서 직접 이벤트를 소비 및 GuardDuty 분석하여 보안 결과를 생성할 수 있는 권한 및 신뢰 정책이 포함됩니다. 기본 데이터 소스 맬웨어 보호는 계정에 대해 AWSServiceRoleForAmazonGuardDutyMalwareProtection이라는 또 다른 서비스 연결 역할을 생성합니다. 이 역할에는 Malware Protection이 에이전트 없는 검사를 수행하여 계정에서 멀웨어를 탐지할 수 있도록 하는 권한 및 신뢰 정책이 포함됩니다. GuardDuty GuardDuty 이를 통해 계정에서 EBS 볼륨 스냅샷을 생성하고 해당 스냅샷을 서비스 계정과 공유할 수 있습니다. GuardDuty 자세한 정보는 에 대한 서비스 연결 역할 권한 GuardDuty을 참조하세요. 서비스 연결 역할에 대한 자세한 내용은 서비스 연결 역할 사용을 참조하세요.

  • 어느 지역에서든 GuardDuty 처음으로 활성화하면 AWS 계정이 해당 지역의 30일 GuardDuty 무료 평가판에 자동으로 등록됩니다.

1단계: 아마존 활성화 GuardDuty

사용의 GuardDuty 첫 번째 단계는 계정에서 활성화하는 것입니다. GuardDuty활성화되면 즉시 현재 지역의 보안 위협을 모니터링하기 시작합니다.

관리자로서 조직 내 다른 계정의 GuardDuty 검색 결과를 GuardDuty 관리자로 관리하려면 구성원 계정을 추가하고 해당 계정에 GuardDuty 대해서도 활성화해야 합니다. 옵션을 선택하여 해당 환경에서 GuardDuty 활성화하는 방법을 알아보십시오.

Standalone account environment
  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

  2. 시작하기를 선택합니다.

  3. 활성화를 선택합니다 GuardDuty.

Multi-account environment
중요

이 프로세스의 사전 요구 사항으로, 관리하려는 모든 계정과 동일한 조직에 속해야 하며, 조직 GuardDuty 내 관리자를 위임하려면 AWS Organizations 관리 계정에 대한 액세스 권한이 있어야 합니다. 관리자를 위임하려면 추가 권한이 필요할 수 있습니다. 자세한 내용은 위임된 GuardDuty 관리자 계정을 지정하는 데 필요한 권한 섹션을 참조하세요.

위임된 관리자 계정을 지정하려면 GuardDuty

  1. 관리 계정을 사용하여 https://console.aws.amazon.com/organizations/ 에서 AWS Organizations 콘솔을 엽니다.

  2. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

    계정에서 GuardDuty 이미 활성화되었나요?

    • 이 ( GuardDuty 가) 아직 활성화되지 않은 경우 시작하기를 선택한 다음 시작 페이지에서 GuardDuty 위임된 관리자를 지정할 수 있습니다. GuardDuty

    • GuardDuty 가 활성화된 경우 설정 페이지에서 GuardDuty 위임된 관리자를 지정할 수 있습니다.

  3. 조직의 위임 관리자로 지정하려는 계정의 12자리 AWS 계정 ID를 입력하고 GuardDuty 위임을 선택합니다.

    참고

    이 ( GuardDuty 가) 아직 활성화되지 않은 경우 위임된 관리자를 지정하면 현재 지역에서 해당 계정을 GuardDuty 사용할 수 있습니다.

멤버 계정 추가

이 절차에서는 를 통해 GuardDuty 위임된 관리자 계정에 구성원 계정을 추가하는 방법을 설명합니다. AWS Organizations초대를 통해 멤버를 추가하는 옵션도 있습니다. 에서 GuardDuty 구성원을 연결하는 두 가지 방법에 대한 자세한 내용은 을 참조하십시오. Amazon에서 여러 계정 관리 GuardDuty

  1. 위임된 관리자 계정에 로그인

  2. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

  3. 탐색 창에서 Settings(설정)를 선택한 다음 Accounts(계정)를 선택합니다.

    계정 테이블에는 조직의 모든 계정이 표시됩니다.

  4. 계정 ID 옆의 확인란을 선택하여 멤버로 추가할 계정을 선택합니다. 그런 다음 작업 메뉴에서 멤버 추가를 선택합니다.

    작은 정보

    자동 활성화 기능을 켜서 새 계정을 멤버로 자동 추가할 수 있습니다. 하지만 이 기능은 기능이 활성화된 후 조직에 가입하는 계정에만 적용됩니다.

2단계: 샘플 결과 생성 및 기본 작업 탐색

보안 문제를 GuardDuty 발견하면 검색 결과가 생성됩니다. GuardDuty 검색 결과는 해당 고유한 보안 문제와 관련된 세부 정보가 포함된 데이터 세트입니다. 결과의 세부 정보는 문제를 조사하는 데 도움이 될 수 있습니다.

GuardDuty 에서 발견한 실제 보안 문제에 대응하기 전에 GuardDuty 기능을 테스트하고 결과를 숙지하는 데 사용할 수 있는 자리 표시자 값이 포함된 샘플 결과 생성을 지원합니다. GuardDuty 에서 GuardDuty 사용할 수 있는 각 검색 결과 유형에 대한 샘플 결과를 생성하려면 아래 가이드를 따르십시오. 계정 내에서 시뮬레이션된 보안 이벤트를 생성하는 것을 포함하여 샘플 결과를 생성하는 추가 방법에 대한 자세한 내용은 을 참조하십시오. 샘플 결과

샘플 결과 생성 및 탐색

  1. 탐색 창에서 설정을 선택합니다.

  2. [Settings] 페이지의 [Sample findings] 아래에서 [Generate sample findings]를 선택합니다.

  3. 탐색 창에서 요약을 선택하여 AWS 환경에서 생성된 결과에 대한 통찰력을 확인하십시오. 요약 대시보드의 구성 요소에 대한 자세한 내용은 요약 대시보드 섹션을 참조하세요.

  4. 탐색 창에서 결과를 선택합니다. 샘플 결과는 현재 결과 페이지에 접두사 [SAMPLE]과 함께 표시됩니다.

  5. 목록에서 결과를 선택하면 결과에 대한 세부 정보가 표시됩니다.

    1. 결과 세부 정보 창에 제공되는 다양한 정보 필드를 검토할 수 있습니다. 결과 유형마다 필드가 다를 수 있습니다. 모든 결과 유형에 제공되는 필드에 대한 자세한 내용은 결과 세부 정보 섹션을 참조하세요. 세부 정보 창에서 다음 작업을 수행할 수 있습니다.

      • 창 상단에서 결과 ID를 선택하면 결과에 대한 전체 JSON 세부 정보가 열립니다. 이 패널에서 전체 JSON 파일을 다운로드할 수도 있습니다. JSON에는 콘솔 보기에 포함되지 않은 몇 가지 추가 정보가 포함되어 있으며, 다른 도구 및 서비스에서 수집할 수 있는 형식입니다.

      • 영향을 받는 리소스 섹션을 확인하세요. 실제 조사 결과에서 여기의 정보는 계정 내에서 조사해야 할 리소스를 식별하는 데 도움이 되며 AWS Management Console 적절하고 실행 가능한 리소스로 연결되는 링크를 포함합니다.

      • + 또는 - 아이콘을 선택하여 해당 세부 정보에 대한 포괄적 또는 배타적 필터를 만들 수 있습니다. 필터에 대한 자세한 내용은 결과 필터링 섹션을 참조하세요.

  6. 모든 샘플 결과 보관

    1. 목록 상단에 있는 확인란을 선택하여 모든 결과를 선택합니다.

    2. 보관하려는 결과를 모두 선택 취소합니다.

    3. 작업 메뉴를 선택하고 보관을 선택하여 샘플 결과를 숨깁니다.

      참고

      보관된 결과를 보려면 현재를 선택한 다음 보관됨을 선택하여 결과 보기를 전환합니다.

3단계: GuardDuty 결과를 Amazon S3 버킷으로 내보내기 구성

GuardDuty 검색 결과를 내보내도록 설정을 구성하는 것이 좋습니다. 이렇게 하면 검색 결과를 S3 버킷으로 내보내 GuardDuty 90일 보존 기간이 지난 후 무기한 저장할 수 있기 때문입니다. 이를 통해 시간 경과에 따른 결과 기록을 보관하거나 환경 내 문제를 추적할 수 있습니다. AWS 여기에서 설명하는 프로세스는 새 S3 버킷을 설정하고 콘솔 내에서 결과를 암호화하도록 새 KMS 키를 생성하는 과정을 안내합니다. 기존 버킷 또는 다른 계정의 버킷을 사용하는 방법을 포함하여 이에 대한 자세한 내용은 결과 내보내기 섹션을 참조하세요.

S3 결과 내보내기 옵션 구성
  1. 결과를 암호화하려면 해당 키를 암호화에 사용할 수 GuardDuty 있는 정책이 포함된 KMS 키가 필요합니다. 다음 단계는 새 KMS 키를 생성하는 데 도움이 됩니다. 다른 계정의 KMS 키를 사용하는 경우 키를 AWS 계정 소유한 사람에게 로그인하여 키 정책을 적용해야 합니다. KMS 키와 S3 버킷의 리전이 동일해야 합니다. 하지만 결과를 내보내려는 각 리전에 동일한 버킷과 키 페어를 사용할 수 있습니다.

    1. https://console.aws.amazon.com/kms 에서 AWS KMS 콘솔을 엽니다.

    2. 를 변경하려면 AWS 리전페이지 오른쪽 상단에 있는 지역 선택기를 사용하십시오.

    3. 탐색 창에서 고객 관리형 키를 선택합니다.

    4. 키 생성을 선택합니다.

    5. 키 유형에서 대칭을 선택한 후 다음을 선택합니다.

      참고

      KMS 키 생성에 대한 구체적 단계는AWS Key Management Service 개발자 안내서Creating keys를 참조하세요.

    6. 키의 별칭을 입력하고 다음을 선택합니다.

    7. 다음을 선택하고, 다시 다음을 선택하여 기본 관리 및 사용 권한을 수락합니다.

    8. 구성을 검토한 후에는 완료를 선택하여 키를 생성합니다.

    9. 고객 관리형 키 페이지에서 키 별칭을 선택합니다.

    10. 키 정책 탭에서 정책 보기로 전환을 선택합니다.

    11. 편집을 선택하고 KMS 키에 다음 키 정책을 추가하여 키에 대한 액세스 권한을 GuardDuty 부여합니다. 이 설명문에서는 GuardDuty 이 정책을 추가한 키만 사용할 수 있습니다. 키 정책을 편집할 때는 JSON 구문이 유효한지 확인해야 합니다. 마지막 문 앞에 문을 추가하면 닫는 대괄호 뒤에 쉼표를 추가해야 합니다.

      { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:Region1:444455556666:key/KMSKeyId", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:guardduty:Region2:111122223333:detector/SourceDetectorID" } } }

      Region1을 KMS 키의 리전으로 바꿉니다. 444455556666을 KMS 키를 소유한 것으로 교체하십시오. AWS 계정 KMS를 암호화를 위해 선택한 KMS 키의 키 KeyId ID로 바꾸십시오. 지역 AWS 계정, 키 ID 등 모든 값을 식별하려면 KMS 키의 ARN을 확인하세요. 키 ARN을 찾으려면 Finding the key ID and ARN을 참조하세요.

      마찬가지로 111122223333을 해당 계정의 것으로 바꾸십시오. AWS 계정 GuardDuty 지역 2를 계정의 지역으로 바꾸십시오. GuardDuty SourceDetectorID를 지역 2 GuardDuty 계정의 탐지기 ID로 바꾸십시오.

      계정 및 현재 지역의 계정을 detectorId 찾으려면 https://console.aws.amazon.com/guardduty/ 콘솔의 설정 페이지를 참조하십시오.

    12. 저장을 선택합니다.

  2. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

  3. 탐색 창에서 설정을 선택합니다.

  4. 결과 내보내기 옵션에서 지금 구성을 선택합니다.

  5. 새 버킷을 선택합니다. S3 버킷에 대해 고유한 이름을 입력합니다.

  6. (선택 사항) 샘플 결과를 생성하여 새 내보내기 설정을 테스트할 수 있습니다. 탐색 창에서 설정을 선택합니다.

  7. 샘플 결과 섹션에서 샘플 결과 생성을 선택합니다. 새 샘플 결과는 최대 5분 내에 생성된 S3 GuardDuty 버킷의 항목으로 표시됩니다.

4단계: SNS를 통한 알림 GuardDuty 검색 설정

GuardDuty Amazon과 통합되며 EventBridge, 이를 사용하여 결과 데이터를 다른 애플리케이션 및 서비스에 전송하여 처리할 수 있습니다. EventBridge 를 사용하면 GuardDuty 검색 결과를 사용하여 검색 결과 이벤트를 AWS Lambda 함수, Amazon EC2 Systems Manager 자동화, Amazon Simple Notification Service (SNS) 등과 같은 대상에 연결하여 결과에 대한 자동 응답을 시작할 수 있습니다.

이 예제에서는 EventBridge 규칙의 대상이 될 SNS 주제를 생성한 다음, 해당 주제를 사용하여 EventBridge 결과 데이터를 캡처하는 규칙을 생성합니다. GuardDuty 결과 규칙은 결과 세부 정보를 이메일 주소로 전달합니다. 결과를 Slack 또는 Amazon Chime으로 보내는 방법과 결과 알림 유형을 수정하는 방법을 알아보려면 Amazon SNS 주제 및 엔드포인트 설정 섹션을 참조하세요.

결과 알림에 대한 SNS 주제 생성

  1. https://console.aws.amazon.com/sns/v3/home에서 Amazon SNS 콘솔을 엽니다.

  2. 탐색 창에서 주제를 선택합니다.

  3. 주제 생성을 선택합니다.

  4. 유형에서 표준을 선택합니다.

  5. 이름GuardDuty을 입력합니다.

  6. 주제 생성을 선택합니다. 새로운 주제에 대한 주제 세부 정보가 열립니다.

  7. 구독 섹션에서 구독 생성을 선택합니다.

  8. 프로토콜에서 이메일을 선택합니다.

  9. 엔드포인트에서 알림을 전송할 이메일 주소를 입력합니다.

  10. 구독 생성을 선택합니다.

    구독을 생성한 후에는 이메일을 통해 구독을 확인해야 합니다.

  11. 구독 메시지를 확인하려면 이메일 수신함으로 이동한 다음 구독 메시지에서 구독 확인을 선택합니다.

    참고

    이메일 확인 상태를 확인하려면 SNS 콘솔로 이동하여 구독을 선택합니다.

GuardDuty 결과를 캡처하고 형식을 지정하는 EventBridge 규칙을 만들려면

  1. https://console.aws.amazon.com/events/ 에서 EventBridge 콘솔을 엽니다.

  2. 탐색 창에서 규칙을 선택합니다.

  3. 규칙 생성을 선택합니다.

  4. 규칙에 대해 이름과 설명을 입력하십시오.

    규칙은 동일한 지역과 동일한 이벤트 버스의 다른 규칙과 동일한 이름을 가질 수 없습니다.

  5. 이벤트 버스에서 기본값을 선택합니다.

  6. 규칙 유형에서 이벤트 패턴이 있는 규칙을 선택합니다.

  7. 다음을 선택합니다.

  8. 이벤트 소스(Event source)에서 AWS 이벤트( events)를 선택합니다.

  9. 이벤트 패턴에서 이벤트 패턴 양식을 선택합니다.

  10. 이벤트 소스에서 AWS 서비스를 선택합니다.

  11. AWS 서비스에서 GuardDuty를 선택합니다.

  12. 이벤트 유형에서 GuardDuty 찾기를 선택합니다.

  13. 다음을 선택합니다.

  14. 대상 유형에서 AWS 서비스를 선택합니다.

  15. 대상 선택에서 SNS 주제를 선택하고, 주제에서 앞서 생성한 SNS 주제의 이름을 선택합니다.

  16. 추가 설정 섹션의 대상 입력 구성에서 입력 변환기를 선택합니다.

    입력 변환기를 추가하면 보낸 JSON 검색 데이터가 사람이 읽을 수 있는 GuardDuty 메시지로 포맷됩니다.

  17. Configure input transformer(입력 구성 변환기)를 선택합니다.

  18. 대상 입력 변환기 섹션의 입력 경로에 다음 코드를 붙여넣습니다.

    { "severity": "$.detail.severity", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_description": "$.detail.description" }
  19. 이메일 형식을 지정하려면 템플릿에 다음 코드를 붙여넣고 빨간색 텍스트를 해당 지역에 적합한 값으로 바꿔야 합니다.

    "You have a severity severity GuardDuty finding type Finding_Type in the Region_Name Region." "Finding Description:" "Finding_Description." "For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=region#/findings?search=id%3DFinding_ID"
  20. 확인을 선택합니다.

  21. 다음을 선택합니다.

  22. (선택 사항) 규칙에 대해 하나 이상의 태그를 입력하십시오. 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge 태그를 참조하십시오.

  23. 다음을 선택합니다.

  24. 규칙의 세부 정보를 검토하고 규칙 생성을 선택합니다.

  25. (선택 사항) 2단계의 프로세스를 사용하여 샘플 결과를 생성하고 새 규칙을 테스트합니다. 생성된 각 샘플 결과에 대해 이메일을 받게 됩니다.

다음 단계

계속 GuardDuty 사용하다 보면 환경과 관련된 검색 결과의 유형을 이해하게 될 것입니다. 새로운 결과를 받을 때마다 결과 세부 정보 창의 결과 설명에서 자세히 알아보기를 선택하거나 결과 유형에서 결과 이름을 검색하여 해당 결과에 대한 해결 권장 사항을 비롯한 정보를 찾아볼 수 있습니다.

다음 기능은 AWS 환경에 가장 적합한 결과를 제공할 수 GuardDuty 있도록 튜닝하는 데 도움이 됩니다.

  • 인스턴스 ID, 계정 ID, S3 버킷 이름 등과 같은 특정 기준에 따라 결과를 쉽게 정렬하려면 내에서 필터를 생성하고 저장할 수 있습니다 GuardDuty. 자세한 정보는 결과 필터링을 참조하세요.

  • 환경에서 예상되는 동작에 대한 결과를 받는 경우 억제 규칙으로 정의한 기준을 기반으로 결과를 자동으로 보관할 수 있습니다.

  • 신뢰할 수 있는 IP의 하위 집합에서 검색 결과가 생성되지 않도록 하거나 IP가 GuardDuty 정상 모니터링 범위를 벗어나도록 하려면 신뢰할 수 있는 IP 및 위협 목록을 설정할 수 있습니다.