홈페이지 속도 지연 현상으로 골머리를 썩으며 모니터링 중이었다.
이 한적한 홈페이지가 왜 이 난리란 말인가.
서버 CPU는 수시로 99%를 찍는다. 쿼리 요청은 5초에도 수백개씩 쏟아진다. 헐. 미친. 이건 도저히 말이 안된다.
접속 아이피 기록을 다운받아 대체 어디서 오는 요청들인가 봤더니 모두 클라우드플레어의 아이피.
이건 뭔가 좀 이상한데 싶어 살펴봤더니, 서버 차원에서 외국 아이피를 차단해놓았던 것이 클라우드플레어의 프록시를 사용하면서 사실상 모두 해제된 것이나 다름 없는 상태에 빠졌던 것. 프록시의 구조가 세계 각지에서 들어오는 모든 요청 ip들을 모아서 클라우드플레어의 프록시 ip로 우리 서버에 요청하는 것이다. 클라우드플레어 단계에서 뭔가 제한 없이 클라우드플레어 ip만 열어두면 서버 입장에서는 들어오는 모든 요청을 다 받는 것과 아무런 차이가 없는 것이다.
클라우드플레어에서 차단 규칙을 설정하기로 한다.
한국에서 접속이 아니고, 알려진 봇이 아니며, google, ms 등의 접속 아이피가 아니면 점검을 받아라.
순식간에 떨어지는 cpu 점유율 ㅜㅜ 행복하다.
클라우드플레어 > 보안 > 보안규칙 > 새로 만들기
not (
ip.geoip.country eq "KR" or
cf.client.bot or
(
ip.src in {173.245.48.0/20} or
ip.src in {103.21.244.0/22} or
ip.src in {103.22.200.0/22} or
ip.src in {103.31.4.0/22} or
ip.src in {141.101.64.0/18} or
ip.src in {108.162.192.0/18} or
ip.src in {190.93.240.0/20} or
ip.src in {188.114.96.0/20} or
ip.src in {197.234.240.0/22} or
ip.src in {198.41.128.0/17} or
ip.src in {162.158.0.0/15} or
ip.src in {104.16.0.0/13} or
ip.src in {104.24.0.0/14} or
ip.src in {172.64.0.0/13} or
ip.src in {131.0.72.0/22} or
ip.src in {64.233.160.0/19} or
ip.src in {66.249.64.0/19} or
ip.src in {72.14.192.0/18} or
ip.src in {203.208.32.0/19} or
ip.src in {13.64.0.0/11} or
ip.src in {20.36.0.0/14} or
ip.src in {40.64.0.0/10}
)
)
여기 해당하면 모두 JS챌린지에 도전하도록 설정했다.