여기서 만든 JSON 정책에서 이어서 시작한다.
위의 정책 수정
{
"Name": "JSONRule",
"Priority": 0,
"Action": {
"Count": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "JSONRule"
},
"Statement": {
"AndStatement": {
"Statements": [
{
"GeoMatchStatement": {
"CountryCodes": [
"KR"
]
}
},
{
"OrStatement": {
"Statements": [
{
"SizeConstraintStatement": {
"FieldToMatch": {
"Body": {}
},
"ComparisonOperator": "GT",
"Size": 100,
"TextTransformations": [
{
"Priority": 0,
"Type": "NONE"
}
]
}
},
{
"ByteMatchStatement": {
"SearchString": "bot",
"FieldToMatch": {
"SingleHeader": {
"Name": "x-value"
}
},
"TextTransformations": [
{
"Priority": 0,
"Type": "LOWERCASE"
}
],
"PositionalConstraint": "EXACTLY"
}
}
]
}
}
]
}
}
}
curl -i -H "x-value: bot" $ALB_URL #접속 테스트
Label 기반 규칙 생성
1) 위의 ACLs 선택 -> Rules -> Add Rules -> Add my own rules and rule groups
2) Rule bulider
"""Rule"""
3) Block_CURL
Type = Regular rule
"""Statement"""
4) If a request matches the statement
Inspect = Has a label
Match scope = Label
Match Key = awswaf:managed:aws:bot-control:bot:name:curl
"""Action"""
5) Action = Block -> Add rule - Save
차단 확인
curl -i -H "x-value: bot" $ALB_URL
'Cloud Infra Architecture (AWS) > AWS Build' 카테고리의 다른 글
[AWS CloudWatch] 로그 필터링 [T] (0) | 2024.11.01 |
---|---|
[AWS CloudWatch] 로그 확인 및 분석 [T] (0) | 2024.11.01 |
[AWS WAF] AWS WAF JSON 기반 규칙 생성 [T] (0) | 2024.11.01 |
[AWS WAF] AWS WAF 정책 설정 및 종류 (AWS WAF 관리형 규칙) [T] (0) | 2024.11.01 |
[AWS WAF] AWS WAF GET Flooding 방어 정책 만들기 [T] (0) | 2024.11.01 |