[라이선스 필요]{class="badge positive"}
WAF 규칙을 사용하여 AEM 웹 사이트 보호
AEM as a Cloud Service에서 Adobe 권장 웹 애플리케이션 방화벽(WAF) 규칙 을 사용하여 DoS, DDoS 및 봇 남용을 포함한 정교한 위협으로부터 AEM 웹 사이트를 보호하는 방법에 대해 알아봅니다.
정교한 공격은 높은 요청 속도, 복잡한 패턴, 기존 보안 조치를 우회하기 위한 고급 기술 사용을 특징으로 합니다.
학습 목표
- Adobe에서 권장하는 WAF 규칙을 검토합니다.
- 규칙의 결과를 정의하고, 배포하고, 테스트하고, 분석합니다.
- 결과에 따라 규칙을 개선하는 시기와 방법을 이해합니다.
- AEM 액션 센터를 사용하여 규칙에 의해 생성된 경고를 검토하는 방법에 대해 알아봅니다.
구현 개요
구현 단계는 다음과 같습니다.
- AEM WKND 프로젝트의
/config/cdn.yaml
파일에 WAF 규칙을 추가합니다. - 변경 사항을 Cloud Manager Git 저장소에 커밋하고 푸시합니다.
- Cloud Manager Config Pipeline을 사용하여 AEM 환경에 변경 사항을 배포합니다.
- Nikto를 사용하여 DDoS 공격을 시뮬레이션하여 규칙을 테스트합니다.
- AEMCS CDN 로그 및 ELK 대시보드 도구를 사용하여 결과를 분석합니다.
사전 요구 사항
진행하기 전에 트래픽 필터 및 WAF 규칙 설정 방법 튜토리얼에 설명된 필수 설정을 완료했는지 확인하시기 바랍니다. 또한 AEM WKND Sites 프로젝트를 AEM 환경에 복제하고 배포했는지 확인하십시오.
규칙 검토 및 정의
Adobe 권장 웹 애플리케이션 방화벽(WAF) 규칙은 DoS, DDoS 및 봇 남용을 포함한 정교한 위협으로부터 AEM 웹 사이트를 보호하는 데 필수적입니다. 정교한 공격은 종종 높은 요청 속도, 복잡한 패턴, 기존 보안 조치를 우회하기 위한 고급 기술(프로토콜 기반 또는 페이로드 기반 공격) 사용을 특징으로 합니다.
AEM WKND 프로젝트의 cdn.yaml
파일에 추가해야 하는 세 가지 권장 WAF 규칙을 검토해 보겠습니다.
1. 알려진 악성 IP로부터의 공격 차단
이 규칙은 의심스러워 보이는 동시에 악성으로 플래그 지정된 IP 주소에서 발생하는 요청을 차단 합니다. 이 두 가지 기준이 모두 충족되므로 긍정 오류(합법적인 트래픽 차단)의 위험이 매우 낮다고 확신할 수 있습니다. 알려진 악성 IP는 위협 인텔리전스 피드 및 기타 소스를 기반으로 식별됩니다.
ATTACK-FROM-BAD-IP
WAF 플래그는 이러한 요청을 식별하는 데 사용됩니다. 이는 여기에 나열된 여러 WAF 플래그를 집계합니다.
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev", "stage", "prod"]
data:
trafficFilters:
rules:
- name: attacks-from-bad-ips-globally
when:
reqProperty: tier
in: ["author", "publish"]
action:
type: block
wafFlags:
- ATTACK-FROM-BAD-IP
2. 모든 IP로부터의 공격을 전역적으로 로깅 (나중에 차단)
이 규칙은 IP 주소가 위협 인텔리전스 피드에서 발견되지 않더라도 잠재적 공격으로 식별된 요청을 로그 합니다.
ATTACK
WAF 플래그는 이러한 요청을 식별하는 데 사용됩니다. ATTACK-FROM-BAD-IP
와 유사하게 여러 WAF 플래그를 집계합니다.
이러한 요청은 악의적일 가능성이 높지만 IP 주소가 위협 인텔리전스 피드에서 식별되지 않으므로 차단 모드보다는 log
모드에서 시작하는 것이 신중할 수 있습니다. 긍정 오류에 대한 로그를 분석하고 유효성을 검사한 후 반드시 규칙을 block
모드로 전환 해야 합니다.
...
- name: attacks-from-any-ips-globally
when:
reqProperty: tier
in: ["author", "publish"]
action:
type: log
alert: true
wafFlags:
- ATTACK
또는 비즈니스 요구 사항에 따라 악성 트래픽을 허용할 위험을 감수하고 싶지 않다면 즉시 block
모드를 사용할 수도 있습니다.
이러한 권장 WAF 규칙은 알려진 위협 및 새로운 위협에 대한 추가 보안 계층을 제공합니다.
최신 Adobe 권장 WAF 규칙으로 마이그레이션
ATTACK-FROM-BAD-IP
및 ATTACK
WAF 플래그가 도입되기 전(2025년 7월) 권장 WAF 규칙은 다음과 같습니다. 여기에는 SANS
, TORNODE
, NOUA
등과 같은 특정 기준과 일치하는 요청을 차단하기 위한 특정 WAF 플래그 목록을 포함되어 있습니다.
...
data:
trafficFilters:
rules:
...
# Enable WAF protections (only works if WAF is enabled for your environment)
- name: block-waf-flags
when:
reqProperty: tier
matches: "author|publish"
action:
type: block
wafFlags:
- SANS
- TORNODE
- NOUA
- SCANNER
- USERAGENT
- PRIVATEFILE
- ABNORMALPATH
- TRAVERSAL
- NULLBYTE
- BACKDOOR
- LOG4J-JNDI
- SQLI
- XSS
- CODEINJECTION
- CMDEXE
- NO-CONTENT-TYPE
- UTF8
...
위 규칙은 여전히 유효하지만 비즈니스 요구 사항에 맞게 wafFlags
를 아직 사용자 정의하지 않은 경우 ATTACK-FROM-BAD-IP
및 ATTACK
WAF 플래그를 사용하는 새 규칙으로 마이그레이션하는 것이 좋습니다.
다음 단계를 따라 모범 사례와 일치하도록 새 규칙으로 마이그레이션할 수 있습니다.
-
cdn.yaml
파일에 있는 기존 WAF 규칙을 검토합니다. 위 예시와 유사하게 보일 수 있습니다. 비즈니스 요구 사항에 특정한wafFlags
사용자 정의가 없는지 확인합니다. -
기존 WAF 규칙을
ATTACK-FROM-BAD-IP
및ATTACK
플래그를 사용하는 새 Adobe 권장 WAF 규칙으로 교체합니다. 모든 규칙이 차단 모드에 있는지 확인합니다.
이전에 wafFlags
를 사용자 정의했다면 여전히 이러한 새 규칙으로 마이그레이션할 수 있지만 수정된 규칙에 사용자 정의가 반영되었는지 신중하게 확인해야 합니다.
마이그레이션을 통해 WAF 규칙을 단순화하면서도 정교한 위협에 대한 강력한 보호 기능을 제공할 수 있습니다. 새 규칙은 더 효과적이고 관리하기 쉽도록 설계되었습니다.
규칙 배포
위 규칙을 배포하려면 다음 단계를 따릅니다.
-
변경 사항을 Cloud Manager Git 저장소에 커밋하고 푸시합니다.
-
앞서 만든 Cloud Manager Config Pipeline을 사용하여 AEM 환경에 변경 사항을 배포합니다.
규칙 테스트
WAF 규칙의 효과를 확인하려면 웹 서버 스캐너인 Nikto를 사용하여 공격을 시뮬레이션합니다. Nikto는 취약점 및 잘못된 구성을 감지합니다. 다음 명령은 WAF 규칙에 의해 보호되는 AEM WKND 웹 사이트에 대해 SQL 주입 공격을 트리거합니다.
$./nikto.pl -useragent "AttackSimulationAgent (Demo/1.0)" -D V -Tuning 9 -ssl -h https://publish-pXXXX-eYYYY.adobeaemcloud.com/us/en.html
공격 시뮬레이션에 대해 자세히 알아보려면 Nikto - Scan Tuning 설명서를 검토하십시오. 여기에서는 포함하거나 제외할 테스트 공격 유형을 지정하는 방법을 설명합니다.
경고 검토
트래픽 필터 규칙이 트리거되면 경고가 생성됩니다. AEM Actions Center에서 이러한 경고를 검토할 수 있습니다.
결과 분석
트래픽 필터 규칙의 결과를 분석하려면 AEMCS CDN 로그 및 ELK 대시보드 도구를 사용할 수 있습니다. CDN 로그를 ELK 스택으로 수집하려면 CDN 로그 수집 설정 섹션의 지침을 따르십시오.
다음 스크린샷에서 AEM 개발 환경의 CDN 로그가 ELK 스택으로 수집된 것을 확인할 수 있습니다.
ELK 애플리케이션 내의 WAF 대시보드 에는 클라이언트 IP(cli_ip), 호스트, URL, 작업(waf_action) 및 규칙 이름(waf_match) 열에 플래그 지정된 요청과 해당 값이 표시되어야 합니다.
또한 WAF 플래그 분포 및 상위 공격 패널에는 추가 세부 정보가 표시됩니다.
Splunk 통합
활성화된 Splunk 로그 전달이 있는 고객은 새 대시보드를 만들어 트래픽 패턴을 분석할 수 있습니다.
Splunk에서 대시보드를 만들려면 AEMCS CDN 로그 분석을 위한 Splunk 대시보드 단계를 따르십시오.
규칙을 개선하는 시기 및 방법
목표는 합법적인 트래픽을 차단하지 않으면서 정교한 위협으로부터 AEM 웹 사이트를 보호하는 것입니다. 권장되는 WAF 규칙은 보안 전략의 시작점이 되도록 설계되었습니다.
규칙을 개선하려면 다음 단계를 고려하십시오.
- 트래픽 패턴 모니터링: CDN 로그 및 ELK 대시보드를 사용하여 트래픽 패턴을 모니터링하고 예외 항목 또는 스파이크를 식별합니다. ELK 대시보드의 WAF 플래그 분포 및 상위 공격 패널에 주의하여 감지되는 공격 유형을 이해합니다.
- wafFlags 조정:
ATTACK
플래그가 너무 자주 트리거되거나 공격 벡터를 미세 조정해야 하는 경우 특정 WAF 플래그를 사용하여 사용자 정의 규칙을 만들 수 있습니다. 자세한 내용은 설명서에서 WAF 플래그의 전체 목록을 참조하십시오. 새 사용자 정의 규칙은log
모드에서 먼저 시도하는 것을 고려하십시오. - 차단 규칙으로 이동: 트래픽 패턴을 확인하고 WAF 플래그를 조정한 후 차단 규칙으로 이동하는 것을 고려할 수 있습니다.
요약
이 튜토리얼에서는 Adobe 권장 웹 애플리케이션 방화벽(WAF) 규칙을 사용하여 DoS, DDoS 및 봇 남용을 포함한 정교한 위협으로부터 AEM 웹 사이트를 보호하는 방법을 알아보았습니다.
사용 사례 - 표준 규칙 이상
더 고급 시나리오의 경우, 특정 비즈니스 요구 사항에 따라 사용자 정의 트래픽 필터 규칙을 구현하는 방법을 보여 주는 다음 사용 사례를 살펴볼 수 있습니다.