억제 규칙 - 아마존 GuardDuty

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

억제 규칙

억제 규칙은 지정된 기준과 일치하는 새 결과를 자동으로 보관하여 결과를 필터링하는 데 사용되는 값과 페어링된 필터 속성으로 구성된 일련의 기준입니다. 억제 규칙을 사용하면 가치가 낮은 결과, 오탐지 결과 또는 조치를 취하지 않으려는 위협을 필터링할 수 있으므로 환경에 가장 큰 영향을 미치는 보안 위협을 보다 쉽게 파악할 수 있습니다.

억제 규칙을 생성한 후, 억제 규칙이 지정되어 있는 동안에는 규칙에 정의된 기준과 일치하는 새 결과가 자동으로 보관됩니다. 기존 필터를 사용하여 억제 규칙을 생성하거나 정의한 새 필터에서 억제 규칙을 생성할 수 있습니다. 억제 규칙을 구성하여 전체 결과 유형을 억제하거나, 보다 세부적인 필터 기준을 정의하여 특정 결과 유형의 특정 인스턴스만 억제할 수 있습니다. 억제 규칙은 언제든지 편집할 수 있습니다.

숨겨진 검색 결과는 Amazon Simple Storage Service AWS Security Hub, Amazon Detective 또는 Amazon으로 전송되지 않으므로 Security Hub, 타사 SIEM 또는 기타 알림 및 티켓 애플리케이션을 통해 결과를 사용할 GuardDuty 경우 검색 결과 노이즈 수준이 낮아집니다. EventBridge 활성화한 경우GuardDuty 멀웨어 보호, 차단된 GuardDuty 발견으로 인해 멀웨어 스캔이 시작되지 않습니다.

GuardDuty 검색 결과가 금지 규칙과 일치하는 경우에도 검색 결과가 계속 생성되지만 해당 결과는 자동으로 보관된 것으로 표시됩니다. 보관된 검색 결과는 90일 동안 저장되며 해당 기간 중 언제든지 볼 수 있습니다. GuardDuty 검색 결과 테이블에서 보관됨을 선택하여 GuardDuty 콘솔에서 숨겨진 검색 결과를 보거나, findingCriteria 기준이 true와 같으면 GuardDuty API를 사용하여 API를 통해 숨겨진 검색 결과를 볼 수 있습니다. ListFindingsservice.archived

참고

다중 계정 환경에서는 GuardDuty 관리자만 금지 규칙을 생성할 수 있습니다.

억제 규칙의 일반 사용 사례 및 예시

다음 결과 유형은 억제 규칙 적용에 대한 일반 사용 사례입니다. 결과 이름을 선택하여 해당 결과에 대해 자세히 알아보거나 정보를 검토하여 콘솔에서 해당 결과에 대한 억제 규칙을 구축하세요.

중요

