Security Hub CSPM의 자동화 규칙 이해 - AWS Security Hub

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

Security Hub CSPM의 자동화 규칙 이해

자동화 규칙을 사용하여 AWS Security Hub CSPM에서 조사 결과를 자동으로 업데이트할 수 있습니다. Security Hub CSPM은 조사 결과를 수집할 때 조사 결과 억제, 심각도 변경, 메모 추가와 같은 다양한 규칙 작업을 적용할 수 있습니다. 이러한 규칙 작업은 지정된 기준과 일치하는 결과를 수정합니다.

자동화 규칙 사용 사례의 예제는 다음과 같습니다.

  • 조사 결과의 리소스 ID가 비즈니스에 중요한 리소스를 참조하는 경우, 조사 결과의 심각도를 CRITICAL(으)로 상향 조정합니다.

  • 조사 결과가 특정 프로덕션 계정의 리소스에 영향을 미치는 경우, 조사 결과의 심각도를 HIGH에서 CRITICAL(으)로 상향 조정합니다.

  • INFORMATIONAL 심각도를 지닌 특정 조사 결과를 SUPPRESSED 워크플로 상태에 할당합니다.

Security Hub CSPM 관리자 계정에서만 자동화 규칙을 생성하고 관리할 수 있습니다.

규칙은 새로운 조사 결과 및 업데이트된 조사 결과 모두에 적용됩니다. 사용자 지정 규칙을 처음부터 생성하거나 Security Hub CSPM에서 제공하는 규칙 템플릿을 사용할 수 있습니다. 템플릿으로 시작하여 필요에 따라 수정할 수도 있습니다.

사용 가능한 규칙 기준 및 규칙 작업

Security Hub CSPM 관리자 계정에서 하나 이상의 규칙 기준과 하나 이상의 규칙 작업을 정의하여 자동화 규칙을 생성할 수 있습니다. 조사 결과가 정의된 기준과 일치하면 Security Hub CSPM은 규칙 작업을 적용합니다. 사용 가능한 기준 및 작업에 대한 자세한 내용은 사용 가능한 규칙 기준 및 규칙 작업 섹션을 참조하세요.

Security Hub CSPM은 현재 각 관리자 계정에 대해 최대 100개의 자동화 규칙을 지원합니다.

Security Hub CSPM 관리자 계정은 자동화 규칙을 편집, 보기 및 삭제할 수도 있습니다. 규칙은 관리자 계정과 그에 따른 모든 구성원 계정의 일치하는 조사 결과에 적용됩니다. Security Hub CSPM 관리자는 멤버 계정 IDs 규칙 기준으로 제공하여 자동화 규칙을 사용하여 특정 멤버 계정의 조사 결과를 업데이트하거나 억제할 수도 있습니다.

자동화 규칙은이 규칙이 생성된 AWS 리전 에만 적용됩니다. 여러 리전에 규칙을 적용하려면 관리자가 각 리전에 규칙을 생성해야 합니다. 이는 Security Hub CSPM 콘솔, Security Hub CSPM API 또는를 통해 수행할 수 있습니다AWS CloudFormation. 다중 리전 배포 스크립트를 사용할 수도 있습니다.

사용 가능한 규칙 기준 및 규칙 작업

다음 AWS Security Finding Format(ASFF) 필드는 현재 자동화 규칙의 기준으로 지원됩니다.

규칙 기준 필터 연산자 필드 유형
AwsAccountId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
AwsAccountName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
CompanyName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
ComplianceAssociatedStandardsId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
ComplianceSecurityControlId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ComplianceStatus Is, Is Not 선택: [FAILED, NOT_AVAILABLE, PASSED, WARNING]
Confidence Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) 숫자
CreatedAt Start, End, DateRange 날짜(2022-12-01T21:47:39.269Z 형식)
Criticality Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) 숫자
Description CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
FirstObservedAt Start, End, DateRange 날짜(2022-12-01T21:47:39.269Z 형식)
GeneratorId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
Id CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
LastObservedAt Start, End, DateRange 날짜(2022-12-01T21:47:39.269Z 형식)
NoteText CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
NoteUpdatedAt Start, End, DateRange 날짜(2022-12-01T21:47:39.269Z 형식)
NoteUpdatedBy CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ProductArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
ProductName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
RecordState CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
RelatedFindingsId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
RelatedFindingsProductArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
ResourceApplicationArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
ResourceApplicationName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceDetailsOther CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS
ResourceId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourcePartition CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
ResourceRegion CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceTags CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS
ResourceType Is, Is Not 선택(ASFF에서 지원하는 리소스 참조)
SeverityLabel Is, Is Not 선택: [CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL]
SourceUrl CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
Title CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 문자열
Type CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
UpdatedAt Start, End, DateRange 날짜(2022-12-01T21:47:39.269Z 형식)
UserDefinedFields CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS
VerificationState CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
WorkflowStatus Is, Is Not 선택: [NEW, NOTIFIED, RESOLVED, SUPPRESSED]

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

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

