[WP] 워드프레스 XML-RPC 취약점과 비활성화 해야 하는 이유 2가지

공정위 광고 문구 Ver 2.0

워드프레스 xmlrpc.php는 보안 문제가 발생합니다. xmlrpc.php 파일을 이용한 워드프레스 사이트에 대한 무차별 대입 공격이 문제입니다.

xmlrpc.php 취약점으로 많은 워드프레스 유저에게 알려진 문제이기도 합니다. ‘XML-RPC‘의 기본 기능 및 활용성과 문제가 되는 이유에 대해 알아 보겠습니다.

1. 워드프레스 xmlrpc.php란?

xmlrpc.php 파일은 HTTP가 전송 메커니즘으로 작동합니다. XML이 인코딩 메커니즘으로 작동하여 데이터를 전송할 수 있는 WordPress의 기능입니다. 다른 시스템(다른 블로그 or 앱)과 통신하기 위한 작업을 처리하기 위해 만들어진 파일인 것이지요.

컴퓨터가 근처에 없을 때 모바일 장치에서 사이트에 글을 게시하기 위해 'xmlrpc.php'의 활성화 된 원격 엑세스 기능을 사용할 수 있습니다. 인터넷이 느리던 시절 워드프레스 사이트에 게시글을 작성하는데는 시간이 걸렸습니다.
이와 같은 이유로 오프라인 상태의 앱 등에서 글을 작성 후 글을 보내는 것이 XML-RPC의 목적이었던 것입니다. 다른 장치에서 로그인 하는 방법은 편리했지만 현재는 거의 사용하지 않는 기능이 되었습니다.
워드프레스

2. xmlrpc.php 취약점

XML RPC는 어떤 취약점을 가지고 있는지 알아 보겠습니다.

무차별 대입 공격으로 워드프레스 admin으로 추정되는 아이디로 로그인 시도를 합니다.. 워드프레스 관리자 페이지 주소가 정해져 있기에 수백 가지 서로 다른 암호를 대입해 사이트의 해킹하려고 할 수 있습니다.

핑백을 이용한 DDoS 공격을 시도하여 사이트를 오프라인 상태로 마비시킬 수 있습니다. xmlrpc.php의 기능이 해커에게 DDoS 공격을 할 수 있는 경유지로 이용되며 사이트 속도에 영향을 주기 때문에 SEO에 악 영향을 주게 됩니다.

3. 워드프레스 XML-RPC 비활성화 방법

비활성화 하는 방법은 크게 두 가지가 있습니다. 제트팩과 같은 일부 플러그인은 xmlrpc의 기능을 사용하기 때문에 비활성화 할 경우 플러그인이 작동하지 않아 사이트의 특정 기능이 작동하지 않을 수 있습니다.

3.1 수동으로 비활성화 하기

.htaccess 파일에서 비활성화 하는 방법입니다.

# BEGIN protect xmlrpc.php
<files xmlrpc.php>
order allow,deny
deny from all
</files>
# END protect xmlrpc.php

차일드 테마 function.php 파일에 적용하는 방법입니다.

add_filter('xmlrpc_enabled', false);

아파치 서버의 httpd.conf에서 비활성화 하는 방법입니다.

<Files xmlrpc.php>
Require all denied
#ErrorDocument 403 /403.html
</Files>

3.2 워드프레스 플러그인 사용

xmlrpc.php를 차단하는 플러그인을 사용할 수 있습니다. 워드프레스 대시보드에서 [플러그인] > [추가]로 이동한 후 ‘XML-RPC-API’를 검색하면 차단할 수 있는 많은 플러그인을 확인할 수 있습니다.

거의 단일 기능만 제공하는 플러그인을 사용하기 보단 보안 플러그인을 사용하는 것이 더 나은 선택일 수 있습니다.
‘wordfence’ or ‘ithemes security’와 같은 보안 플러그인의 기능에는 xmlrpc.php를 비활성화 하는 기능이 포함되어 있습니다.

워드프레스 xmlrpc.php 취약점-XML-RPC

4. 결론

xmlrpc 취약점으로 인해 xmlrpc의 원격 기능은 거의 사용되지 않으며, WordPress 사이트 소유자에게 장점 보다는 단점이 많습니다. 안전한 사이트 유지를 위해 Jetpack 플러그인과 같이 xmlrpc.php를 사용하는 것이 아닌 경우 비활성화 하는 것이 정답입니다.