GuardDuty 반복적으로 오탐이 확인된 결과에 대해서만 사후 대응적으로 금지 규칙을 작성할 것을 권장합니다.

  • UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS - VPC 네트워킹이 인터넷 트래픽을 라우팅하도록 구성되어 있고 VPC 인터넷 게이트웨이가 아닌 온프레미스 게이트웨이에서 인터넷 트래픽이 나가는 경우 억제 규칙을 사용하여 생성된 결과를 자동으로 보관합니다.

    이 결과는 네트워킹이 인터넷 트래픽을 라우팅하도록 구성되어 VPC 인터넷 게이트웨이(IGW)가 아닌 온프레미스 게이트웨이에서 나가는 경우에 생성됩니다. AWS Outposts 또는 VPC VPN 연결을 사용하는 것과 같은 일반적인 구성으로 인해 트래픽이 이러한 방식으로 라우팅될 수 있습니다. 예상된 동작인 경우 의 억제 규칙을 사용하고 두 개의 필터 기준으로 구성된 규칙을 만드는 것이 좋습니다. 첫 번째 기준은 결과 유형으로 UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS이어야 합니다. 두 번째 필터 기준은 온프레미스 인터넷 게이트웨이의 IP 주소 또는 CIDR 범위를 포함하는 API 호출자 IPv4 주소입니다. 아래 예시는 API 호출자 IP 주소를 기반으로 이 결과 유형을 억제하는 데 사용할 필터를 나타냅니다.

    Finding type: UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS API caller IPv4 address: 198.51.100.6
    참고

    여러 개의 API 호출자 IP를 포함하려면 각각에 대해 새 API 호출자 IPv4 주소 필터를 추가할 수 있습니다.

  • Recon:EC2/Portscan - 취약성 평가 애플리케이션을 사용하는 경우 억제 규칙을 사용하여 자동으로 결과를 보관합니다.

    억제 규칙은 두 개의 필터 기준으로 구성해야 합니다. 첫 번째 기준에는 Finding type(결과 유형) 속성과 Recon:EC2/Portscan 값을 사용해야 합니다. 두 번째 필터 기준은 이러한 취약성 평가 도구를 호스팅하는 인스턴스와 일치해야 합니다. 이러한 도구를 호스팅하는 인스턴스에서 식별 가능한 기준에 따라 Instance image ID 속성 또는 Tag 값 속성을 사용할 수 있습니다. 아래 예시는 특정 AMI를 기반으로 이 결과 유형을 억제하는 데 사용할 필터를 나타냅니다.

    Finding type: Recon:EC2/Portscan Instance image ID: ami-999999999
  • UnauthorizedAccess:EC2/SSHBruteForce - Bastion 인스턴스를 대상으로 하는 경우 억제 규칙을 사용하여 자동으로 결과를 보관합니다.

    무차별 대입 시도의 대상이 배스천 호스트인 경우 이는 사용자 환경에 예상되는 동작일 수 있습니다. AWS 이 경우 이 결과에 대해 억제 규칙을 설정하는 것이 좋습니다. 억제 규칙은 두 개의 필터 기준으로 구성해야 합니다. 첫 번째 기준에는 Finding type(결과 유형) 속성과 UnauthorizedAccess:EC2/SSHBruteForce 값을 사용해야 합니다. 두 번째 필터 기준은 Bastion Host로 사용되는 인스턴스와 일치해야 합니다. 이러한 도구를 호스팅하는 인스턴스에서 식별 가능한 기준에 따라 인스턴스 이미지 ID 속성 또는 태그 값 속성을 사용할 수 있습니다. 아래 예시는 특정 인스턴스 태그 값을 기반으로 이 결과 유형을 억제하는 데 사용할 필터를 나타냅니다.

    Finding type: UnauthorizedAccess:EC2/SSHBruteForce Instance tag value: devops
  • Recon:EC2/PortProbeUnprotectedPort - 의도적으로 노출된 인스턴스를 대상으로 하는 경우 억제 규칙을 사용하여 자동으로 결과를 보관합니다.

    인스턴스가 웹 서버를 호스팅하는 경우와 같이 의도적으로 노출되는 경우가 있을 수 있습니다. 사용자 AWS 환경에서 이런 경우에는 이 결과에 대한 억제 규칙을 설정하는 것이 좋습니다. 억제 규칙은 두 개의 필터 기준으로 구성해야 합니다. 첫 번째 기준에는 Finding type(결과 유형) 속성과 Recon:EC2/PortProbeUnprotectedPort 값을 사용해야 합니다. 두 번째 필터 기준은 Bastion Host로 사용되는 인스턴스와 일치해야 합니다. 이러한 도구를 호스팅하는 인스턴스에서 식별 가능한 기준에 따라 인스턴스 이미지 ID 속성 또는 태그 값 속성을 사용할 수 있습니다. 아래 예시는 콘솔의 특정 인스턴스 태그 키를 기반으로 이 결과 유형을 억제하는 데 사용할 필터를 나타냅니다.

    Finding type: Recon:EC2/PortProbeUnprotectedPort Instance tag key: prod

