워드프레스 안전장치 직접 설정하기

워드프레스 안전장치 설정에 대한 정보입니다. 지난 글에서 로그인 주소를 바꾸고 OTP를 적용하니 Wordfence 로그에 찍히던 해외발 공격 시도가 거짓말처럼 사라진 것을 확인했습니다.

이번에는 그 방어망을 한 단계 더 촘촘하게 만들어줄 두 가지 조치를 다루려고 합니다. 바로 ① XML-RPC 기능 끄기, ② Wordfence의 무차별 대입 공격 방어 설정입니다. 두 가지 워드프레스 안전장치 모두 특별한 개발 지식 없이도 초보자가 하나씩 따라 할 수 있는 수준이니, 순서대로 천천히 적용해보시기 바랍니다.

1. 워드프레스 안전장치 XML-RPC 기능 자체를 꺼두기

1-1. XML-RPC가 뭐길래 꺼야 할까

XML-RPC는 워드프레스가 외부 프로그램(과거의 블로그 작성 앱, 일부 모바일 앱, 핑백/트랙백 기능 등)과 통신하기 위해 만들어둔 오래된 기능입니다. 내사이트주소/xmlrpc.php라는 파일이 바로 그 통로인데, 문제는 이 파일이 한 번의 접속으로 수백~수천 개의 아이디·비밀번호 조합을 몰아서 시도할 수 있게 해주는 구조를 가지고 있다는 점입니다.

일반적인 로그인 페이지는 한 번에 한 조합만 시도할 수 있지만, XML-RPC의 system.multicall 기능을 악용하면 공격자가 한 번의 요청 안에 수백 개의 비밀번호 조합을 담아 보낼 수 있어, 훨씬 빠른 속도로 브루트포스 공격을 할 수 있게 됩니다. 지난 글의 스크린샷에서 미국 오리건 IP가 xmlrpc.php로 접속을 시도했던 것이 바로 이런 공격의 흔적입니다.

요즘은 워드프레스 모바일 앱이나 외부 연동 서비스를 특별히 쓰는 경우가 아니라면 XML-RPC를 사용할 일이 거의 없습니다. 즉 대부분의 개인·소상공인 사이트에서는 꺼두어도 아무런 불편함이 없는, 위험만 있고 실익은 없는 기능인 셈입니다.

워드프레스 안전장치가 설정이 되지 않은 상태
워드프레스 안전장치가 설정되지 않은 장면

1-2. 방법 1 — 플러그인으로 간단하게 끄기

가장 쉬운 방법은 전용 플러그인을 설치하는 것입니다.

  1. 워드프레스 관리자 화면 좌측 메뉴에서 플러그인 → 새로 추가로 이동합니다.
  2. 검색창에 Disable XML-RPC-API(또는 Disable XML-RPC) 를 입력합니다.
  3. 검색 결과에서 해당 플러그인을 찾아 설치 → 활성화를 누릅니다.
  4. 대부분 별도의 설정 없이 활성화만 해도 즉시 XML-RPC 요청이 차단됩니다.

1-3. 방법 2 — Wordfence 방화벽으로 끄기 (플러그인 추가 설치 없이)

이미 설치되어 있는 Wordfence만으로도 같은 효과를 낼 수 있습니다.

  1. 워드프레스 좌측 메뉴에서 Wordfence → 방화벽으로 들어갑니다.
  2. 모든 방화벽 옵션을 클릭합니다.
  3. 고급 방화벽 옵션을 펼칩니다.
  4. “이러한 URL에 액세스하는 IP를 즉시 차단” 입력창에 아래처럼 한 줄로 추가합니다./xmlrpc.php
  5. 화면 상단(또는 하단)의 변경 사항 저장 버튼을 눌러 반영합니다.

이 방법은 XML-RPC 요청을 단순히 무시하는 데서 그치지 않고, 그 주소로 접근한 IP 자체를 즉시 차단해버리기 때문에 보안 효과가 더 강력합니다.

1-4. 방법 3 — 코드로 직접 끄기(테마 functions.php 활용)

플러그인을 더 늘리고 싶지 않은 분들을 위한 방법입니다. 다만 이 방법은 테마가 업데이트되면 코드가 초기화될 수 있으므로, 반드시 **자식 테마(child theme)**의 functions.php에 추가하시는 것을 권장합니다.

add_filter('xmlrpc_enabled', '__return_false');

이 한 줄을 자식 테마의 functions.php 파일 맨 아래에 추가하면 XML-RPC 기능이 비활성화됩니다. 코드 수정이 낯설게 느껴진다면 무리하지 마시고 1-2 또는 1-3에서 소개한 방법을 사용하시는 것이 안전합니다.

1-5. 잘 꺼졌는지 확인하는 방법

설정 후에는 브라우저 주소창에 내사이트주소/xmlrpc.php를 직접 입력해보세요. 정상적으로 차단되었다면 Wordfence의 차단 안내 화면이나 403(접근 금지) 오류가 표시됩니다. 예전처럼 “XML-RPC server accepts POST requests only.”라는 문구가 그대로 뜬다면, 이는 XML-RPC가 여전히 살아있다는 뜻이니 설정을 다시 확인해야 합니다.

워드프레스 안전장치 가동
워드프레스 안전장치가 가동된 상태

2. 워드프레스 안전장치 Wordfence 무차별 대입 공격 방지 설정

2-1. 왜 필요한가

로그인 주소를 바꾸고 OTP를 걸어두면 대부분의 공격이 막히지만, 만에 하나 새 주소가 알려지거나 내부 관계자를 통해 유출되는 경우까지 대비하려면 로그인 시도 횟수 자체를 제한하는 안전장치가 하나 더 있어야 합니다. 실패한 로그인이 일정 횟수를 넘으면 해당 IP를 아예 접속하지 못하게 잠가버리는 기능입니다.

