[워드프레스] xmlrpc.php 차단으로 보안 강화하기

- 06-05
- 129,272 회
- 0 건
xmlrpc.php의 원래 필요성
xmlrpc.php
는 워드프레스에서 XML-RPC 프로토콜을 통해 원격 통신을 가능하게 하는 핵심 파일입니다. 과거에는 다음과 같은 중요한 기능들을 제공했습니다:
- 모바일 앱 연동: 워드프레스 모바일 앱에서 게시물을 작성하고 관리할 때 필수적이었습니다
- 외부 도구 연결: 데스크톱 블로그 편집기나 타사 애플리케이션과의 연동을 위해 사용되었습니다
- API 통신: 다른 시스템과의 데이터 교환을 위한 표준 인터페이스 역할을 했습니다
- 자동화 도구: 예약 게시나 대량 콘텐츠 관리를 위한 자동화 스크립트에서 활용되었습니다
최근 xmlrpc.php가 불필요해진 이유
하지만 워드프레스 생태계의 발전으로 인해 xmlrpc.php
의 중요성은 크게 줄어들었습니다:
-
REST API의 도입
워드프레스 4.7부터 본격적으로 도입된 REST API가 XML-RPC보다 훨씬 강력하고 안전한 대안을 제공합니다. -
모바일 앱의 진화
공식 워드프레스 모바일 앱이 REST API 기반으로 전환되어 더 이상 xmlrpc.php에 의존하지 않습니다. -
보안 취약점
XML-RPC는 다음과 같은 심각한 보안 위험을 내포하고 있습니다:- 브루트 포스 공격:
system.multicall
메서드를 통해 대량의 로그인 시도가 가능합니다 - DDoS 공격: pingback 기능을 악용한 증폭 공격의 경로가 됩니다
- 정보 노출: 불필요한 시스템 정보가 외부에 노출될 위험이 있습니다
- 브루트 포스 공격:
-
현대적 개발 환경
GraphQL, RESTful API 등 더 효율적이고 안전한 통신 방식들이 표준이 되었습니다.
업데이트 시 자동 생성 문제
많은 사용자들이 xmlrpc.php
파일을 직접 삭제하려 시도하지만, 이는 효과적이지 않습니다.
워드프레스가 업데이트될 때마다 핵심 파일들이 다시 생성되기 때문에 삭제는 일시적인 해결책일 뿐입니다.
따라서 근본적인 접근 차단이 필요합니다.
해결책: .htaccess를 통한 xmlrpc.php 접근 차단
가장 효과적인 방법은 웹서버 수준에서 xmlrpc.php에 대한 접근을 제한하는 것입니다.
워드프레스 루트 디렉토리의 .htaccess
파일에 다음 코드를 추가하세요:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
Allow from 192.168.1.100 # 신뢰하는 IP 주소로 변경
</Files>
설정 방법 상세 안내
-
FTP 또는 파일 관리자를 통해 접근
웹호스팅 제공업체의 파일 관리자나 FTP 클라이언트를 사용해 워드프레스 루트 디렉토리에 접근합니다. -
.htaccess 파일 편집
기존.htaccess
파일을 열거나, 없다면 새로 생성합니다. -
코드 추가
위의 코드를 파일 맨 아래에 추가합니다. -
IP 주소 수정
192.168.1.100
부분을 실제로 접근을 허용하고 싶은 신뢰할 수 있는 IP 주소로 변경합니다. -
완전 차단
만약 어떤 IP에서도 접근을 허용하지 않으려면Allow from
줄을 삭제하거나 주석 처리하세요.
결론
xmlrpc.php
는 과거에는 중요한 기능을 담당했지만, 현재는 보안 위험만 증가시키는 불필요한 요소가 되었습니다.
.htaccess
를 통한 접근 차단은 간단하면서도 효과적인 보안 강화 방법입니다.
이를 통해 브루트 포스 공격과 DDoS 공격으로부터 워드프레스 사이트를 보호할 수 있으며, 전체적인 사이트 보안 수준을 크게 향상시킬 수 있습니다.
로그인 후 댓글내용을 입력해주세요