Security Hub의 자동화 규칙 - AWS Security Hub

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

Security Hub의 자동화 규칙

참고

Security Hub는 미리 보기 릴리스 중이며 변경될 수 있습니다.

Security Hub를 사용하면 조사 결과 세부 정보 업데이트 및 타사 통합을 위한 티켓 생성과 같은 작업을 자동화할 수 있습니다.

자동화 규칙 및 AWS 리전

자동화 규칙은 하나의에서 생성한 AWS 리전 다음 구성된 모든에 적용할 수 있습니다 AWS 리전. 리전 집계를 사용하는 경우 홈 리전에서만 규칙을 생성할 수 있습니다. 홈 리전에서 규칙을 생성할 때 규칙 기준이 특정 연결된 리전을 제외하지 않는 한 정의한 모든 규칙이 모든 연결된 리전에 적용됩니다. 연결된 리전이 아닌 모든 리전에 대해 자동화 규칙을 생성해야 합니다.

규칙 작업 및 기준

Security Hub의 자동화 규칙은 기준을 사용하여 Security Hub 조사 결과의 OCSF 속성을 참조합니다. 예를 들어의 Criteria 파라미터에 지원되는 필터는의 Criteria 파라미터에 지원되는 필터와 CreateAutomationRuleV2 일치합니다GetFindingsV2. 즉, 자동화 규칙에 사용되는 필터를 사용하여 결과를 가져올 수 있습니다. Security Hub는 자동화 규칙 기준에 대해 다음 OCSF 필드를 지원합니다.

OCSF 필드 콘솔 필터 값 필터 연산자 필드 유형
activity_name Activity name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
class_name Finding class name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.account.uid Account ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.provider Cloud provider EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.region Region EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
comment Comment EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.assessments.category Assessment category EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.assessments.name Assessment name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.control Security control ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.standards Applicable standards EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.status Compliance status EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.desc Finding description EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.product.uid Related findings product ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.title Related findings title EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.uid Related findings ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.src_url Source URL EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.types Finding type EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.uid Provider ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.feature.uid Generator ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.name Product name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.uid Product ARN EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.vendor_name Company name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.uid Finding ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
remediation.desc Recommendation text EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
remediation.references Recommendation URL EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.cloud_partition Resource partition EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.name Resource name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.region Resource region EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.type Resource type EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.uid Resource ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
severity Severity EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
status Status EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vulnerabilities.fix_coverage Software vulnerabilities coverage EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.first_seen_time_dt First observed at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
finding_info.last_seen_time_dt Last observed at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
finding_info.modified_time_dt Updated at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
compliance.assessments.meets_criteria Compliance assessment meets criteria True, False Boolean
vulnerabilities.is_exploit_available Software vulnerabilities with exploit available True, False Boolean
vulnerabilities.is_fix_available Software vulnerabilities with fix available True, False Boolean
activity_id Activity ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
compliance.status_id Compliance status ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
confidence_score Confidence Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
severity_id Severity ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
status_id Status ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
finding_info.related_events_count Related findings count Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
resources.tags Resource tags EQUALS Map

문자열 필드로 레이블이 지정된 기준의 경우 동일한 필드에서 다른 필터 연산자를 사용하면 평가 로직에 영향을 미칩니다. 자세한 내용은 Security Hub API 참조의 StringFilter를 참조하세요.

각 기준은 일치하는 결과를 필터링하는 데 사용할 수 있는 최대 값 수를 지원합니다. 각 기준의 제한은 Security Hub API 참조의 OcsfFindingFilters를 참조하세요.

업데이트할 수 있는 OCSF 필드

다음은 자동화 규칙을 사용하여 업데이트할 수 있는 OCSF 필드입니다.

  • Comment

  • SeverityId

  • StatusId

자동화 규칙이 조사 결과를 평가하는 방법

자동화 규칙은 규칙을 생성한 후 Security Hub가 생성하거나 수집하는 신규 및 업데이트된 결과를 평가합니다.

자동화 규칙은 공급자가 제공한 원본 조사 결과를 평가합니다. 공급자는 Security Hub와의 통합을 통해 새로운 조사 결과를 제공하고 기존 조사 결과를 업데이트할 수 있습니다. BatchUpdateFindingsV2 작업을 통해 규칙을 생성한 후 결과 필드를 업데이트하면 규칙이 트리거되지 않습니다. 자동화 규칙을 생성하고 동일한 결과 필드에 영향을 미치는 BatchUpdateFindingsV2 업데이트를 수행하는 경우, 마지막 업데이트는 해당 필드의 값을 설정합니다. 다음의 예제를 참조하세요.

