AWS WAF
AWS WAF 지표 데이터 수집
설정¶
Func 설치¶
추천: Guance 통합 - 확장 - 관리형 Func를 활성화하세요. 필요한 사전 조건은 모두 자동으로 설치되므로, 스크립트 설치를 계속 진행하면 됩니다.
Func를 직접 배포하는 경우 Func 직접 배포를 참고하세요.
설치 스크립트¶
안내: 요구 사항을 충족하는 Amazon AK를 미리 준비해 주세요. (간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여해도 됩니다)
관리형 버전 활성화 스크립트¶
- Guance 콘솔에 로그인합니다.
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다.
- 【클라우드 계정 추가】를 클릭하고 【AWS】를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 이미 구성했다면 이 단계를 건너뜁니다.
- 【테스트】를 클릭합니다. 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다.
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭해 상세 페이지로 들어갑니다.
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭한 뒤,
미설치목록에서AWS WAF를 찾아 【설치】 버튼을 클릭하면 설치 화면이 표시되며, 설치를 진행하면 됩니다.
수동 활성화 스크립트¶
-
Func 콘솔에 로그인한 뒤 【스크립트 마켓】을 클릭하고, Guance 스크립트 마켓으로 들어가
integration_aws_wafv2를 검색합니다. -
【설치】를 클릭한 후, 필요한 매개변수인 AWS AK ID, AK Secret 및 계정명을 입력합니다.
-
【시작 스크립트 배포】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다. -
활성화한 뒤에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. 【실행】을 클릭하면 주기 시간을 기다릴 필요 없이 즉시 한 번 실행됩니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업에 대한 자동 트리거 설정이 존재하는지 확인하고, 동시에 해당 작업 기록과 로그를 확인해 이상이 있는지 점검합니다.
- Guance의 「인프라 - 리소스 디렉터리」에서 자산 정보가 있는지 확인합니다.
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다.
지표¶
AWS WAF 지표는 aws_AWS/WAFV2 지표 세트 아래에 있으며, 아래는 일부 지표의 설명, 단위 및 통계 데이터입니다.
| 지표 | 설명 | 단위 |
|---|---|---|
AllowedRequests |
허용된 웹 요청 수 | count |
BlockedRequests |
차단된 웹 요청 수 | count |
RequestsWithValidChallengeToken |
챌린지 제어가 적용되었고 챌린지 토큰이 유효한 웹 요청 수 | count |
SampleBlockedRequest |
Block 작업이 실행된 샘플 요청 수 | count |
CaptchaRequests |
CAPTCHA 제어가 적용된 네트워크 요청 수 | count |
PassedRequests |
통과한 요청 수. 이는 규칙 그룹 평가를 통과했지만 어떤 규칙 그룹 규칙과도 일치하지 않는 요청에만 사용됩니다 | count |
RequestsWithValidChallengeToken |
챌린지 제어가 적용되었고 챌린지 토큰이 유효한 웹 요청 수 | count |
SampleAllowedRequest |
Allow 작업이 실행된 샘플 요청 수 | count |
SampleCaptchaRequest |
CAPTCHA 작업이 실행된 샘플 요청 수 | count |
SampleChallengeRequest |
Challenge 작업이 실행된 샘플 요청 수 | count |
SampleCountRequest |
Count 작업이 실행된 샘플 요청 수 | count |
객체¶
수집된 AWS WAF 객체 데이터 구조는 「인프라 - 리소스 디렉터리」에서 확인할 수 있습니다.
{
"measurement": "aws_wafv2",
"tags": {
"Id" : "91d10100-xxxxxxxxx-89fb90d1f566",
"ARN" : "arn:aws:wafv2:us-east-1:87626xxxxx4:regional/webacl/test-123/446cc7d0-d87e-xxxxxxxxxx",
"Capacity" : "CN",
"LabelNamespace" : "awswaf:87626xxxxx4:webacl:test-us-east-1:xxxxx",
"ManagedByFirewallManager" : "False",
"RegionId" : "ap-southeast-1"
},
"fields": {
"LockToken" : "6fe50442-fdfe-4dd5-ba54-5xxxxxxxxxxx",
"Description" : "test-123",
"AssociationConfig" : "{xxxxxxx}",
"CaptchaConfig" : "{xxxxxxx}",
"ChallengeConfig" : "{xxxxxxx}",
"CustomResponseBodies" : "xxxxxxx",
"DefaultAction" : "{"Allow": {}}",
"PostProcessFirewallManagerRuleGroups" : "Success",
"PreProcessFirewallManagerRuleGroups" : "{xxxxxxxx}",
"Rules" : "{Rules}",
"TokenDomains" : "xxxxxxxx",
"VisibilityConfig" : "{xxxxxxx}"
}
}
주의:
tags와fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다