Computer >> 컴퓨터 >  >> 프로그램 작성 >> HTML

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?

WordPress XML-RPC를 비활성화하는 빠른 방법을 찾고 계십니까? 하지만 그 전에 왜 그렇게 하는지 생각해 보십시오.

또한 다른 질문도 많을 것입니다.

  • xmlrpc.php란 무엇입니까?
  • 얼마나 큰 보안 위험입니까?
  • xmlrpc.php를 비활성화하면 위협이 자동으로 해결됩니까?

이 기사에서는 이러한 모든 질문에 답하고 더 많은 정보를 제공할 것입니다.

틀;DR: WordPress에서 XML-RPC를 비활성화하는 것은 실제 솔루션이 아닙니다. 조만간 해커는 악용할 다른 취약점을 발견하게 될 것입니다. 봇과 악성 IP를 차단하는 대신 강력한 WordPress 방화벽을 설치하는 것이 좋습니다.

XML-RPC 때문에 웹사이트가 해킹당하고 있습니까?

음 ... 아니.

해커가 사용자 이름과 암호 조합을 시도하여 웹사이트에 대한 액세스 권한을 얻으려고 합니다. 그러나 당황하지 마십시오. 귀하의 웹사이트는 아직 해킹되지 않았습니다.

거의 모든 사이트에서 이를 경험했습니다. 강력한 암호를 사용한 경우 이로 인해 사이트가 해킹될 가능성은 최소화됩니다. 우리가 본 10,000개 이상의 해킹된 사이트 중 5% 미만이 이러한 공격으로 인해 해킹되었습니다.

그러나 무차별 대입 공격으로 알려진 이러한 종류의 공격은 서버 리소스를 사용합니다. 로그인 페이지와 관리 페이지를 보호했더라도 이러한 공격은 해당 페이지를 완전히 우회하므로 서버에 과부하가 걸립니다.

이를 방지하려면 좋은 방화벽을 설치하는 것이 중요합니다.

XML-RPC란 무엇입니까?

XML-RPC는 WordPress와 다른 시스템 간에 데이터를 전송할 수 있는 WordPress 기능입니다. 이제 REST API로 대부분 대체되었지만 이전 버전과의 호환성을 위해 여전히 설치에 포함됩니다.

XML-RPC를 사용하면 타사 앱이 WordPress 웹사이트에 콘텐츠를 게시할 수 있습니다. 예를 들어 WordPress 모바일 앱을 사용하여 스마트폰에서 게시물을 게시하는 경우 XML-RPC를 사용하여 그렇게 할 수 있습니다.

그러나 그것이 할 수 있는 전부는 아닙니다. WordPress는 다른 블로깅 플랫폼과 통신하는 데도 사용했습니다. 트랙백과 핑백을 활성화했습니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?
이미지 제공:WPExplorer

이전 버전의 Jetpack 플러그인도 지원했습니다.

WordPress는 일반적으로 이를 사용하여 WordPress 모바일 앱에 연결합니다. WordPress 모바일 앱을 사용한 적이 있다면 XML-RPC를 활성화해야 한다는 것을 기억할 것입니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?
이미지 제공:WordPress

이 전체 거래에서 가장 이상한 점은 WordPress가 더 이상 XML-RPC를 사용하지 않는다는 것입니다. 자체 REST API를 출시한 이후로 WordPress는 이전 코드베이스 사용을 중단했습니다.

WordPress 설치에 여전히 xmlrpc.php 파일이 있는 유일한 이유는 이전 버전과의 호환성 때문입니다. 간단히 말해서 매우 오래된 버전의 WordPress에서 실행 중인 웹사이트에만 해당됩니다!

본인이라면 즉시 웹사이트를 백업하고 WordPress 핵심 파일, 테마 및 플러그인을 업데이트하는 것이 좋습니다. 이전 버전의 WordPress를 계속 사용하면 해커가 xmlrpc.php에 연결하려고 시도하는 것보다 훨씬 더 큰 보안 위험을 초래할 수 있습니다.

결론은 WordPress 버전이 4.7 이상인 경우 WordPress에서 XML-RPC를 안전하게 비활성화할 수 있다는 것입니다. 플러그인을 사용하는 경우 Jetpack에도 영향을 미치지 않습니다. 그러나 XML-RPC를 비활성화하는 것은 그 자체로 완벽하게 안전한 작업이지만 해커로부터 사이트를 보호하는 데 도움이 되지는 않습니다.

해커가 XML-RPC를 공격하는 이유

