워드프레스 보안설정: xmlrpc 차단


📖워드프레스로 웹 사이트 만들기 » 2부 워드프레스 설치 » 워드프레스 설치 » 우분투 LEMP스택에 워드프레스 설치 » 우분투에 워드프레스 설치 » 워드프레스 보안설정: xmlrpc 차단


웹서버인 NGINX에 워드프레스 관련해 설정한다.

xmlrpc

워드프레스 xmlrpc는 블로그의 특징이자 장점인 트랙백과 원격으로 글쓰기를 할 수 있게 해준다. 그러나 이 기능을 이용해 내 관리자계정 정보를 알아내기 위해 무차별 대입 공격을 하거나, 다른 블로그에 핑백 트래픽을 유발해서 내 블로그를 이용해 다른 서버를 공격하는데 사용되기도 한다.

워드프레스 관리자 로그인 URL를 변경해도 무차별 대입 공격을 받는데 그 이유가 xmlrpc 로 무차별 대입공격을 하기 때문이다. All In One WP Security 플러그인으로 관리자 로그인 URL를 막거나 비밀번호가 틀리면 로그인 차단시킬 수 있다. 로그인을 차단시켜도 계속 호출을 하므로 서버는 부하가 발생한다.

워드프레스 xmlrpc를 막아서 이런 보안과 서버 부하 문제를 해결할 수 있다. 대신 xmlrpc를 막으면 트랙백이 안 되고 워드프레스 모바일앱 같은 원격글쓰기앱을 사용할 수 없다. xmlrpc 를 막는 방법은 여러가지가 있는데, All In One WP Security 플러그인으로 xmlrpc를 막으면서 워드프레스앱과 jetpack을 사용하게할 수 있다.

트랙백을 사용하지 않고, jetpack과 워드프레스 앱을 사용하지 않는다면 웹서버에서 xmlrpc 를 차단하는게 가장 효율적이다.

nginx 에서 xmlrpc 차단하기

nginx의 사이트 설정에서 다음을 추가하면 된다.

/etc/nginx/sites-available/ 안에 개별 서버의 server안에 아래 내용을 추가하고, nginx 를 릴로드한다. 한 서버에 여러 사이트를 운영하지 않는다면 default 를 열어서 아래를 추가하면 된다.

server {

  # xmlrpc.php 막기
  location = /xmlrpc.php {
  deny all;
  }

}

nginx를 릴로드한다.

$ sudo nginx -s reload