시간이 지나면 워드프레스에서 xmlrpc.php의 기능을 삭제 할지도 모릅니다. 거의 쓸모 없는 기능이기 때문입니다. 보안이 강화된 새로운 워드프레스 API에 xmlrpc의 기능이 통합되는 것도 예상할 수 있습니다.

워드프레스 작업

Similar Posts

  • [WP] 워드프레스 렌더링 차단 리소스 제거 방법 2가지

    워드프레스를 이용하다 보면 ‘렌더링 차단 리소스 제거‘ 설정이란 내용을 플러그인 사용 중 본 경우가 있을 수 있습니다. 워드프레스 렌더링이란 무엇이며, ‘렌더링‘과 ‘렌더링 차단 리소스 제거‘는 무엇을 뜻 하는지 풀어 보도록 하겠습니다. 먼저 렌더링은 HTML, CSS, 자바스크립트 등 웹 사이트의 문서가 웹 브라우저에서 출력 되는 과정입니다. 웹 페이지에 접속 했을 때 브라우저에 표시되는 것이…

  • HostAdvice research-호스팅 업체 TOP 10을 찾기 위한 리뷰 사이트

    공유 호스팅 or VPS 호스팅 등 좋은 호스팅 업체를 찾는 일이란 쉬운 일이 아닙니다. 인터넷에서 수익을 창출하는 회사는 안정적이며 빠른 서버 2가지 요소가 필수입니다. HostAdvice는 안정적이며 신뢰할 수 있는 해외 호스팅 업체 순위를 비교하고 찾는데 TrustPilot 리뷰와 함께 검토하는데 추천할 만한 사이트 중 하나입니다. 좋은 호스팅 업체를 고르기 위해 “Best hosting” 또는 ‘호스팅…

  • [WP] Time to First Byte(TTFB)란? 워드프레스 TTFB 속도 줄이는 방법 5가지

    구글 페이지스피드 인사이트를 테스트 했을 때 지표 중 Time to First Byte(TTFB)를 확인하게 됩니다. ‘첫 번째 바이트까지의 시간’이란 뜻을 가진 TTFB는 브라우저가 요청 후 웹 서버에서 첫 번째 정보를 수신하기까지 브라우저가 대기하는 시간입니다. ‘초기 서버 응답 시간’을 줄이는 것은 페이지스피드 ‘코어 웹 바이탈’의 중요한 권장 사항 중 하나입니다. ‘초기 서버 응답 시간’을 줄이기…

  • 워드프레스 고유주소(Permalink)와 슬러그

    워드프레스 고유주소(Permalink, 영구링크, 고유링크 등)는 도메인 뒤에 붙는 게시물이나 페이지의 전체 URL 주소를 제공합니다. 특정 콘텐츠에 엑세스하는 데 사용되는 Permalink는 워드프레스 콘텐츠의 영구적인 주소로써 URL이 필요한 모든 워드프레스 콘텐츠에 사용됩니다. 워드프레스 고유주소 일반설정을 사용하면 안되는 이유 워드프레스를 처음 설치하고 고유주소 설정에 들어가게 되면 일반 설정으로 기본 세팅이 되어 있습니다. 워드프레스를 설치했다면 [일반] 설정…

  • Autoptimize: 워드프레스 최적화 플러그인

    워드프레스 성능 향상을 위한 방법으로 캐시 플러그인 외 최적화 플러그인 설치를 고려할 수 있습니다. 대표적인 성능 향상 플러그인으로 Autoptimize, Asset CleanUp, Perfmatters 이 세 가지 플러그인을 들 수 있습니다. 3개의 플러그인은 코드 및 리소스 최적화 분야에서 가장 대표적으로 언급되는 워드프레스 성능 향상 플러그인들입니다. 캐시 플러그인은 페이지 로딩 속도를 빠르게 하기 위해 서버 부담을…

  • TLS/SSL 보안인증서 종류(형식) 4가지와 기능

    SSL 인증서의 목적은  웹 사이트에 접속하기 전 기존 HTTP 프로토콜에서 HTTPS 프로토콜로 변경이 되면서 전송 된 데이터를 암호화 하여 데이터를 보호하는 목적을 가지고 있습니다. 이번에 TLS(SSL) 인증서의 종류에 대해 알아 보겠습니다. SSL 보안인증서 종류는 크게 싱글(Single)인증서, 멀티(Multi) 인증서, 와일드카드(WildCard), 엔터프라이즈(EnterPrise) 인증서 4개로 볼 수 있습니다. SSL 인증서 종류에 따라 어떤 점이 다른지 기능들을 살펴…