WordPress 모바일 앱을 사용한 적이 있다면 실제로 변경하려면 웹사이트에 로그인해야 한다는 것을 기억할 것입니다. 이제 이 로그인은 xmlrpc.php 스크립트에 자격 증명을 전송하여 이루어지며, 이 스크립트는 액세스 자격 증명을 확인하고 인증합니다.

해커는 기본적으로 동일한 작업을 시도합니다. xmlrpc.php 스크립트 액세스 자격 증명을 전송하여 웹사이트에 로그인합니다. 가장 큰 위험은 비밀번호가 약하고 쉽게 추측할 수 있는 경우입니다. XML-RPC가 보안 문제가 되는 경우입니다.

그렇지 않으면 서버에 과부하가 걸릴 가능성이 있습니다. 여전히 좋지는 않지만 방화벽으로 쉽게 해결할 수 있습니다.

REST API를 사용하여 외부 애플리케이션과 연결하는 WordPress 4.7 이상 버전은 OAuth 토큰이라는 인증 형식을 사용합니다. OAuth는 외부 앱에 연결하는 매우 안전한 방법입니다. 사용자 이름과 비밀번호를 직접 사용하는 XML-RPC 방식은 전혀 안전한 방식이 아닙니다.

충분한 시간이 주어지면 해커나 봇이 사용자 이름과 비밀번호의 변형을 보내 올바른 것을 추측할 때까지 xmlrpc.php에 연결할 수 있습니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?
이미지 크레디트:protector47

이를 무차별 대입 공격이라고 합니다.

XML-RPC의 또 다른 주요 보안 문제는 누군가가 귀하의 콘텐츠에 링크할 때 WordPress에서 경고하는 핑백에 사용되었다는 것입니다. 위협은 해커가 귀하의 사이트에 엄청난 핑백을 보낼 수 있다는 것입니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?
이미지 제공:protector47

DDoS 공격으로 알려진 이러한 유형의 공격은 서버에 과부하를 주고, 서버 리소스를 고갈시키며, 웹 호스트가 웹사이트를 일시 중단할 수 있습니다!

다시 말하지만 REST API도 이 기능을 대체했습니다. 따라서 핑백을 좋아하는 경우에도 WordPress에서 XML-RPC를 안전하게 비활성화할 수 있습니다.

귀하가 5%에 속하고 귀하의 웹사이트가 해킹당할 수 있다는 우려가 있는 경우 지금 무료 악성코드 스캐너를 사용하여 그러한 가능성을 제거하십시오.

XML-RPC를 비활성화해야 합니까?

XML-RPC를 비활성화하는 것은 전혀 권장하지 않습니다.

이유는?

단순 – PHP 파일을 비활성화해도 아무 소용이 없습니다. XML-RPC를 비활성화해도 해커와 봇은 제거되지 않습니다. 무차별 대입 공격을 수행하기 위해 단순히 wp-login.php로 주의를 리디렉션합니다.

둘째, 플러그인은 요청을 차단하기 위해 로드해야 하므로 웹사이트 속도가 느려집니다.

웹사이트를 보호하는 것이 더 중요하며 지금까지 읽었다면 방화벽 설치를 제안할 것이라고 추측할 수 있습니다. 예, 그 오래된 밤.

WordPress에서 XML-RPC를 비활성화하는 방법

WordPress의 모든 것과 마찬가지로 다음 두 가지 방법으로 WordPress XML-RPC를 비활성화할 수 있습니다.

  • 플러그인 사용
  • 플러그인 없이

대부분의 경우 플러그인을 사용하여 WordPress에서 거의 모든 작업을 수행하는 것이 좋습니다. WordPress 백엔드에서 수동으로 코드를 변경하면 재앙이 발생할 수 있습니다. 이것은 우리가 두 가지 방법 모두를 권장하지 않는 드문 경우이지만 어떤 경우에도 두 방법을 모두 수행하는 방법을 보여줍니다.

주의해서 진행하고 작업을 수행하기 전에 웹사이트를 백업하는 것을 잊지 마십시오.

1단계:웹사이트에서 XML-RPC가 활성화되어 있는지 확인

WordPress 설치가 xmlrpc.php와 함께 제공되더라도 이것이 여전히 활성화되어 있다는 의미는 아닙니다. 계속해서 XML-RPC를 비활성화하기 전에 웹사이트에서 여전히 활성화되어 있는지 확인해야 합니다.

WordPress XML-RPC 유효성 검사 서비스를 사용합니다. 이 앱은 웹사이트를 확인하고 xmlrpc.php가 활성화되어 있는지 알려줍니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?

