블로그 목록으로
AWS WAF 국가 차단 설정 시 CDN 영향으로 다른 나라까지 차단되는 문제 디버깅
회사 웹사이트를 운영하고 있는데
중국과 싱가폴에서 엄청난 트래픽이 몰려왔다.

URL의 쿼리스트링으로 모든 경우의 수를 돌려서
어떻게든 보안을 뚫어보려는 해킹이었던 것으로 추정되었다.
?tag_ids%5B%5D=21869 ...그래서 우리는 AWS의 WAF를 이용하여 아예 국가를 차단했다.
그로 인해 해킹은 막았으나 유저까지 막아지게 된 부작용이 발생했다.
CS로 전달받은 말레이시아 문제 상황
말레이시아 재외국민 유저였다.
왜? 중국과 싱가폴을 막은 건데...?
유저의 접속 홈페이지를 확인하니

CSS style 같은 것들이 먹히지 않은 홈페이지가 깨진 현상이었다.
즉, 접속은 되나 CDN 관련되어서 파일이 불러와지지 않은 것.
해외 접속 테스트 사이트로 확인
해외에서 접속 테스트를 해보고 싶어 일단 가볍게
이 두 개 사이트를 이용하여 각 나라에서 어떻게 보이는지 파악해봤다.
말레이시아는 없었지만...
똑같은 현상을 오스트레일리아에서도 발견했다.
왜? CDN이 문제야? CloudFront가 문제인가..?
아니었다.
VPN으로 디버깅 시작
더 깊게 파보기 위해 VPN을 사용해 디버깅을 하였다.
WireGuard를 이용하여 말레이시아 VPN에 접속하여
문제 현상을 재현하였고
네트워크 소켓 통신 과정을 파헤쳐보니...
헤더에 WAF...??
WAF가 문제라고?
중국과 싱가폴에 적용했는데
말레이시아랑 오스트레일리아는 왜지?
원인: CDN 데이터센터가 싱가폴에 위치
확인해보니 CDN은 글로벌로 한정적인데
가까운 곳에서 끌어당겨오기 마련인데
싱가폴 근처 국가는
CDN 데이터센터가 싱가폴에 위치한 것을 가져오는 것 같다.
그러므로 싱가폴의 CDN까지 막혀버렸던 현상이었다.
결론: 싱가폴 차단 해제
중국은 어차피 막아버릴 예정이었고
그곳은 만리방화벽 때문에라도 외부 서비스를 못 쓸 거라
우리 타겟군도 아니었고
싱가폴은 해킹이 잠잠해질 때 풀 예정이기도 했었어서
다시 싱가폴은 유입을 풀어주는 것으로 결론냈다.
저 나라들은 저렇게 CDN이 유통되고 있었다니
이번 디버깅 하는 과정이 재밌어서 끄적여보았다.
채팅 문의

