오늘은 워드프레스 사용 기능 중 DDoS 공격에 취약하다는 XLMRPC 사용 중지로 워드프레스 보안을 강화하는 방안에 대해서 살펴봅니다.
이전 포스팅에서 무작위적인 ID와 비밀번호 대입으로 워드프레스 로그인 시도에 대한 대응으로 워드프레스 로그인 주소 변경하고, Fail2Ban으로 워드프레스 로그인 시도 IP를 블락하는 정책을 세웠습니다.
이러한 정책외 XMPRPC는 2007년 도입때무터 해커들의 공격에 취약하다는 문제를 가지고 있었습니다.
그렇지만, 워드프레스 관리자들 대부분이 이러한 위험에 무신경함으로서 최근 몇년간 해커들의 주요 공격 포인트가 되면서 경각심이 높아진 기능이기도 합니다.
여기서는 XLMRPC란 무엇이며, 워그프레스에서 이 기능을 사용하지 않으려면 어떻게 해야하는지 그 몇가지 방법을 살펴봅니다.
xmlrpc란 무엇인가?
서버와 서버간 또는 서버와 클라이언트간 통신을 표준 문서 형식인 XML을 이용한 원거리 전송 규약으로 서버 메소드에 직접 접근 가능한 방법입니다.
XML를 이용해 서버에서 멀리 떨어진 서버 또는 클라이언트의 서브 프로그램(Procedure)를 불러 작동 또는 작용하도록 만드는 것(Call)이란 의미로 XMLRPC라고 부릅니다.
XMLRPC는 이런 특성때문에 워드프레스나 블로그에서는 외부에서 글을 작성 후 사이트로 보내면 자동으로 포스팅이 되는 기능에 활용되기도 했습니다.
블러그가 한창 인기가 있을 때는 메일 본문에 글을 작성해 메일을 보내면 이를 자동으로 블러그 포스팅이 되는 기능이 활성화 되기도 했습니다.
또는 워드에서 글을 저장하면 이를 블러그로 보낼 수 있기도 했습니다. 이는 XML 규격을 활용해 그 포맷을 그대로 블러그 포스팅으로 저장할 수 있기 때문에 가능한 기능이었습니다.
지금은 이런 기능은 보안 이슈 등등으로 전부 없어지고 대신 REST를 사용하는 방향으로 전환되었습니다.
워드프레스에서는 핑백(pingback) 기능 때문에 사용 중 – 핑백을 사용하지 않으면 어느 정도 문제 해결 가능
또 현재 워드프레스에서 글을 인용 시 핑백(pingback) 기능 때문에 xmlrpc가 남아 있다고 합니다.
그러나 이 핑백 기능을 이용한 DDoS 공격도 많아지면서 점ㅂ차 핑백 기능을 사용하지 않는 사이트들이 증가하면서 유명무실해지고 있습니다.
XMLRPC 사용 중지 방법
그러면 어떻게 XMLRPC를 절대로 사용하지 않토록 만들까요? 이를 위한 여러가지 방법이 있습니다.
서버 설정이 가능한 경우
SFTP나 SSL을 통해서 서버 접속이 가능하고, 서버 설정 변경 권한이 있는 경우는 서버 설정을 변경하는 것이 좋습니다.
아파치를 웹서버로 사용하는 경우는 아래와 같은 명령어를 사용합니다.
<Files xmlrpc.php>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>
Code language: PHP (php)
NGINX를 웹서버로 사용한다면 서버 설정 파일에 아래와 같은 코드를 추가합니다.
location ~* (xmlrpc)\.php$ {
allow from xxx.xxx.xxx.xxx
deny all;
access_log off;
}
Code language: PHP (php)
서버 설정이 어려운 경우
서버에 접속하기 위해 SFTP나 SSL사용이 어려운 경우는 XMLRPC 사용 중단을 위해서 플러그인을 사용할 수 있습니다.
사실 XMLRPC 사용 중단은 워드프레스 구성 파일 중 xmlrpc.php 파일 하나와만 연관되어 있기 때문에 굉장히 복잡한 작업은 아닙니다.
그렇기 때문에 굳이 플러그인까지 설치할 필요가 있을까하는 생각이 들 수 있습니다. 저처럼 가능하면 플러그인 사용을 자제하려는 경우에는 더욱 그러겠죠.
그러나 니즈가 있는 곳에 플러그인이 있다는 말처럼 워드프레스에서 XMLPC 사용 중지를 위한 플러인인드링 많이 있고 실제로도 많이 사용하고 있습니다.
- 서버 접속이 어려운 경우
- 서버 접속이 번거롭고, 굉장히 어렵게 느껴지는 경우
- 플러그인 설치 및 적용이 생각보다 간단히 가장 편한 기능이기 때문
어떤 플러그인?
워드프레스에서 XMPRPC를 비활성화하는 플러그인도 생각외로 여러가지가 있지만 Disable XML-RPC 플러그인이 가장 많이 추천되고 있네요. 현재 약 10만명이 설치했했습니다.
다만 이 플러그인은 지난 1년동안 업데이트가 없어서 조금 주의 깊게 살펴볼 필요가 있습니다.