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

워드프레스 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

  • 워드프레스 호스팅 FastComet 성능 평가(Extra Plan $4.99)

    3년 전에 FastComet 호스팅을 일본 서버에서 1년 넘게 사용한 적이 있었기 때문에 이번에 여러가지 용도로 사용할 워드프레스 사이트를 추가하면서 신규 신청을 하게 되었습니다. 신청한 상품은 FastComet Extra 상품으로 신청 후 PHP 8.3에서 8.4로 업데이트 등 워드프레스 사이트 성능을 올리기 위한 작업을 모두 진행했습니다. 테스트는 워드프레스 최적화 플러그인 Perfmatters와 캐시 플러그인 WP Rocket 설치…

  • [WP] 워드프레스 파비콘(Favicon) 설정하기

    파비콘(Favicon)은 즐겨 찾기와 아이콘의 합성어 [favorites + icon]로 만들어 졌습니다. 보통 웹사이트 브랜드나 로고의 간결한 버전이나 웹사이트를 대표하는 이미지를 나타내며, 사용자가 해당 웹사이트를 쉽게 식별할 수 있도록 도와 줍니다. 파비콘은 주로 웹사이트의 루트 디렉터리에 “favicon.ico”라는 파일 이름으로 저장됩니다. 브라우저는 이 아이콘을 자동으로 로드하여 사용자에게 표시합니다. 또한, 파비콘은 웹사이트의 다양한 페이지에서 사용될 수 있으며,…

  • 워드프레스 번역 플러그인 5가지 비교

    워드프레스는 전 세계에서 가장 인기 있는 CMS 중 하나로, 우커머스를 통한 쇼핑몰부터 기업 웹사이트, 블로그까지 다양한 형태로 사용되고 있습니다. 워드프레스에서는 다양한 번역 플러그인이 존재하며, 워드프레스 번역 플러그인은 손 쉽게 다국어 사이트를 만들 수 있습니다. 그 중에 주목할 만한 5개의 플러그인을 비교하여, 차후 운영하는 이 웹사이트가 워드프레스 번역 플러그인을 사용한다면, 어느 플러그인을 사용해야 할…

  • 워드프레스 호스팅: 안정성 및 속도를 반영한 5가지 평가 항목

    워드프레스 사이트 구축을 계획하고 있다면, 먼저 도메인 구매와 함께 적합한 호스팅 서비스를 선택하는 것이 중요합니다. 호스팅은 웹사이트의 안정성과 속도에 직접적인 영향을 미치기 때문에, 내 사이트 목적과 규모에 맞는 호스팅을 신중히 고르는 것이 성공의 첫걸음입니다. 워드프레스 호스팅에 맞는 호스팅을 선택할 때 고려해야 할 5가지 핵심 평가 항목을 안내드립니다. 목차1. 워드프레스 xmlrpc.php란?2. xmlrpc.php 취약점3. 워드프레스…

  • [WP] 워드프레스 글 페이지 차이

    워드프레스를 처음 후 운영하게 되면 글(Post)과 페이지(Page) 차이가 어려워 혼동을 겪는 경우가 많습니다. 워드프레스 글 페이지 차이가 무엇인지 명확히 알아 보도록 하겠습니다. 워드프레스 포스트(글)은 워드프레스에서 제공하는 가장 기본적인 글 형식입니다. 동적인 콘텐츠이며 반대로 페이지는 정적인 콘텐츠입니다. 목차1. 워드프레스 xmlrpc.php란?2. xmlrpc.php 취약점3. 워드프레스 XML-RPC 비활성화 방법3.1 수동으로 비활성화 하기3.2 워드프레스 플러그인 사용4. 결론1. 워드프레스…

  • WP-Cron(wp-cron.php): 비활성화 및 시스템 크론 설정 | 워드프레스 성능 최적화

    워드프레스에서 Cron 작업은 특정 시간이나 날짜에 예약된 작업을 자동으로 수행하는 기능입니다. 이 작업은 wp-cron.php 파일을 통해 실행되며, 워드프레스는 페이지가 로드 될 때마다 이 파일을 호출하여 예약된 작업을 처리합니다. 이러한 방식은 간편하지만, 트래픽이 많은 사이트에서는 성능 저하를 유발할 수 있습니다. 목차1. 워드프레스 xmlrpc.php란?2. xmlrpc.php 취약점3. 워드프레스 XML-RPC 비활성화 방법3.1 수동으로 비활성화 하기3.2 워드프레스 플러그인…