MalCare에 대해 동일한 작업을 수행하면 방화벽이 설치되어 있기 때문에 403 오류 메시지가 표시됩니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?

2단계:웹사이트에서 XML-RPC 비활성화

마침내 WordPress에서 XML-RPC를 완전히 비활성화할 시간입니다.

두 가지 방법을 사용하여 이 작업을 수행하는 방법을 보여 드리겠습니다. 파일을 비활성화하는 것은 전혀 권장하지 않지만 플러그인을 사용하지 않으려는 경우 플러그인을 사용하는 것이 좋습니다.

옵션 A:플러그인 사용

웹사이트에서 XML-RPC를 비활성화하는 데 사용할 수 있는 플러그인이 많이 있습니다. REST XML-RPC 데이터 검사기 플러그인을 사용하는 것이 좋습니다.

요청을 차단하기 위해 플러그인을 로드해야 하므로 웹사이트 속도가 느려집니다. 또한 해커는 대신 wp-login.php 파일을 공격하는 방식으로 전환합니다.

따라서 이것은 보안 측면에서 전혀 달성할 수 없습니다. 진정한 보호를 원하시면 MalCare의 고급 방화벽 플러그인을 대신 설치하는 것이 좋습니다.

플러그인을 설치한 후 설정> REST XML-RPC 데이터 검사기로 이동합니다. .

그런 다음 XML-RPC 탭을 클릭합니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?

API 인터페이스, WordPress 게시물, 핑백 및 트랙백 형식 지정 기능을 비활성화할 수 있습니다. 추가 이점으로 XML-RPC를 계속 사용할 수 있는 신뢰할 수 있는 사용자 또는 차단되지 않는 신뢰할 수 있는 IP 주소 목록을 소개할 수도 있습니다.

빠르고 효율적입니다! 그러나 REST 탭을 만지작거리지 않는 것이 좋습니다. 모든 것을 기본값으로 두십시오.

옵션 B:플러그인 없이

이것은 이 책에서 가능한 최악의 선택입니다. 실제로 XML-RPC 공격을 방어하는 방법을 가르치는 다음 섹션으로 건너뛰는 것이 좋습니다.

그러나 XML-RPC를 수동으로 비활성화하기로 결정했다면 먼저 웹사이트의 전체 백업을 수행하는 것이 좋습니다.

웹사이트에서 사용하는 서버의 종류에 따라 다음 두 가지 방법 중 하나를 따를 수 있습니다.

.htaccess를 사용하여 WordPress XML-RPC 비활성화

다음 코드 조각을 .htaccess 파일에 붙여넣습니다.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>

특정 IP의 XML-RPC를 유지하려면 5번째 줄 'xxx.xxx.xxx.xxx에서 허용'에서 x를 사용자의 IP 주소로 바꿉니다. 그렇지 않으면 이 줄을 간단히 삭제할 수 있습니다.

웹사이트가 Apache를 사용하여 호스팅되는 경우 cPanel 또는 FTP를 사용하여 서버에 연결할 수 있습니다. 두 경우 모두 .htaccess 파일에 액세스할 수 있습니다.

.config를 사용하여 WordPress XML-RPC 비활성화

Nginx에서 호스팅되는 사이트의 경우 Nginx.config 파일에 다음 코드를 추가할 수 있습니다.

location ~* ^/xmlrpc.php$ {
return 403;
}

또는 웹 호스트에게 XML-RPC를 비활성화하도록 요청할 수 있습니다.

필터를 사용하여 WordPress XML-RPC 비활성화

또는 모든 플러그인에 필터를 추가할 수 있습니다.

add_filter('xmlrpc_enabled', '__return_false');

테마 함수 파일에서 동일한 작업을 수행할 수 있지만 플러그인을 작성하는 것이 훨씬 더 나은 방법입니다. 또한 어떤 서버를 가지고 있든 이 방법을 사용할 수 있습니다.

다시 말하지만, 이들 중 어느 것도 진정으로 유용한 옵션이 아니며 수동으로 변경하는 것은 결코 좋은 생각이 아닙니다. 따라서 꼭 해야 하는 경우에 대비하여 WordPress 백업을 준비하시기 바랍니다.

XML-RPC 공격을 방지하는 방법은 무엇입니까?

이것은 이 기사에서 가장 중요한 부분이며 상당히 큰 부분입니다. 따라서 웹사이트에 대한 XML-RPC 공격을 방지하기 위해 취할 수 있는 몇 가지 실행 가능한 단계로 이 단계를 나누기로 결정했습니다.

