기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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.
연결 해제된 리전이 연결된 리전이 되면 위임된 관리자 또는 독립 실행형 계정은 목록, 가져오기 및 삭제 작업을 사용하여 연결된 리전의 리소스를 관리할 수 있습니다.