현재 자동화 규칙에 대한 작업으로 지원되는 ASFF 필드는 다음과 같습니다.

  • Confidence

  • Criticality

  • Note

  • RelatedFindings

  • Severity

  • Types

  • UserDefinedFields

  • VerificationState

  • Workflow

특정 ASFF 필드에 대한 자세한 내용은 AWS Security Finding Format(ASFF) 구문을 참조하세요.

작은 정보

Security Hub CSPM이 특정 제어에 대한 결과 생성을 중지하도록 하려면 자동화 규칙을 사용하는 대신 제어를 비활성화하는 것이 좋습니다. 제어를 비활성화하면 Security Hub CSPM은 해당 제어에 대한 보안 검사 실행을 중지하고 이에 대한 결과 생성을 중지하므로 해당 제어에 대한 요금이 발생하지 않습니다. 정의된 기준과 일치하는 조사 결과에 대한 특정 ASFF 필드 값을 변경하려면 자동화 규칙을 사용하는 것이 좋습니다. 컨트롤 비활성화에 대한 자세한 내용은 Security Hub CSPM에서 제어 비활성화 섹션을 참조하세요.

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

자동화 규칙은 규칙을 생성한 Security Hub CSPM이 BatchImportFindings 작업을 통해 생성하거나 수집하는 새롭고 업데이트된 결과를 평가합니다. Security Hub CSPM은 12~24시간마다 또는 연결된 리소스의 상태가 변경될 때 제어 조사 결과를 업데이트합니다. 자세한 내용은 보안 검사 실행 일정 섹션을 참조하세요.

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

  1. BatchUpdateFindings을(를) 사용하여 조사 결과의 Workflow.Status 필드를 NEW에서 NOTIFIED(으)로 업데이트합니다.

  2. GetFindings을(를) 직접 호출하는 경우, 이제 Workflow.Status 필드의 값은 NOTIFIED입니다.

  3. 결과의 Workflow.Status 필드를 NEW에서 SUPPRESSED(으)로 변경하는 자동화 규칙을 생성합니다(규칙이 BatchUpdateFindings(으)로 수행된 업데이트는 무시한다는 점을 기억하세요).

  4. 조사 결과 공급자는 BatchImportFindings를 사용하여 조사 결과를 업데이트하고 Workflow.Status 필드를 NEW로 변경합니다.

  5. GetFindings를 직접 호출하는 경우, 자동화 규칙이 적용되었고 규칙이 조사 결과에 대해 마지막으로 수행된 작업이므로 이제 Workflow.Status 필드의 값은 SUPPRESSED입니다.

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

규칙 순서 작동 방식

자동화 규칙을 생성할 때 각 규칙에 순서를 할당합니다. 이는 Security Hub CSPM이 자동화 규칙을 적용하는 순서를 결정하며, 여러 규칙이 동일한 조사 결과 또는 조사 결과 필드와 관련된 경우 중요합니다.

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

Security Hub CSPM 콘솔에서 규칙을 생성하면 Security Hub CSPM은 규칙 생성 순서에 따라 규칙 순서를 자동으로 할당합니다. 가장 최근에 만든 규칙이 규칙 순서 숫자 값이 가장 낮으므로 먼저 적용됩니다. Security Hub CSPM은 후속 규칙을 오름차순으로 적용합니다.

Security Hub CSPM API 또는를 통해 규칙을 생성하면 AWS CLI Security Hub CSPM은 RuleOrder 먼저 가장 낮은 숫자 값으로 규칙을 적용합니다. 그런 다음 다음 규칙을 오름차순으로 적용합니다. 여러 조사 결과의가 동일한 경우 RuleOrderSecurity Hub CSPM은 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(으)로 업데이트

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

  • 규칙 B 기준

    • AwsAccountId = 123456789012

  • 규칙 B 작업

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

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