1단계:웹사이트가 이미 해킹되었는지 확인

귀하의 사이트는 아직 해킹되지 않았을 가능성이 큽니다.

그러나 만일을 대비하여 이것을 확인해야 합니다. 웹사이트가 실제로 해킹된 경우 먼저 멀웨어를 제거해야 합니다. 그렇지 않으면 XML-RPC를 비활성화하는 것이 의미가 없습니다.

사이트가 해킹되었는지 확인하는 가장 간단한 방법은 MalCare의 무료 멀웨어 스캐너를 사용하는 것입니다. MalCare의 스캐너는 설정하는 데 시간이 거의 걸리지 않으며 웹사이트에서 알려지지 않은 멀웨어도 몇 초 만에 탐지할 수 있습니다.

MalCare에서 해킹된 사이트 경고가 표시되면 '자동 청소' 버튼을 누르기만 하면 됩니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?

MalCare는 60초 안에 전체 멀웨어 제거를 처리합니다.

2단계:WordPress 방화벽 설치

이것이 XML-RPC 취약점을 처리하는 올바른 방법입니다. xmlrpc.php로 연결을 시도하는 봇을 차단하는 워드프레스 방화벽을 사용하세요.

파일을 비활성화해도 작동하지 않습니다. 해커는 다음으로 wp-login.php를 해킹하기 시작합니다.

유일한 문제는 방화벽이 일반적으로 너무 늦게 발효된다는 것입니다. 해커가 xmlrpc.php 또는 wp-login.php에 연결하여 해킹을 시도할 때마다 전체 WordPress 사이트가 함께 로드됩니다.

이것이 바로 다음과 같은 MalCare의 고급 방화벽을 사용하는 것이 좋습니다.

  • 웹사이트가 로드되기 전에 봇과 해커를 차단합니다.
  • Cloudflare와 같이 웹사이트의 로딩 속도를 늦추지 않음
  • 보호하는 250,000개 이상의 웹사이트 네트워크에서 학습하여 악성 IP 데이터베이스를 지속적으로 업데이트합니다.

웹 사이트가 MalCare로 보호되는 경우 모든 봇과 해커는 XML-RPC에 연결하려고 할 때 받게 됩니다. 또는 WP-Login은 403 오류입니다. 이와 같은 오류는 해커가 더 이상 진행하지 못하도록 빠르게 막을 수 있습니다.

왜 사람들은 XML-RPC를 비활성화하도록 권장합니까?

몇 가지 이유. 각각을 살펴보고 누군가(예, WordPress 관리 블로그도 중요)가 이 조치를 권장하는 이유를 이해합니다. (약간의 반창고 솔루션이라 할지라도.)

많은 독자(귀하와 같은)가 WordPress 웹사이트에서 XML-RPC를 비활성화하려는 가장 큰 이유 중 하나는 서버 리소스 문제를 경험했기 때문입니다. . 로그를 보면 xmlrpc.php 파일에 대한 많은 조회수를 볼 수 있습니다.

Jetpack을 사용하다가 Jetpack을 설치하는 동안 구성 오류가 발생했을 수 있습니다. . 그런 다음 이 이상하게 들리는 파일을 검색하고 이 파일이 어떻게 취약점인지에 대한 많은 내용을 읽었습니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?

또는 다음과 같은 경고를 표시하는 스캐너를 사용했습니다.

WordPress에서 XML-RPC를 비활성화하는 방법은 무엇입니까?
이미지 제공:Wordfence

Wordfence 트래픽 로그의 스크린샷입니다. .

보안 플러그인은 봇이 WordPress의 XML-RPC를 통해 사이트 해킹을 시도하고 있음을 보여줍니다. 따라서 자연스러운 본능은 이 옵션을 완전히 비활성화하는 것입니다.

하지 말아야 할 것과 그 이유는 무엇입니까?

블랙리스트 IP 주소

IP를 수동으로 차단하는 것이 해커를 차단하는 좋은 방법이라고 생각할 수 있습니다. 사실, 이것은 많은 보안 "전문가"가 지지할 것입니다. 하지만 작동하지 않습니다. 하나의 IP 주소를 차단하면 무차별 대입 로봇은 단순히 다른 IP 주소를 사용하여 사이트를 공격하기 시작합니다.

XML-RPC 삭제

WordPress 설치에서 xmlrpc.php 파일을 삭제할 생각조차 하지 마십시오. 사이트를 완전히 망가뜨릴 수 있으며 그렇지 않더라도 다음에 WordPress를 업데이트할 때 파일이 바로 표시됩니다.

