클라우드플레어 Pages 보안 가이드: WAF 커스텀 규칙으로 정적 사이트 완벽 방어하기
Astro와 Cloudflare Pages의 조합은 현대적인 프런트엔드 개발자에게 최고의 퍼포먼스와 확장성을 제공합니다. 하지만 정적 빌드된 사이트임에도 불구하고, 서버 로그(Events)를 살펴보면 존재하지도 않는 경로를 찔러보는 수많은 **자동화된 봇(Bot)**들의 흔적을 발견하게 됩니다.
특히 전 세계 웹 사이트의 상당수를 차지하는 **워드프레스(WordPress)**는 해커들의 가장 주된 타겟입니다. 비록 우리는 Astro를 사용하지만, 봇들은 무차별적으로 워드프레스 전용 취약 경로를 스캔하기 때문에 이를 Block 리스트에 포함하여 불필요한 노이즈를 사전에 차단하는 것이 현명합니다. 오늘은 클라우드플레어 **WAF(Web Application Firewall)**를 통해 이러한 정찰 트래픽을 에지(Edge) 단에서 컷하는 전략을 알아보겠습니다.
목차
- 왜 정적 사이트에도 워드프레스 경로 차단이 필요한가?
- 실전! Cloudflare Pages를 위한 WAF 커스텀 규칙
- 확장성 고려: n8n 자동화 도구 연동 대비 전략
- 보안 이벤트 모니터링 및 실시간 대응
- 자주 묻는 질문(FAQ)
왜 정적 사이트에도 워드프레스 경로 차단이 필요한가?
해커들은 특정 사이트가 어떤 스택으로 빌드되었는지 사전에 파악하기보다, 전 세계 모든 도메인을 대상으로 공통적인 취약 경로를 스캔합니다.
워드프레스의 구식 통로인 xmlrpc.php나 로그인 페이지인 wp-login.php는 봇들이 가장 먼저 찔러보는 ‘단골 메뉴’입니다. 우리는 Astro를 사용하므로 이러한 파일이 존재하지 않지만, 봇의 요청 자체가 서버 자원을 소모시키고 로그를 오염시킵니다. 또한 /.env나 /.git 같은 경로는 빌드 과정에서 실수로 포함될 경우 내부 API 키나 소스 코드가 유출될 수 있는 치명적인 포인트이므로 반드시 차단 리스트에 포함해야 합니다.
실전! Cloudflare Pages를 위한 WAF 커스텀 규칙
클라우드플레어 무료 플랜에서 제공하는 5개의 Custom Rules를 활용하면 별도의 비용 없이도 강력한 보호막을 칠 수 있습니다.
1단계: Expression Editor 설정
대시보드의 Security > WAF > Custom rules에서 아래 수식을 복사하여 붙여넣으세요. 워드프레스 타겟 경로와 민감한 설정 파일 경로를 한 번에 차단합니다.
(http.request.uri.path in {"/xmlrpc.php" "/wp-login.php" "/.env" "/.git" "/.htaccess" "/.ssh" "/phpmyadmin" "/setup-config.php" "/wp-config.php.bak" "/phpinfo.php" "/backup.sql" "/debug.log" "/LICENSE.txt" "/readme.html"})
2단계: 최적의 Action 선택
- Block: 확실한 악성 경로(예:
.env, 워드프레스 관련 경로)는 즉시 차단하여 서버 부하를 줄입니다. - Managed Challenge: 실제 사용자가 접근할 가능성이 미미하게라도 있다면, 자바스크립트 챌린지를 통해 봇만 걸러낼 수 있습니다.
확장성 고려: n8n 등 자동화 도구 연동 대비 전략
추후 프로젝트가 확장되어 n8n 등과 같은 자동화 툴을 연동하여 API 통신을 수행하게 될 경우, 보안 정책을 세밀하게 조정해야 합니다.
- n8n 고정 IP 예외: n8n 서버가 고정 IP를 사용한다면
and ip.src ne [n8n_IP]조건을 추가하여 자동화 봇이 WAF에 걸리지 않도록 예외 처리할 수 있습니다. - Service Token 활용: n8n이 유동 IP 환경에서 동작한다면 IP 대신 클라우드플레어 Service Token을 발급받아 헤더 인증을 거치는 것이 가장 안정적인 해결책입니다.
- 경로별 차별화: n8n이 사용하는 특정 API 경로는 보호하되, 위에서 설정한 워드프레스 관련 쓰레기 경로는 여전히 차단 상태를 유지하여 보안성을 확보합니다.
개발자의 팁: 보안 가시성 확보 규칙을 적용한 후 Security > Events 탭을 정기적으로 확인하세요. 어떤 경로가 가장 많이 차단되는지 파악하면, 내 사이트가 어떤 유형의 봇들에게 타겟팅되고 있는지 알 수 있으며 이는 향후 인프라 설계에 중요한 데이터가 됩니다.
FAQ 섹션
Astro 사이트인데 워드프레스 경로를 Block하면 문제가 없나요?
네, 전혀 문제가 없습니다. 오히려 존재하지 않는 경로를 지속적으로 요청하는 봇들을 입구에서 차단함으로써 네트워크 대역폭과 서버 자원을 아낄 수 있습니다.
WAF 규칙 설정 시 비용이 추가로 발생하나요?
클라우드플레어 무료 플랜 사용자도 최대 5개의 커스텀 규칙을 무료로 사용할 수 있습니다. is in 연산자를 사용하면 하나의 규칙 안에 수십 개의 경로를 담을 수 있어 매우 효율적입니다.
특정 국가에서 공격이 많이 들어오면 어떻게 하나요?
국가(Country) 필드를 활용하여 특정 국가 전체에 대해 Managed Challenge를 거는 규칙을 추가해 보세요. 대부분의 해외발 자동 스캐닝 공격을 90% 이상 예방할 수 있는 아주 강력한 방법입니다.
댓글을 불러오는 중...