EKS 런타임 모니터링 결과에 대한 권장 억제 규칙

  • PrivilegeEscalation:Runtime/DockerSocketAccessed는 컨테이너 내부의 프로세스가 Docker 소켓과 통신할 때 생성됩니다. 환경에 합법적인 이유로 Docker 소켓에 액세스해야 하는 컨테이너가 있을 수 있습니다. 이러한 컨테이너에서 액세스하면 PrivilegeEscalation:Runtime/DockerSocketAccessed 결과가 생성됩니다. 사용자 AWS 환경에서 이런 경우가 발생하는 경우 이 검색 유형에 대한 억제 규칙을 설정하는 것이 좋습니다. 첫 번째 기준에는 값이 PrivilegeEscalation:Runtime/DockerSocketAccessed와 같은 결과 유형 필드를 사용해야 합니다. 두 번째 필터 기준은 생성된 결과에서 프로세스의 executablePath와 값이 동일한 실행 파일 경로 필드입니다. 또는 두 번째 필터 기준에서 생성된 결과에서 프로세스의 executableSha256와 값이 동일한 실행 파일 SHA-256 필드를 사용할 수 있습니다.

  • Kubernetes 클러스터는 자체 DNS 서버를 포드로 실행할 수 있습니다(예: coredns). 따라서 포드에서 DNS를 조회할 때마다 두 개의 DNS 이벤트를 GuardDuty 캡처합니다. 하나는 포드에서, 다른 하나는 서버 포드에서 캡처됩니다. 이로 인해 다음과 같은 DNS 결과가 중복될 수 있습니다.

    중복 결과에는 DNS 서버 포드에 해당하는 포드, 컨테이너 및 프로세스 세부 정보가 포함됩니다. 이러한 필드를 사용하여 이러한 중복 결과를 억제하는 억제 규칙을 설정할 수 있습니다. 첫 번째 필터 기준은 앞서 이 섹션에 제공된 결과 목록의 DNS 결과 유형과 값이 동일한 결과 유형 필드를 사용해야 합니다. 두 번째 필터 기준은 생성된 결과에서 값이 DNS 서버의 executablePath와 같은 실행 파일 경로 또는 DNS 서버의 executableSHA256과 같은 실행 파일 SHA-256일 수 있습니다. 세 번째 필터 기준은 선택 사항으로 생성된 결과에서 DNS 서버 포드의 컨테이너 이미지와 동일한 값을 갖는 Kubernetes 컨테이너 이미지 필드를 사용할 수 있습니다.

금지 규칙을 만들려면 GuardDuty

원하는 액세스 방법을 선택하여 금지 규칙을 만들거나 관리할 수 있습니다. GuardDuty

Console

콘솔을 사용하여 금지 규칙을 시각화, 생성 및 관리할 수 있습니다. GuardDuty 억제 규칙은 필터와 동일한 방식으로 생성되며, 기존에 저장된 필터를 억제 규칙으로 사용할 수 있습니다. 필터 생성에 대한 자세한 내용은 결과 필터링 섹션을 참조하세요.

콘솔을 사용하여 억제 규칙 생성:
  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

  2. 결과 페이지에서 결과 표시 안 함을 선택하여 억제 규칙 패널을 엽니다.

  3. 필터 기준 메뉴를 열려면 필터 기준 추가filter criteria를 입력합니다. 목록에서 기준을 선택할 수 있습니다. 선택한 기준에 유효한 값을 입력합니다.

    참고

    유효한 값을 결정하려면 결과 테이블을 보고 억제하려는 결과를 선택합니다. 결과 패널에서 세부 정보를 검토합니다.

    여러 필터 기준을 추가하고 억제하려는 결과만 테이블에 표시되도록 할 수 있습니다.

  4. 억제 규칙의 이름설명을 입력합니다. 유효한 문자에는 영숫자, 마침표(.), 밑줄(_), 대시(-) 및 공백이 포함됩니다.

  5. 저장을 선택합니다.

