XML-RPC를 허용할 경우 디도스 공격의 통로가 될 수 있으므로 일반적으로 XML-RPC를 비활성화하는 것이 보안상 바람직합니다.
일부 보안 플러그인에서는 XML-RPC를 비활성화하는 옵션이 제공되기도 하고 Apache 서버에서는 .htaccess 파일에 간단한 코드를 추가하여 XML-RPC 접근을 차단할 수 있습니다.
외부 프로그램을 통해 워드프레스에 자동 포스팅을 하는 경우 xml-rpc를 허용해야 할 수 있습니다. 이런 경우 xml-rpc를 전면적으로 허용하는 것보다 특정 IP 주소만 접속할 수 있도록 제한하는 것을 고려할 수 있습니다.
워드프레스: 내 IP 주소만 XML-RPC에 접근하도록 제한하기
요즘 챗GPT를 활용하여 워드프레스에 자동화 포스팅을 하는 분들이 늘어나고 있는 것 같습니다. 쿠팡 파트너스 같은 제휴 프로그램 관련 글도 자동 포스팅 방식으로 많이 시도되고 있습니다.
자동 포스팅의 경우
- 프로그램을 사용하여 외부에서 자동 포스팅을 하거나
- 워드프레스용 플러그인을 설치하여 워드프레스 내에서 자동으로 글을 생성하는 등
두 가지 방법으로 이루어지는 것 같습니다.
워드프레스에서 XML-RPC는 원격으로 워드프레스 사이트와 상호작용할 수 있게 하는 프로토콜입니다. 이 기능은 다른 애플리케이션에서 워드프레스 사이트에 연결하여 게시글을 작성, 수정, 삭제하거나 댓글을 관리할 수 있도록 합니다. 예를 들어, 스마트폰의 워드프레스 앱을 사용하여 원격으로 블로그를 관리할 수 있습니다.
XML-RPC는 XML을 사용하여 데이터를 전송하고, HTTP를 통해 이 데이터를 전달합니다. 이 기능은 워드프레스가 다양한 시스템과 통합되는 데 도움이 되지만, 보안 문제로 인해 많은 워드프레스 사용자가 이 기능을 비활성화하기도 합니다.
XML-RPC를 활성화해야 하는 경우 특정 IP 주소만 접근이 가능하도록 다음과 같은 코드를 .htaccess 파일에 추가할 수 있습니다.
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 192.168.1.2
</Files>
IP 주소 부분은 실제 IP 주소를 입력하시기 바랍니다. 여러 개의 IP 주소를 허용하도록 추가할 수 있습니다.
allow from [First IP Address]
allow from [Second IP Address]
...
참고로 <Files xmlrpc.php> 대신 <Files xmlrpc\.php>와 같이 백슬래시를 사용하여 점(.)을 이스케이프하면 xmlrpc.php만을 대상으로 한다는 것이 명확해져 보다 정확한 지시문이 된다고 하네요. 구글링하면 대부분 백슬래시(\) 없이 사용되고 있으므로 보통은 백슬래시 유무가 영향을 미치지 않는 것 같습니다.
이 작업을 수행하려면 FTP/SFTP에 접속하여 .htaccess 파일을 수정할 수 있어야 합니다.
내 IP 주소를 확인하려면 구글이나 네이버에 "내 IP 주소"로 검색하면 내 컴퓨터에 연결된 인터넷 회선의 공인 IP 주소를 확인할 수 있습니다.
특히 네이버에서 "내 IP 주소"를 검색하면 곧바로 IP 주소가 표시됩니다.😄😄
마치며
이상으로 특정 IP 주소만 허용하도록 xml-rpc 액세스를 제한하는 방법에 대하여 살펴보았습니다.
워드프레스에서 XML-RPC에 접근하려고 시도할 때 "ERR_HTTP2_PROTOCOL_ERROR" 에러가 발생하면 xml-rpc를 허용하거나 특정 IP 주소(내 IP 주소)만 허용하도록 조치를 취하면 문제가 해결될 것입니다.
댓글 남기기