텐센트 클라우드 WAF¶
텐센트 클라우드 웹 애플리케이션 방화벽(Web Application Firewall, WAF)은 AI 기반의 원스톱 Web 비즈니스 운영 위험 보호 솔루션입니다. 표시되는 지표에는 WAF 운영 상태, 공격 횟수, 공격 트래픽, 공격 IP 수, 공격 도메인 수, 공격 포트 수, 공격 유형 분포, 공격 출처 분포, 공격 시간 분포, 공격 추세 등이 포함되며, 이러한 지표는 WAF의 운영 상태와 공격 상황을 반영합니다.
구성¶
Func 설치¶
Guance 통합 - 확장 - 관리형 Func를 개설하는 것을 권장합니다: 모든 사전 조건이 자동으로 설치되므로 스크립트 설치를 계속하세요
직접 Func를 배포하는 경우 Func 자체 배포
스크립트 활성화¶
안내: 요구 사항을 충족하는 텐센트 클라우드 AK를 미리 준비하세요(간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여할 수 있습니다)
관리형 버전 스크립트 활성화¶
- Guance 콘솔에 로그인합니다
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다
- 【클라우드 계정 추가】를 클릭하고 【텐센트 클라우드】를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 이미 구성했다면 이 단계를 건너뜁니다
- 【테스트】를 클릭합니다. 테스트가 성공하면 【저장】을 클릭합니다. 테스트가 실패하면 관련 구성 정보가 올바른지 확인한 후 다시 테스트합니다
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭하여 상세 페이지로 이동합니다
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭하고,
미설치목록에서텐센트 클라우드 WAF를 찾아 【설치】 버튼을 클릭한 뒤, 표시되는 설치 창에서 설치하면 됩니다.
수동 스크립트 활성화¶
-
Func 콘솔에 로그인하고 【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 이동한 다음
integration_tencentcloud_waf를 검색합니다 -
【설치】를 클릭한 뒤, 필요한 파라미터인 텐센트 클라우드 AK, SK 및 계정 이름을 입력합니다
-
【배포 시작 스크립트】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다 -
활성화 후에는 「관리 / 자동 트리거 구성」에서 해당 자동 트리거 구성을 볼 수 있습니다. 【실행】을 클릭하면 정기 실행 시간을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다
검증¶
- 「관리 / 자동 트리거 구성」에서 해당 작업에 대응하는 자동 트리거 구성이 이미 존재하는지 확인하고, 동시에 해당 작업 기록 및 로그를 확인하여 이상이 있는지 점검합니다
- Guance의 「인프라 / 사용자 지정」에서 자산 정보가 있는지 확인합니다
- Guance의 「지표」에서 대응하는 모니터링 데이터가 있는지 확인합니다
지표¶
텐센트 클라우드-클라우드 모니터링 구성이 완료되면 기본 지표 집합은 다음과 같습니다. 구성 방식으로 더 많은 지표를 수집할 수 있습니다 텐센트 클라우드 클라우드 모니터링 지표 상세
| 지표 영어명 | 지표 한글명 | 설명 | 단위 | 차원 | 통계 규칙 |
|---|---|---|---|---|---|
| 4xx | 접속 요청 4XX 총수 | 접속 요청 4XX 총수 | Count | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| 4xxNew | 접속 요청 4XX 총수 | 접속 요청 4XX 총수 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| 5xx | 접속 요청 5XX 총수 | 접속 요청 5XX 총수 | Count | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| 5xxNew | 접속 요청 5XX 총수 | 접속 요청 5XX 총수 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| Access | WAF 접속 횟수 총량 | WAF 접속 횟수 총량 | Count | domain, edition | [10s, sum], [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| AccessNew | WAF 접속 횟수 총량 | WAF 접속 횟수 총량 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| Attack | WAF 공격 횟수 총량 | WAF 공격 횟수 총량 | Count | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| AttackNew | WAF 공격 횟수 총량 | WAF 공격 횟수 총량 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| Bot | BOT 요청 총수 | BOT 요청 총수 | Count | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| BotNew | BOT 요청 총수 | BOT 요청 총수 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| Bw | IP 블랙리스트 공격 총수 | IP 블랙리스트 공격 총수 | Count | domain, edition | [10s, sum], [60s, sum], [300s, sum] |
| Cc | CC 공격 횟수 총량 | CC 공격 횟수 총량 | Count | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| CcNew | CC 공격 횟수 총량 | CC 공격 횟수 총량 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| Down | 하향 대역폭 총량 | 하향 대역폭 총량 | Bytes | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| DownNew | 하향 대역폭 총량 | 하향 대역폭 총량 | Bytes | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| InBandwidth | 인바운드 대역폭 | 인바운드 대역폭 | MBytes | domain, edition | [60s, expr], [300s, sum], [3600s, sum], [86400s, sum] |
| InBandwidthNew | 인바운드 대역폭 | 인바운드 대역폭 | Bytes | instance | [60s, expr], [300s, sum], [3600s, sum], [86400s, sum] |
| Leak | 민감 정보 유출 방지 공격 총수 | 민감 정보 유출 방지 공격 총수 | Count | domain, edition | [10s, sum], [60s, sum], [300s, sum] |
| MetricnameCustomSecurity | 사용자 지정 정책 공격 | 사용자 지정 정책 공격 수 | Count | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| MetricnameCustomSecurityNew | 사용자 지정 정책 공격 | 사용자 지정 정책 공격 | Count | instance | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| OutBandwidth | 상향 대역폭 총량 | 상향 대역폭 총량 | MBytes | edition, domain | [60s, expr], [300s, sum], [3600s, sum], [86400s, sum] |
| OutBandwidthNew | 상향 대역폭 총량 | 상향 대역폭 총량 | MBytes | instance | [60s, expr], [300s, sum], [3600s, sum], [86400s, sum] |
| Qps | 초당 접속 요청 수 | 초당 접속 요청 수 | Count/s | edition, domain | [10s, expr], [60s, max], [300s, max], [3600s, max], [86400s, max] |
| QpsNew | 초당 접속 요청 수 | 초당 접속 요청 수 | Count/s | instance | [10s, expr], [60s, max], [300s, max], [3600s, max], [86400s, max] |
| Ratio4xx | 4XX 상태 코드 비율 | 4XX 상태 코드 비율 | % | domain, edition | [60s, expr], [300s, expr] |
| Ratio4xxNew | 4XX 상태 코드 비율 | 4XX 상태 코드 비율 | % | instance | [60s, expr], [300s, expr] |
| Ratio5xx | 5XX 요청 비율 | 5XX 요청 비율 | % | domain, edition | [60s, expr], [300s, expr] |
| Ratio5xxNew | 5XX 요청 비율 | 5XX 요청 비율 | % | instance | [60s, expr], [300s, expr] |
| RatioAttack | WEB 공격 비율 | WEB 공격 비율 | % | domain, edition | [60s, expr], [300s, expr] |
| RatioAttackNew | WEB 공격 비율 | WEB 공격 비율 | % | instance | [60s, expr], [300s, expr] |
| RatioBot | BOT 공격 비율 | BOT 공격 비율 | % | domain, edition | [60s, expr], [300s, expr] |
| RatioBotNew | BOT 공격 비율 | BOT 공격 비율 | % | instance | [60s, expr], [300s, expr] |
| RatioCc | CC 공격 비율 | CC 공격 비율 | % | domain, edition | [60s, expr], [300s, expr] |
| RatioCcNew | CC 공격 비율 | CC 공격 비율 | % | instance | [60s, expr], [300s, expr] |
| RatioInBandwidth | 인스턴스 인바운드 대역폭 활용률 | 인스턴스 인바운드 대역폭 활용률 | % | instance | [60s, expr] |
| RatioOutBandwidth | 인스턴스 아웃바운드 대역폭 활용률 | 인스턴스 아웃바운드 대역폭 활용률 | % | instance | [60s, expr] |
| RatioQps | 인스턴스 QPS 활용률 | 인스턴스 QPS 활용률 | % | instance | [60s, expr] |
| Tamper | 페이지 변조 방지 공격 총수 | 페이지 변조 방지 공격 총수 | Count | domain, edition | [10s, sum], [60s, sum], [300s, sum] |
| U4xx | 업스트림 요청 4XX 총수 | 업스트림 요청 4XX 총수 | Count | edition, domain | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| U4xxNew | 업스트림 요청 4XX 총수 | 업스트림 요청 4XX 총수 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum] |
| U5xx | 업스트림 요청 5XX 총수 | 업스트림 요청 5XX 총수 | Count | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| U5xxNew | 업스트림 요청 5XX 총수 | 업스트림 요청 5XX 총수 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum] |
| Up | 상향 대역폭 총량 | 상향 대역폭 총량 | Bytes | edition, domain | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| UpNew | 상향 대역폭 총량 | 상향 대역폭 총량 | Bytes | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum] |
| Upstream | 업스트림 원본 회수 횟수 | 업스트림 원본 회수 횟수 | Count | domain, edition | [60s, sum], [300s, sum], [3600s, sum], [86400s, sum] |
| UpstreamNew | 업스트림 원본 회수 횟수 | 업스트림 원본 회수 횟수 | Count | instance | [5s, sum], [10s, sum], [60s, sum], [300s, sum] |
설명 Web 애플리케이션 방화벽 지표 데이터를 가져올 때, Region은 모두 “광저우” 리전을 선택하세요.
각 차원별 파라미터 개요¶
| 파라미터 이름 | 차원 이름 | 차원 설명 | 형식 |
|---|---|---|---|
| Instances.N.Dimensions.0.Name | domain | 클라이언트 공격의 도메인 차원 이름 | String 유형 차원 이름 입력: domain |
| Instances.N.Dimensions.0.Value | domain | 클라이언트 공격의 구체적인 도메인 | 클라이언트 공격의 구체적인 도메인을 입력합니다. 예: www.cloud.tencent.com |
| Instances.N.Dimensions.1.Name | edition | 웹 애플리케이션 방화벽 인스턴스 유형 차원 이름 | String 유형 차원 이름 입력: edition |
| Instances.N.Dimensions.1.Value | edition | 웹 애플리케이션 방화벽 인스턴스의 구체 유형 | 웹 애플리케이션 방화벽 인스턴스의 구체 유형을 입력합니다. 예: SaaS WAF(입력값 0) 또는 CLB WAF(입력값 1) |
| Instances.N.Dimensions.2.Name | instance | 웹 애플리케이션 방화벽 인스턴스 차원 이름 | String 유형 차원 이름 입력: instance |
| Instances.N.Dimensions.2.Value | instance | 웹 애플리케이션 방화벽 인스턴스의 구체적인 이름 | 웹 애플리케이션 방화벽 인스턴스의 구체적인 이름을 입력합니다. 예: waf_2kxtpo960i9y7i05 |
객체¶
수집된 텐센트 클라우드 WAF 객체 데이터 구조입니다. 「인프라-사용자 지정」에서 객체 데이터를 확인할 수 있습니다
{
"time": 1749782297000,
"AppId": "1311317185",
"CCList": "[]",
"ClsStatus": "0",
"Cname": "15bfb3de8de69192de22b581c2a66571.qcloudwzgj.com",
"CreateTime": "2025-06-09T14:47:48+08:00",
"Domain": "",
"DomainId": "13f6c2f0def0558e9f5234270434d1b0",
"Edition": "sparta-waf",
"EditionNum": "0",
"Engine": "1",
"InstanceId": "waf_2l12weqc17ldfpop",
"InstanceName": "gz-Default",
"Level": "2",
"LoadBalancerSet": "[]",
"Ports": "[{\"NginxServerId\": 408141, \"Port\": \"80\", \"Protocol\": \"http\", \"UpstreamPort\": \"80\", \"UpstreamProtocol\": \"http\"}]",
"Region": "gz",
"RegionId": "",
"RsList": "[\"134.175.221.0/24\"]",
"SrcList": "[]",
"State": "1",
"Status": "1",
"__docid": "CO_fcaf33c5dcca7aca4735e6b5d9857f2e",
"__namespace": "custom_object",
"__update_time": 1749782297000,
"account_name": "",
"class": "tencentcloud_waf",
"cloud_provider": "tencentcloud",
"create_time": 1749782297797,
"date": 1749782297000,
"date_ns": 1749782297000000000,
"last_update_time": 1749782297797,
"message": "{\"AccessStatus\": 1, \"AlbType\": \"\", \"ApiStatus\": 0, \"AppId\": 1311317185, \"BotStatus\": 0, \"CCList\": [], \"CdcClusters\": \"\", \"CloudType\": \"\", \"ClsStatus\": 0, \"Cname\": \"15bfb3de8de69192de22b581c2a66571.qcloudwzgj.com\", \"CreateTime\": \"2025-06-09T14:47:48+08:00\", \"Domain\": \"xxxxx.com\", \"DomainId\": \"13f6c2f0def0558e9f5234270434d1b0\", \"Edition\": \"sparta-waf\", \"EditionNum\": 0, \"Engine\": 1, \"FlowMode\": 0, \"InstanceId\": \"waf_2l12weqc17ldfpop\", \"InstanceName\": \"gz-Default\", \"Ipv6Status\": 0, \"Labels\": [\"\"], \"Level\": 2, \"LoadBalancerSet\": [], \"Mode\": 1, \"Note\": \"\", \"Ports\": [{\"NginxServerId\": 408141, \"Port\": \"80\", \"Protocol\": \"http\", \"UpstreamPort\": \"80\", \"UpstreamProtocol\": \"http\"}], \"PostCKafkaStatus\": 0, \"PostCLSStatus\": 0, \"Region\": \"gz\", \"RegionId\": \"ap-guangzhou\", \"RsList\": [\"134.175.221.0/24\"], \"SgDetail\": \"\", \"SgID\": \"\", \"SgState\": 0, \"SrcList\": [], \"State\": 1, \"Status\": 1, \"UpstreamDomainList\": [\"www.xxxxx.com\"]}",
"name": "13f6c2f0def0558e9f5234270434d1b0",
"time_us": 1749782297000000,
"__searches": []
}
주의:
tags,fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다