친절한 우리 고모

친절한 고모의 친절한 이야기

  • 2025. 4. 29.

    by. 친절한 고모

    목차

      🔐 워드프레스는 기본적으로 공격 표적이 되기 쉽다

      워드프레스는 전 세계 웹사이트의 43%를 차지합니다.
      그만큼 해커들에게도 매력적인 공격 대상이 됩니다.

      ✅ XML-RPC 공격
      ✅ REST API 취약점
      ✅ 로그인 페이지 브루트포스 공격
      ✅ 플러그인/테마 취약점

      👉 기본 설치만으로는 안전하지 않습니다.


      ✅ XML-RPC 차단하기

      XML-RPC는 예전 모바일 앱, 핑백/트랙백 기능 등에 사용되었지만,
      현재는 디도스 공격, 무차별 로그인 시도에 악용됩니다.


      방법 1. .htaccess로 완전 차단

      apache
      복사편집
      <Files xmlrpc.php> Order Allow,Deny Deny from all </Files>

      📌 Apache 서버 기준. 요청 자체를 막습니다.


      방법 2. functions.php로 접근 제한

      php
      복사편집
      add_filter('xmlrpc_enabled', '__return_false');

      📌 이 방법은 코드 차원에서 XML-RPC를 비활성화합니다.


      🔒 REST API 접근 제한

      REST API는 워드프레스 데이터(JSON)를 외부에 공개합니다.
      기본적으로 누구나 비회원 상태로 /wp-json/wp/v2/posts 요청 가능.

      👉 민감한 정보 보호를 위해 제한이 필요합니다.


      1. 비회원 REST API 차단 (functions.php)

      php
      복사편집
      add_filter('rest_authentication_errors', function($result) { if (!is_user_logged_in()) { return new WP_Error('rest_forbidden', '로그인이 필요합니다.', array('status' => 401)); } return $result; });

      ➡ 로그인 사용자만 REST API 접근 허용


      2. 특정 경로만 제한하기 (예: 사용자 정보)

      php
      복사편집
      add_filter('rest_endpoints', function($endpoints) { if (isset($endpoints['/wp/v2/users'])) { unset($endpoints['/wp/v2/users']); } return $endpoints; });

      ➡ /wp/v2/users API 비활성화 → 사용자 목록 노출 방지


      🛡️ 로그인 페이지 보호

      워드프레스 로그인 페이지(wp-login.php)는 항상 고정 주소입니다.
      그래서 무차별 대입 공격(Brute-force)에 취약합니다.


      1. 로그인 시도 횟수 제한 (플러그인 추천)

      • Limit Login Attempts Reloaded
      • Loginizer

      설치 후,

      • 로그인 실패 시 IP 차단
      • 로그인 시도 제한 가능

      2. 구글 reCAPTCHA 추가

      • WPForms, Login No Captcha reCAPTCHA 플러그인 사용
      • 로그인 폼, 댓글 폼, 회원가입 폼에 CAPTCHA 적용

      3. wp-login.php 경로 숨기기

      • WPS Hide Login 플러그인 사용
      • /wp-login.php 대신 /custom-login/처럼 경로 변경

      👉 자동 스캐닝/브루트포스 시도 방어에 매우 효과적


      🔥 실전 보안 강화 추가 팁

      항목설명
      관리자 계정 이름 변경 admin 대신 다른 아이디 사용
      2단계 인증(2FA) 적용 Authenticator 앱 연동
      서버 보안 강화 SFTP, SSH Key 사용
      플러그인/테마 주기적 업데이트 취약점 패치 필수
      백업 시스템 구축 정기적 데이터/DB 백업 필요

      ✅ 워드프레스 고급 보안 점검 체크리스트

      항목완료 여부
      XML-RPC 비활성화 설정 ✅ / ❌
      REST API 접근 제어 적용 ✅ / ❌
      로그인 시도 제한 및 CAPTCHA 적용 ✅ / ❌
      관리자 ID 변경 및 2FA 적용 ✅ / ❌
      주기적 플러그인/테마 업데이트 확인 ✅ / ❌
      서버 및 데이터베이스 백업 완료 ✅ / ❌

      🔐 워드프레스는 기본적으로 공격 표적이 되기 쉽다