BatchUpdateFindingsV2을(를) 사용하여 조사 결과의 Status 필드를 New에서 In Process(으)로 업데이트합니다. GetFindingsV2을(를) 직접 호출하는 경우, 이제 Status 필드의 값은 In Process입니다. 결과의 Status 필드를 New에서 Suppressed(으)로 변경하는 자동화 규칙을 생성합니다(규칙이 BatchUpdateFindingsV2(으)로 수행된 업데이트는 무시한다는 점을 기억하세요). 결과 공급자는 결과를 업데이트하고 Status 필드를 로 변경합니다New. GetFindingsV2를 직접 호출하는 경우, 자동화 규칙이 적용되었고 규칙이 조사 결과에 대해 마지막으로 수행된 작업이므로 이제 Status 필드의 값은 Suppressed입니다.

Security Hub 콘솔에서 규칙을 생성하거나 편집하면 콘솔에 규칙 기준과 일치하는 조사 결과의 미리 보기가 표시됩니다. 자동화 규칙은 결과 공급자가 보낸 원래 결과를 평가하는 반면 콘솔 미리 보기는 GetFindingsV2 API 작업에 대한 응답에 표시되는 최종 상태의 결과를 반영합니다(즉, 규칙 작업 또는 기타 업데이트가 결과에 적용된 후).

자동화 규칙 순서 지정 방법

각 자동화 규칙에는 규칙 순서가 할당됩니다. 이는 Security Hub에서 자동화 규칙을 적용하는 순서를 결정하며, 여러 규칙이 동일한 결과 또는 결과 필드와 관련된 경우, 중요해집니다.

여러 규칙 작업이 동일한 결과 또는 결과 필드와 관련된 경우, 규칙 순서의 숫자 값이 가장 높은 규칙이 마지막에 적용되어 궁극적인 효과를 발휘합니다.

Security Hub 콘솔에서 규칙을 생성하면 Security Hub는 규칙 생성 순서에 따라 규칙 순서를 자동으로 할당합니다. 생성하는 첫 번째 규칙의 규칙 순서는 1입니다. 둘 이상의 규칙이 있는 경우 이후에 생성된 각 규칙은 규칙 순서에 사용할 수 있는 다음으로 가장 높은 숫자 값을 갖습니다.

CreateAutomationRuleV2 API 또는를 통해 규칙을 생성하면 AWS CLI Security Hub는 RuleOrder 먼저에 대해 숫자 값이 가장 낮은 규칙을 적용합니다. 그런 다음 다음 규칙을 오름차순으로 적용합니다. 여러 조사 결과의가 동일한 경우 RuleOrderSecurity Hub는 UpdatedAt 필드에 대해 이전 값이 있는 규칙을 먼저 적용합니다(즉, 가장 최근에 편집된 규칙이 마지막으로 적용됨).

언제든지 규칙 순서를 변경할 수 있습니다.

규칙 순서의 예제:

규칙 A(규칙 순서는 1):

  • 규칙 A 기준

    • ProductName = Security Hub CSPM

    • Resources.Type은(는) S3 Bucket

    • Compliance.Status = FAILED

    • RecordState은(는) NEW

    • Workflow.Status = ACTIVE

  • 규칙 A 작업

    • Confidence을(를) 95(으)로 업데이트

    • Severity을(를) CRITICAL(으)로 업데이트

    • Comment을(를) This needs attention(으)로 업데이트

규칙 B(규칙 순서는 2):

  • 규칙 B 기준

    • AwsAccountId = 123456789012

  • 규칙 B 작업

    • Severity을(를) INFORMATIONAL(으)로 업데이트

먼저 규칙 A 작업은 규칙 A 기준과 일치하는 Security Hub 조사 결과에 적용됩니다. 그런 다음 규칙 B 작업은 지정된 계정 ID로 Security Hub 조사 결과에 적용됩니다. 이 예제에서는 규칙 B가 마지막에 적용되므로 지정된 계정 ID의 조사 결과에서 Severity의 최종 값은 INFORMATIONAL입니다. 규칙 A 작업에 따라 일치하는 조사 결과에서 Confidence의 최종 값은 95입니다.

타사 통합

자동화 규칙을 사용하여 Jira Cloud 및 와의 통합을 위한 티켓을 생성할 수 있습니다ServiceNow ITSM. 자세한 내용은 타사 통합에 대한 규칙 생성을 참조하세요.

자동화 규칙이 작동하지 않는 시나리오

다음은 자동화 규칙이 작동하지 않는 시나리오입니다.

  • 독립 실행형 계정은 위임된 관리자가 있는 조직의 멤버가 됩니다.

  • 조직 관리 계정은 위임된 관리자를 제거하고 새로운 위임된 관리자를 설정합니다.

  • 연결되지 않은 리전이 연결된 리전이 되면 위임된 관리자 또는 독립 실행형 계정에 대한 집계자 구성이 변경됩니다.

이러한 시나리오 중에 조직의 구성원은 AWS CLI 또는 APIs.

연결 해제된 리전이 연결된 리전이 되면 위임된 관리자 또는 독립 실행형 계정은 목록, 가져오기 및 삭제 작업을 사용하여 연결된 리전의 리소스를 관리할 수 있습니다.