IT

워드프레스 XML-RPC 공격 방어방법

Written by JunHo Lee

예전에 이 홈페이지가 운영되고 있는 서버의 Mysql이 계속 다운되는 현상이 발생했었다.

처음에는 중국에서 무차별적인 DB접속시도를 하는줄 알았다. 그래서 mysql로그를 보고 몇 몇 IP에 대한 접근을 막았다. 그런데 그런 현상이 계속 발생하는 것이 아닌가!  좀 자세하게 알아보니 이 현상은 해커들이 워드프레스 사이트를 대상으로 시도하는 XML-RPC 공격이었다. 이 공격에 대해서 내가 겪은 증상은 다음과 같다.

  • 불규칙하게 “Error establishing database connection” error 발생
  • 메모리 사용량 증가

XML-RPC에 대한 자세한 사항은 아래 링크에서 자세하게 알 수 있다.

How to Protect WordPress from XML-RPC Attacks

 

위 글을 보면 XML-RPC 공격에 대한 몇 가지 해결방법이 나오는데 내가 선택한 해결방법은  .htaccess파일을 수정하는 방법이었다. 아래 코드를 .htaccess  파일에 추가만 하면 끝이다. 아파치 서버 설정을 변경하는 방법도 있으나 그렇게 하면 서버를 옮길 때 또 귀찮아 질 것 같아서 그냥 .htaccess  파일을 수정하기로 했다.

 

그런데 이 방법은 xmlrpc파일에 대한 접근을 막는 방법이기 때문에 jetpack플러그인을 설치할 때 문제가 발생한다.(.htaccess파일을 위와 같이 수정한 상태에서는 jetpack플러그인이 설치되지 않는다.) 그리고 jetpack플러그인이 xmlrpc파일에 접근할 수 없기 때문에 wordpress.com에서 통합관리를 할 수 없다.

물론 .htaccess파일 수정과 같은 조치없이 jetpack 플로그인만 설치해도 어느정도 XML_RPC 공격에 대한 방어가 가능하다고한다. jetpack플러그인이 정상적이지 않은XML_RPC요청을 알아서 블록처리 하기 때문이다. 그런데 나는 jetpack플러그인을 설치했음에도 불구하고 그런 공격을 받은 것이기 때문에 .htaccess  파일을 수정했다.

 

About the author

JunHo Lee

%d 블로거가 이것을 좋아합니다: