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

예전에 이 홈페이지가 운영되고 있는 서버의 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  파일을 수정하기로 했다.

<Files xmlrpc.php>

order deny,allow

deny from all

</Files>

 

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

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

 

0 Shares:
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

You May Also Like
2021년 회고
Read More

2021년 회고(Product Owner, 가족, 성장)

회사에는 동료와 일이 있다. 가정에는 아내와 애들, 육아업무가 있다. 그러나 그 어디에도 나는 없었다. 원래 나 본연의 내가 존재할 수 있는 시간과 장소는 없었다. 단지, 의무로서의 나만 존재했다. 언뜻 생각해보면 참 서글프기도 하지만 잘 생각해보면 꼭 그렇지도 않다. 현재 나의 상황, 역할, 가족, 일.....그 모든 것이 결국은 나를 구성한다. 원래 나 본연의 나는 처음부터 없는 것인지도 모르겠다.
Read More

PO, PM들의 존재이유를 알려주는 책, 인스파이어드

일반적으로 제품개발(Product 개발)이라고 하면 기획/디자인/개발 과정을 거쳐 Product이 완성되는 과정을 의미한다. 그런데 인스파이어드 책의 저자 마티 케이건은 제품을 발견하는 과정과 제품을 시장에 전달하는 과정도 제품개발에 속한 과정이라고 정의한다. 그런 의미로 볼 때 Product을 개발한다는 것은 영업/마케팅 조직의 비지니스 과정과 분리되어 있지 않다는 것을 의미한다.
Read More

FE 개발자와 SEO 적용하기

SEO 작업을 통해 검색결과 첫 페이지의 상위 5위 안에 드는 것이 중요하다. 이번 포스팅에서는 내가 담당하고 있는 Product의 FE 개발자와 SEO를 적용하면서 알게된 사항들을 공유하고자 한다.
man with hand on temple looking at laptop
Read More

PO = Problem Owner?

비즈니스의 성장과 함께 Product에도 많은 발전이 있었는데 이 과정에서 나는 총 7개의 Product을 담당했다. 이번 포스팅에서는 7개의 Product을 관리하면서 깨닫게 된 PO의 역할에 대해서 이야기하고자 한다.