또한 기존의 저장된 필터에서 억제 규칙을 생성할 수 있습니다. 필터 생성에 대한 자세한 내용은 결과 필터링 섹션을 참조하세요.

저장된 필터에서 금지 규칙 생성:
  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

  2. 결과 페이지에서 결과 표시 안 함을 선택하여 억제 규칙 패널을 엽니다.

  3. 저장된 규칙 드롭다운에서 저장된 필터를 선택합니다.

  4. 또한 새 필터 기준을 추가할 수 있습니다. 추가 필터 기준이 필요하지 않은 경우 이 단계를 건너뜁니다.

    필터 기준 메뉴를 열려면 필터 기준 추가filter criteria를 입력합니다. 목록에서 기준을 선택할 수 있습니다. 선택한 기준에 유효한 값을 입력합니다.

    참고

    유효한 값을 결정하려면 결과 테이블을 보고 억제하려는 결과를 선택합니다. 결과 패널에서 세부 정보를 검토합니다.

  5. 억제 규칙의 이름설명을 입력합니다. 유효한 문자에는 영숫자, 마침표(.), 밑줄(_), 대시(-) 및 공백이 포함됩니다.

  6. 저장을 선택합니다.

억제 규칙 삭제:
  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

  2. 결과 페이지에서 결과 표시 안 함을 선택하여 억제 규칙 패널을 엽니다.

  3. 저장된 규칙 드롭다운에서 저장된 필터를 선택합니다.

  4. 규칙 삭제를 선택합니다.

API/CLI
API를 사용하여 억제 규칙 생성:
  1. CreateFilter API를 통해 억제 규칙을 생성할 수 있습니다. 이를 위해 아래에 설명하는 예시의 형식을 따라 JSON 파일에 필터 기준을 지정하세요. 아래 예시에서는 test.example.com 도메인에 대한 DNS 요청이 있는 보관되지 않은 낮은 심각도 결과를 모두 표시하지 않습니다. 심각도가 중간인 결과의 경우 입력 목록은 ["4", "5", "7"]입니다. 심각도가 높은 결과의 경우 입력 목록은 ["6", "7", "8"]입니다. 목록에 있는 값 하나를 기준으로 필터링할 수도 있습니다.

    { "Criterion": { "service.archived": { "Eq": [ "false" ] }, "service.action.dnsRequestAction.domain": { "Eq": [ "test.example.com" ] }, "severity": { "Eq": [ "1", "2", "3" ] } } }

    JSON 필드 이름 및 이에 상응하는 콘솔의 목록은 필터 속성 단원을 참조하십시오.

    필터 기준을 테스트하려면 ListFindings API에서 동일한 JSON 기준을 사용하고, 올바른 결과가 선택되었는지 확인합니다. 를 사용하여 필터 기준을 테스트하려면 자체 DetectorID 및.json 파일을 사용하여 예제를 AWS CLI 따르십시오.

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

    aws guardduty list-findings --detector-id 12abc34d567e8fa901bc2d34e56789f0 --finding-criteria file://criteria.json
  2. CreateFilter API를 사용하거나 자체 탐지기 ID, 억제 규칙의 이름 및 .json 파일을 사용하는 아래 예시에 따라 AWS CLI를 사용하여 억제 규칙으로 사용할 필터를 업로드합니다.

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

    aws guardduty create-filter --action ARCHIVE --detector-id 12abc34d567e8fa901bc2d34e56789f0 --name yourfiltername --finding-criteria file://criteria.json

ListFilter API를 사용하여 프로그래밍 방식으로 필터 목록을 볼 수 있습니다. GetFilter API에 필터 이름을 제공하여 개별 필터의 세부 정보를 볼 수 있습니다. UpdateFilter를 사용하여 필터를 업데이트하거나 DeleteFilter API를 사용하여 삭제합니다.