WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?
게시 됨: 2022-09-19xmlrpc.php 파일에 대해 검색하고 WordPress에서 어떻게 비활성화할 수 있습니까? 이 기사에서는 xmlrpc.php가 무엇이며 어떻게 비활성화할 수 있는지 설명합니다.
XML-RPC 사양을 통해 WordPress 환경 외부의 응용 프로그램에서 WordPress와 통신하는 것은 시스템 간의 통신 방식을 표준화함으로써 가능합니다.
이 사양은 처음부터 WordPress 커뮤니티에 큰 가치가 있었습니다. 그것이 없었다면 WordPress는 인터넷의 나머지 부분과 격리되었을 것입니다.
그러나 xmlrpc.php에도 몇 가지 단점이 있습니다. xmlrpc.php 파일 취약점이 발견된 이후 WP REST API는 WordPress의 필수 구성 요소가 되었습니다. 이것은 WordPress가 다른 소프트웨어 프로그램과 상호 작용하는 방식을 크게 향상시킵니다.
이 기사의 목적은 xmlrpc.php가 무엇인지, 왜 비활성화해야 하는지, 어떻게 비활성화할 수 있는지 설명하는 것입니다.
또한 최고의 WordPress 보안 플러그인에 대한 기사를 확인하는 것이 좋습니다.
xmlrpc.php 파일이란?
이 섹션의 목적은 XML-RPC PHP란 무엇인가?라는 질문에 답하는 것입니다. XML-RPC 사양은 WordPress와 다른 시스템 간의 통신에 사용할 수 있습니다.
HTTP를 전송 프로토콜로 사용하고 XML을 인코딩 프로토콜로 사용하여 XML-RPC는 이러한 통신에 사용되는 프로토콜을 표준화할 수 있습니다.
WordPress는 인터페이스로 XML-RPC를 사용하는 b2 블로깅 소프트웨어에서 2003년에 분기되었습니다. xmlrpc.php라는 파일은 시스템의 루트 디렉토리에 있으며 이 기능에 대한 코드를 포함합니다. 이 파일은 XML-RPC가 주로 사용되지 않는 경우에도 여전히 사용할 수 있습니다.
초기 버전의 WordPress에서는 XML-RPC를 비활성화하는 것이 기본 설정이었습니다. 버전 3.5부터 WordPress 모바일 앱과 WordPress 설치 간의 통신을 지원하기 위해 기본적으로 활성화되어 있습니다.
WordPress 버전 3.5 이전에는 사이트가 XML-RPC로 구성된 경우에만 WordPress 모바일 앱에서 콘텐츠를 게시할 수 있었습니다. 이것은 앱이 WordPress를 실행하지 않았기 때문에 발생했습니다. 대신 xmlrpc.php를 사용하여 WordPress 사이트와 통신했습니다.
또한 XML-RPC는 WordPress와 다른 블로깅 플랫폼 간, WordPress와 WordPress 모바일 앱 간에 통신하는 데 사용됩니다.
XML-RPC는 핑백 및 트랙백에 사용할 수 있습니다. 또한 자체 호스팅 WordPress 사이트가 WordPress.com의 구성원이 될 수 있도록 하는 Jetpack 플러그인의 백엔드 역할도 했습니다.
REST API가 이제 WordPress 코어에 통합되었으므로 더 이상 xmlrpc.php 파일을 사용하지 않습니다. 이 파일을 사용하는 대신 이제 REST API를 사용하여 WordPress의 모바일 앱, 데스크톱 클라이언트, Jetpack 플러그인 및 기타 시스템 및 서비스와 통신할 수 있습니다.
또한 REST API를 보다 광범위한 시스템과 통합할 수 있으며 xmlrpc.php보다 유연성이 뛰어납니다. XML-RPC가 REST API로 대체되었으므로 문제를 방지하려면 웹사이트에서 xmlrpc.php를 비활성화해야 합니다.
XML-RPC를 비활성화해야 하는 이유는 무엇입니까?
xmlrpc.php 파일은 WordPress 사이트의 XML-RPC 지원 취약점을 해커에게 노출시킬 수 있으므로 비활성화해야 합니다.
워드프레스 외부의 통신에는 더 이상 XML-RPC를 사용할 필요가 없습니다. 사이트를 최대한 안전하게 유지하려면 비활성화해야 합니다.
이러한 이유로 WordPress는 항상 이전 버전과 호환됩니다. 책임이 있는 경우 WordPress 웹사이트와 연결된 WordPress 플러그인 및 테마를 지속적으로 업데이트해야 합니다.
웹사이트에서 XML-RPC가 활성화되어 있으면 해커가 이를 도구로 사용하여 웹사이트에서 DDoS 공격을 시작할 수 있습니다. 그들은 xmlrpc.php 모듈을 사용하여 귀하의 사이트에 많은 핑백을 생성할 수 있으며, 이로 인해 서버에 과부하가 걸리고 웹사이트가 다운될 수 있습니다.
또한 xmlrpc.php는 각 요청과 함께 인증 정보를 전송하므로 해커가 이 정보를 가로채 웹사이트에 액세스하려고 할 수 있습니다. 이 무차별 대입 공격은 해커가 악성 코드를 실행하고 코드를 삭제하며 데이터베이스를 손상시킬 수 있습니다.
XML-RPC가 활성화되어 있는지 확인하는 방법은 무엇입니까?
웹사이트에 액세스하려면 다음 링크를 클릭하십시오. WordPress XML-RPC Validation Service.
도메인 이름을 입력했으면 확인 버튼을 클릭합니다.
테스트가 성공하면 XML-RPC가 이제 활성화되며 즉시 꺼야 합니다.
WordPress 플러그인을 사용하여 XMLRPC 비활성화
여러 가지 이유로 사이트 소유자는 XMLRPC 기능을 비활성화할 수 있습니다. XML-RPC 비활성화와 같은 다양한 플러그인을 사용하여 이를 수행할 수 있습니다.
XML-RPC 비활성화 플러그인을 사용하여 XMLRPC 비활성화
Disable XML-RPC 플러그인을 사용하여 XMLRPC 기능을 비활성화하는 방법을 설명합니다. WordPress 관리 패널에 로그인하십시오.
1. 플러그인을 클릭한 다음 새로 추가를 클릭합니다.
2. 검색 상자에 "XML-RPC 비활성화"를 입력합니다. 그 후 Disable XML-RPC 플러그인을 설치합니다.
3. 플러그인을 활성화하면 준비가 완료됩니다. 그런 다음 XML-RPC가 비활성화됩니다.
이 플러그인에서 XML-RPC가 비활성화되었는지 확인하는 데 사용할 수 있는 XML-RPC Validator를 찾을 수 있습니다. XML-RPC가 비활성화된 경우 실패 메시지가 나타납니다. 그렇지 않은 경우 이 플러그인으로 비활성화할 수 있습니다.
플러그인으로 XML-RPC 및 REST API 활성화 구성
REST XML-RPC 데이터 검사기 플러그인을 사용하면 웹사이트에서 REST API 및 xmlrpc.php를 보다 세분화된 방식으로 구성할 수 있습니다.
플러그인을 설치 및 활성화한 후 설정에서 REST XML-RPC Data Checker 탭을 클릭한 후 XML-RPC 탭을 클릭합니다.
플러그인을 통해 사이트에서 활성화된 xmlrpc.php의 기능을 정확히 지정할 수 있습니다. 완전히 비활성화하는 것도 가능합니다. 플러그인에는 원하는 경우 REST API를 제어할 수 있는 탭도 있습니다.
플러그인 없이 XMLRPC 비활성화
웹사이트에 다른 플러그인을 추가하지 않으려면 필터 또는 .htaccess 파일을 사용하여 xmlrpc.php를 비활성화할 수 있습니다. 두 가지 옵션을 함께 고려해 보겠습니다.
필터를 통해 xmlrpc.php 비활성화
xmlrpc_enabled 필터를 사용하여 xmlrpc.php를 비활성화하는 것은 매우 쉽습니다. 이 기능을 추가하고 웹사이트에서 활성화해야 합니다.
add_filter( 'xmlrpc_enabled', '__return_false' );
기능은 테마의 기능 파일에 추가할 수 있습니다. .htaccess 파일은 Apache를 사용하여 호스팅 공급자에 연결되어 있는지 여부에 따라 cPanel 또는 FTP를 사용하여 편집할 수도 있습니다.
WordPress의 __return_false 함수는 부울 거짓 조건을 반환합니다. 이 필터는 로그인한 사용자가 필요한 작업만 차단합니다.
XMLRPC 서버의 모든 작업을 비활성화하려면 모든 메서드에서 등록을 취소해야 합니다. 이를 달성하려면 xmlrpc_methods 필터에 연결해야 합니다.
add_filter( 'xmlrpc_methods', 'betterstudio_remove_xmlrpc_methods' ); function 'betterstudio_remove_xmlrpc_methods( $methods ) { $methods = array(); //empty the array return $methods; }
xmlrpc.php 파일은 요청 시 wp_xmlrpc_server 클래스의 객체를 생성합니다. wp-includes 폴더에는 메서드라는 속성이 포함된 클래스 파일이 있습니다.
methods 속성에는 XML-RPC 요청을 통해 액세스할 수 있는 함수 이름 배열이 포함됩니다.
이 배열에 포함되지 않은 함수는 오류 메시지와 함께 반환됩니다. 따라서 어레이를 비우면 어떤 기능도 사용할 수 없게 됩니다.
.htaccess를 사용하여 XML-RPC 비활성화
.htaccess를 사용하여 XML-RPC를 비활성화하는 것은 몇 가지 간단한 단계를 포함합니다. xmlrpc.php .htaccess를 비활성화하는 방법은 다음과 같습니다.
- FTP 또는 파일 관리자를 사용하여 웹사이트의 루트 디렉토리로 이동할 수 있습니다.
- .htaccess 파일을 열어야 합니다.
- .htaccess 파일에 다음 코드를 추가해야 합니다.
# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all allow from xxx.xxx.xxx.xxx </Files>
xxx.xxx.xxx.xxx는 xmlrpc.php에 대한 액세스 권한을 부여하려는 IP 주소로 대체할 수 있습니다. WordPress에서 xmlrpc.php를 완전히 제거하려면 이 줄을 제거하면 됩니다.
Apache/Nginx에서 XMLRPC 비활성화
Apache/Nginx에서 XMLRPC를 비활성화하는 것도 간단한 프로세스가 될 수 있습니다. xmlrpc.php를 비활성화하려면 Apache 구성 파일에 다음 코드를 추가해야 합니다.
< VirtualHost > ---------- < files xmlrpc.php > order allow,deny deny from all < /files > < /VirtualHost >
Nginx 구성 파일에서 다음 코드를 사용하여 xmlrpc.php를 비활성화할 수 있습니다.
server { ----------- location /xmlrpc.php { deny all; } }
다른 Linux 배포판에서 XML-RPC 공격을 검색하고 찾는 방법은 무엇입니까?
다른 Linux 배포판에서 XML-RPC 공격을 검색하는 경우 다음 명령을 사용하여 xmlrpc.php 공격을 중지할 수 있습니다.
Apache가 설치된 CentOS 서버:
# grep xmlrpc /var/logs/httpd/access.log
Ubuntu에서 Apache 사용:
# grep xmlrpc /var/logs/apache2/access.log
Nginx 기반 서버의 경우:
# grep xmlrpc /var/logs/nginx/access.log
cPanel 기반 서버의 경우:
# grep xmlrpc /home/username/logs/access.log
공격을 받고 있는 WordPress 사이트에서 이전 명령을 실행한 경우 다음 출력을 받게 됩니다.
POST /xmlrpc.php HTTP/1.0” 200 674 “-” “Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)
XML-RPC.php 파일을 활성화 상태로 유지해야 하는 경우
XML-RPC를 활성화하는 것이 유리한 몇 가지 상황이 있으며 다음은 그 중 일부입니다.
- 어떤 이유로든 버전 4.4 이상으로 업데이트할 수 없는 오래된 웹사이트가 있을 때 REST API를 사용할 수 없는 경우.
- 프로그램은 통신에 사용 중인 웹사이트의 REST API에 액세스할 수 없습니다.
- XML-RPC가 작동해야 하는 일부 타사 응용 프로그램을 통합하기 위해.
그러나 위의 비판 중 어느 것도 XML-RPC 및 xmlrpc.php 익스플로잇을 계속 사용하는 데 충분한 이유가 되지 않는다는 점에 유의해야 합니다.
WordPress에 있는 유일한 이유는 이전 버전과 호환되기 때문입니다. 결과적으로 오래된 버전의 WordPress를 사용하는 경우에만 사용하고 싶을 것입니다.
사이트를 최신 상태로 유지하고 최신 소프트웨어 버전을 지원하려면 xmlrpc.php를 비활성화해야 합니다.
WordPress에서 XML-RPC 기능 테스트
또한 WordPress 테스트 옵션을 사용하여 웹사이트가 XML-RPC 요청 수신에서 성공적으로 비활성화되었는지 확인할 수 있습니다.
이를 위해 워드프레스 모바일 앱을 휴대폰에 다운로드할 수 있습니다. 이 응용 프로그램의 Android 및 iPhone 버전을 사용할 수 있습니다. 기기에 앱을 설치한 후 기존 사이트 주소 입력을 눌러 사용을 시작하세요.
이 사이트에서 XML-RPC 서비스가 비활성화되었다는 오류 메시지가 표시되면 작업이 완료된 것입니다. 이것은 WordPress xmlrpc.php 403 금지 메시지입니다.
결론
XML-RPC 사양은 외부 응용 프로그램 및 시스템과의 통신을 허용하기 위해 WordPress 생성 이전에 개발되었습니다. 이 사양에는 웹사이트를 공격에 취약하게 만들 수 있는 몇 가지 보안 결함이 있습니다.
REST API를 사용하면 사이트가 다른 프로그램과 통신할 수 있으므로 걱정 없이 xmlrpc.php를 비활성화할 수 있습니다. 웹 사이트의 보안을 강화하려면 언급된 단계에 따라 수행하십시오.