다음은?

WordPress 보안을 개선하는 것은 하나의 거래가 아닙니다. 예, 방화벽을 설치하는 것이 좋은 시작 방법이지만 웹사이트에서 전체 WordPress 보안 감사를 수행하여 개선할 수 있는 다른 사항을 찾는 것이 좋습니다.

MalCare를 이미 설치했다면 직관적인 대시보드에서 많은 제안을 찾을 수 있습니다. 보안 검색을 하고 지시를 따르기만 하면 됩니다.

빨리 알게 되겠지만 WordPress 웹사이트 보안을 강화하는 것이 좋습니다. 다시 말하지만, 지침에 따라 몇 번의 간단한 클릭으로 완료할 수 있습니다.

보안의 또 다른 중요한 측면은 항상 알고 있어야 한다는 것입니다.

새로운 워드프레스 취약점이 있다면 이를 인지하고 웹사이트에도 영향을 미치기 전에 선제적인 조치를 취해야 합니다.

FAQ

XML-RPC란 무엇입니까?

XML-RPC는 XML 원격 호출 절차를 나타냅니다. XML 인코딩이 포함된 HTTP 연결을 사용하여 블로그에 연결하기 위해 오래된 블로깅 시스템에서 사용하는 프로토콜입니다. 간단히 말해서 사용자가 WordPress와 같은 블로그 플랫폼에 원격으로 연결할 수 있는 프로토콜입니다.

XML-RPC는 무엇에 사용됩니까?

XML-RPC는 WordPress 모바일 앱과 같은 타사 앱에서 WordPress에 원격으로 연결하는 방법입니다. 또한 누군가 트랙백 및 핑백을 통해 게시물에 링크할 때마다 알림을 보냅니다.

XML-RPC를 비활성화하려면 어떻게 해야 하나요?

REST XML-RPC Data Checker 플러그인과 같은 플러그인을 사용하여 XML-RPC를 비활성화할 수 있습니다. 그러나 XML-RPC를 비활성화해도 해커가 WordPress 웹사이트를 해킹하려는 시도를 막을 수는 없습니다. 공격을 막으려면 MalCare의 고급 방화벽 플러그인을 대신 설치해야 합니다.

보안문자 또는 2FA가 있습니다. 여전히 XML-RPC를 사용하여 비밀번호를 해독할 수 있나요?

Captcha 및 2FA(2단계 인증) 플러그인은 추가 보안을 위한 것입니다. XML-RPC 해킹에 대한 실질적인 보호를 제공하지 않습니다.

대부분의 보안 문자 및 WordPress 2FA 플러그인은 XML-RPC 스크립트가 아닌 WordPress 로그인 페이지만 보호합니다. 보안 플러그인이 XML-RPC를 통한 로그인을 방지하는지 다시 확인하십시오.

악의적인 IP 주소를 차단할 수 있나요?

이것은 명백한 솔루션처럼 보입니다. 해커의 IP 주소를 차단하면 안전합니다.

이 아이디어를 가지고 놀지 마십시오. 해커들과 두더지 잡기 게임을 하는 것과 같습니다. 그들은 IP 주소를 계속 변경하고 다른 IP 주소를 사용하여 사이트를 공격합니다. 끝이 없습니다.

MalCare의 방화벽과 같은 것이 도움이 될 수 있습니다. 국가 또는 장치에서 악성 IP를 자동으로 차단하는 Bot Protection과 함께 제공됩니다. 고급 방화벽은 네트워크의 250,000개 이상의 사이트에서 학습하고 공격을 시작하기도 전에 봇과 악성 IP를 인식합니다. 사이트 속도 저하 없이 이 모든 것이 가능합니다.

그럼에도 불구하고 영원히 한 번에 하나씩 악성 IP를 차단하고 싶다면 이 문서가 도움이 될 것입니다.

XML-RPC 파일만 삭제할 수 없나요? WordPress에서 더 이상 사용하지 않습니다.

이렇게 하지 마십시오. XML-RPC 파일이 누락된 경우에도 사이트에 연결을 시도하는 봇에 의해 사이트가 계속 과부하됩니다. 더 큰 위험은 WordPress 코어 파일을 삭제하면 사이트가 완전히 망가질 수 있다는 것입니다.

최악의 부분은 xmlrpc.php가 다음 WordPress 업데이트 중에 다시 설치되어 파일 삭제 목적을 무효화한다는 것입니다.