2-2. 설정 경로 찾기

  1. 워드프레스 관리자 화면 좌측 메뉴에서 Wordfence → 방화벽으로 들어갑니다.
  2. 모든 방화벽 옵션을 클릭하면 “Wordfence 전역 옵션”, “방화벽 옵션”, “차단 옵션” 등으로 구분된 전체 옵션 목록 페이지가 열립니다.
  3. 방화벽 옵션 그룹 안에서 무차별 대입 공격 방지 항목을 찾아 클릭해 펼칩니다. (순서상 “고급 방화벽 옵션” 바로 아래, “속도 제한” 바로 위에 있습니다)

참고로 화면 하단에는 **”로그인 보안 옵션”**이라는 바로가기 버튼도 별도로 있는데, 이걸 눌러도 관련 설정 페이지로 이동할 수 있습니다. 둘 중 편한 경로로 들어가시면 됩니다.

2-3. 꼭 확인해야 할 세부 항목

이 섹션 안에는 여러 세부 옵션이 있는데, 초보자 기준으로 아래 항목들만 확실히 챙겨두면 충분합니다. (한글 화면 기준 명칭으로 안내합니다)

  • 무차별 대입 공격 방지 활성화: 반드시 켜져 있어야 합니다. 이 스위치가 꺼져 있으면 아래 모든 설정이 무의미해집니다. (지난 화면에서 우측 상단 원형 게이지가 “100%”로 표시되어 있었다면 이미 켜져 있는 상태입니다)
  • 로그인 실패 허용 횟수 (몇 회 실패 시 잠글지): 기본값은 보통 20회로 되어 있는데, 이는 다소 관대한 편입니다. 개인 사이트라면 5~6회 정도로 낮춰두는 것을 권장합니다.
  • 비밀번호 찾기 시도 허용 횟수: 비밀번호 재설정 기능도 공격에 악용될 수 있으므로 이 값도 함께 낮춰둡니다. 보통 5회 이내로 설정합니다.
  • 실패 횟수를 집계할 기간: 예를 들어 “5분 동안 5회 실패”처럼 일정 시간 내의 실패만 집계하도록 하는 항목입니다. 너무 길게 잡으면 정상적인 사용자가 비밀번호를 몇 번 헷갈렸을 때도 잠길 수 있으니 5분~1시간 사이가 무난합니다.
  • 잠금 유지 시간: 기준을 넘긴 IP를 얼마나 오래 차단할지 정합니다. 초보자라면 넉넉하게 24시간 정도로 설정해두는 것이 관리하기 편합니다.
  • 잘못된 사용자명은 즉시 잠금: 이 옵션을 켜두면, 애초에 존재하지도 않는 아이디(예: admin, test 등)로 로그인을 시도하는 경우 실패 횟수를 셀 것도 없이 곧바로 차단합니다. 매우 효과적인 옵션이므로 꼭 켜두시길 권합니다.
  • 데이터 침해시 유출된 암호 사용 방지: 이미 다른 사이트 해킹 사고 등을 통해 공개적으로 유출된 적 있는 비밀번호는 아예 사용하지 못하도록 막아주는 기능입니다. 회원가입 기능이 있는 사이트라면 특히 유용합니다.
  • 나머지는 기본적으로 설정된 것을 그대로 두어도 무방합니다.

모든 항목을 설정한 뒤에는 화면 상단(또는 하단)의 변경 사항 저장 버튼을 반드시 눌러야 적용됩니다.

2-4. 설정 후 확인하는 법

설정을 마친 뒤 일부러 틀린 비밀번호로 로그인을 여러 번 시도해보면, 설정한 횟수를 넘기는 순간 “너무 많은 로그인 실패로 잠겼습니다”라는 안내 메시지가 뜨는 것을 확인할 수 있습니다.

이렇게 직접 테스트를 해보면 실제로 잘 작동하는지 눈으로 확인할 수 있어 안심이 됩니다. (테스트 후에는 본인 IP가 계속 잠겨있지 않도록, Wordfence 상단 메뉴의 “차단” 탭 → IP 주소 목록에서 본인 IP가 차단되어 있는지 확인하고, 있다면 해제해주세요.)

3. 마무리 — 두 가지 워드프레스 안전장치가 만드는 방어선

정리하면, 이번에 다룬 워드프레스 안전장치 두 가지 조치는 각각 다른 층위에서 사이트를 지켜줍니다.

  • XML-RPC 비활성화는 공격자가 대량의 비밀번호 조합을 한 번에 시도할 수 있는 ‘뒷문’을 아예 없애버리는 조치입니다.
  • Wordfence 무차별 대입 공격 방지는 설령 누군가 로그인 페이지를 찾아냈더라도, 몇 번의 실패 안에 그 시도 자체를 봉쇄해버리는 ‘초인종 응답 제한’ 역할을 합니다.

지난 글에서 확인했던 로그인 주소 변경과 OTP가 ‘누가 들어오지 못하게 막는 방법’이었다면, 오늘 소개한 두 가지 워드프레스 안전장치는 그 방어를 한층 더 두텁게 만들어주는 조치라고 할 수 있습니다.

두 가지 워드프레스 안전장치 모두 특별한 서버 지식 없이도 관리자 화면만으로 충분히 적용할 수 있으니, 오늘 하나씩 순서대로 따라 해보시고 내 사이트의 방어선을 한층 더 튼튼하게 만들어보시기 바랍니다.

함께보면 좋은 글