워드프레스 로그인 해킹 시도 너무 많을 때 WHM 설정 막는 방법 xmlrpc wp-login 보안 강화
워드프레스를 운영하다 보면 어느 날부터 로그인 실패 알림 메일이 계속 쏟아지거나, 서버 모니터링 화면에서 wp-login.php 요청이 비정상적으로 많아지는 경우가 있습니다. 관리자 페이지는 유독 느려지고, CPU 사용량이 잠깐씩 튀고, 어떤 날은 새벽마다 로그인 시도 로그가 수백 건씩 찍히기도 합니다.
저도 이런 상황을 몇 번 겪어보니 처음에는 단순히 비밀번호 문제인가 싶었는데, 실제로는 워드프레스 로그인 화면 자체를 자동화 봇이 계속 두드리는 경우가 많았습니다. 이때 플러그인만 추가로 올리는 방식도 가능하지만, 이미 워드프레스까지 요청이 들어온 뒤라 PHP 자원을 더 쓰게 되는 경우가 있습니다.

그래서 저는 워드프레스 플러그인보다 먼저 WHM에서 막을 수 있는 부분부터 손보는 편이 더 낫다고 봅니다.
특히 ModSecurity, cPHulk, Host Access Control, Include Editor 조합은 로그인 해킹 시도, xmlrpc 악용, 관리자 포트 노출을 각각 다른 층에서 줄여주는 방식이라 실제 운영에서 체감이 좋았습니다.
Cloudflare + WHM(cPanel) + ModSecurity + cPHulk 해외 로그인 공격(Brute Force) 차단
Cloudflare + WHM(cPanel) + ModSecurity + cPHulk로 해외 로그인 공격(Brute Force) 막은 실전 설정값 정리최근 워드프레스 사이트 운영 중 해외 IP에서 로그인 시도(무차별 대입, Brute Force)가 하루 수천~1만 건 단
jab-guyver.co.kr
이번 글은 워드프레스 로그인 해킹 시도가 너무 많을 때 WHM에서 먼저 적용해 볼 수 있는 가장 안전한 5가지 조합을 기준으로 정리했습니다. 특히 어떤 증상일 때 어떤 설정이 맞는지, 그리고 실수하면 내가 먼저 막히는 설정은 무엇인지까지 같이 보겠습니다.
워드프레스 로그인 해킹 시도 많을 때 먼저 나타나는 문제 증상
보통 아래 같은 증상이 반복되면 단순한 로그인 실수가 아니라 브루트포스 공격 또는 자동화 봇 요청을 의심해 볼 수 있습니다.
- 관리자 로그인 실패 알림 메일이 짧은 시간에 여러 번 들어오는 경우
- 서버 로그에 wp-login.php 또는 xmlrpc.php 요청이 과도하게 찍히는 경우
- 관리자 페이지 접속은 되지만 유난히 느리고 간헐적으로 버벅이는 경우
- 새벽 시간대 CPU, 메모리, 동시 접속 수가 비정상적으로 튀는 경우
- 실제 로그인 성공은 없는데 로그인 시도 횟수만 계속 증가하는 경우
- 보안 플러그인 없이도 서버 부하가 올라가거나 403, 429 응답이 간헐적으로 보이는 경우
핵심은 로그인 해킹이 꼭 계정 탈취로만 끝나는 게 아니라는 점입니다. 비밀번호를 못 맞추더라도 로그인 화면을 계속 두드리면 서버 자원을 소모하게 되고, 방문자가 많은 시간대에는 체감 성능까지 떨어질 수 있습니다.
플러그인보다 WHM 설정이 먼저인 이유
많은 분들이 가장 먼저 로그인 시도 제한 플러그인을 설치합니다.

물론 그것도 방법이지만, 워드프레스 안쪽에서 동작하는 구조라면 이미 PHP가 실행된 뒤에 판단하는 경우가 많습니다.
반면 WHM이나 Apache, WAF 계층에서 먼저 막으면 워드프레스까지 요청이 깊게 들어오기 전에 걸러낼 수 있어 부하 측면에서 더 유리합니다.
쉽게 말해 플러그인은 현관문 안쪽에서 막는 방식이고, WHM 설정은 건물 입구에서 먼저 걸러내는 방식에 가깝습니다.
공격량이 적을 때는 둘 다 버틸 수 있지만, 로그인 시도가 계속 쌓일수록 저는 서버단 방어가 훨씬 낫다고 느꼈습니다.
WHM에서 가장 안전하게 적용하기 좋은 5가지 조합
| 설정항목 | 목적 | 추천도 | 주의할 점 |
| ModSecurity + OWASP CRS | 웹 요청을 서버단에서 먼저 걸러냄 | 매우 높음 | 간혹 정상 요청이 오탐으로 403 처리될 수 있음 |
| cPHulk | WHM, cPanel, 메일, FTP, SSH 브루트포스 방어 | 높음 | 내 IP 화이트리스트 등록 안 하면 본인이 잠길 수 있음 |
| Host Access Control | WHM, SSH 등 관리 포트 접근 제한 | 높음 | 허용 규칙보다 거부 규칙을 먼저 넣으면 접속이 끊길 수 있음 |
| xmlrpc.php 차단 | 워드프레스 XML-RPC 악용 차단 | 매우 높음 | Jetpack, 모바일 앱, 원격 발행 기능 사용 시 확인 필요 |
| wp-login.php IP 제한 | 허용된 IP에서만 로그인 허용 | 조건부 | 고정 IP가 아닐 때는 본인이 로그인 못 할 수 있음 |
1. ModSecurity와 OWASP CRS부터 먼저 켜야 하는 이유
WHM에서 가장 먼저 적용할 만한 설정은 ModSecurity입니다.

이건 웹서버 앞단에서 요청 패턴을 보고 이상한 접근을 걸러내는 역할을 합니다. 워드프레스 로그인 시도가 많을 때도, 플러그인보다 먼저 이 계층에서 걸러낼 수 있다는 점이 큽니다.
워드프레스 & WHM 보안 서치콘솔 오류부터 외부 유입 차단까지
검색 엔진 최적화(SEO)와 서버 보안을 동시에 잡는 1%의 설정 디테일 워드프레스 운영 중 구글 서치콘솔에서 "robots.txt가 유효하지 않음"이나 "REST API 403 오류" 메일을 받으셨나요? 혹은 댓글창을 껐
jab-guyver.co.kr
WHM에서는 보통 EasyApache 4에서 ModSecurity 모듈을 확인하고, ModSecurity Vendors에서 OWASP CRS 규칙 세트를 적용하는 식으로 구성합니다.

저는 이 단계가 가장 체감이 컸는데 특히 무작위 로그인 시도나 비정상 요청이 몰릴 때, 워드프레스 관리자 속도 저하가 확 줄어드는 경우가 많았습니다.
적용 경로
WHM > Software > EasyApache 4
WHM > Security Center > ModSecurity Vendors
WHM > Security Center > ModSecurity Configuration
로그는 너무 과하게 남기지 말고, 중요 거래만 기록하는 쪽이 무난합니다.
모든 요청을 다 기록하면 로그 파일이 금방 커지고, 나중에는 보안보다 관리가 더 피곤해질 수 있습니다.
2. cPHulk는 꼭 켜되 워드프레스 로그인 전용이라고 생각하면 안 되는 이유
cPHulk는 이름 때문에 워드프레스 로그인까지 전부 막아줄 것처럼 느껴질 수 있지만, 실제 역할은 조금 다릅니다.
이 기능은 WHM, cPanel, 메일, FTP, SSH 같은 서버 서비스 로그인 방어에 더 가깝습니다.

그래서 저는 cPHulk를 워드프레스 보안의 핵심이라기보다 서버 관리면 보호 장치로 보는 편입니다.
그래도 꼭 켜두는 게 좋습니다. 특히 루트 로그인, WHM 접속, 메일 계정 인증 쪽은 브루트포스 공격 대상이 되기 쉽기 때문입니다.
다만 여기서 제일 중요한 건 내 공인 IP를 먼저 화이트리스트에 넣는 것입니다.
Fail2ban 무차별 로그인 공격 화이트리스트 Apache Postfix 추가
블루호스트 VPS Fail2ban 무차별 로그인 공격 막는 법 화이트리스트 Apache Postfix까지워드프레스 운영하다 보면 wp-login.php로 무단로그인 시도가 끝도 없이 들어올 때가 있습니다. 플러그인으로 제한
jab-guyver.co.kr
이걸 빼먹으면 서버를 지키려다 내가 먼저 쫓겨나는 묘한 상황이 생길 수 있습니다.
적용 경로
WHM > Security Center > cPHulk Brute Force Protection
Whitelist Management에서 현재 사용하는 공인 IP를 먼저 추가한 뒤 활성화하는 것이 안전합니다.
3. Host Access Control은 WHM과 SSH만 먼저 조이는 것이 현실적
Host Access Control은 특정 서비스에 대해 어떤 IP만 허용할지, 어떤 IP를 거부할지 정하는 기능입니다.
이걸 잘 쓰면 WHM과 SSH를 특정 IP에서만 접속 가능하게 만들 수 있습니다.
여기서 중요한 건 워드프레스 사이트 전체에 과하게 적용하지 않는 것입니다.

일반 사이트 트래픽까지 막기 시작하면 운영이 꼬이기 쉽습니다. 저는 보통 WHM과 SSH만 제한하는 쪽을 먼저 추천합니다. 집이나 회사 IP가 거의 고정이라면 체감 보안이 꽤 좋아집니다.
적용 경로
WHM > Security Center > Host Access Control
허용 규칙을 먼저 넣고, 그 다음에 전체 거부 규칙을 넣어야 합니다. 순서를 반대로 넣으면 진짜 순식간에 본인 접속까지 끊길 수 있습니다.
4. xmlrpc.php 차단 효과?
워드프레스 로그인 시도가 많을 때 많이 놓치는 부분이 바로 xmlrpc.php입니다.
로그인 화면만 보는 것이 아니라, XML-RPC 쪽을 이용해 반복 요청을 넣는 경우도 적지 않습니다. 그래서 이 파일을 사용하지 않는 사이트라면 차단하는 것만으로도 체감이 큰 경우가 있습니다.

특히 블로그 운영 위주이고, Jetpack 원격 기능이나 워드프레스 모바일 앱, 외부 퍼블리싱 기능을 쓰지 않는다면 저는 먼저 이쪽을 의심합니다. 괜히 열어두고 있는 경우가 꽤 많기 때문입니다.
적용 경로
WHM > Service Configuration > Apache Configuration > Include Editor


차단 예시
<LocationMatch "xmlrpc\.php$">
Require all denied
</LocationMatch>
이 설정은 상당히 실속 있는 편이지만, Jetpack이나 워드프레스 앱을 쓰는 경우는 먼저 확인이 필요합니다.

아무 생각 없이 막아두면 나중에 원격 발행이나 연동 기능이 안 되는 일이 생길 수 있습니다.
5. wp-login.php IP 제한은 가장 강력하지만 고정 IP일 때만 권장
이 설정은 말 그대로 정해진 IP에서만 워드프레스 로그인 페이지 접근을 허용하는 방식입니다.
봇이 아무리 많이 와도 로그인 페이지 자체를 보지 못하게 만들 수 있어서 효과는 강력합니다.

다만 이동하면서 접속하거나, 인터넷 회선이 자주 바뀌거나, 모바일 핫스팟으로 접속할 일이 많다면 생각보다 불편합니다. 그래서 저는 이 방법을 고정 IP가 있는 사무실이나 집에서만 관리자 로그인을 하는 경우에만 권합니다.
적용 경로
WHM > Service Configuration > Apache Configuration > Include Editor
적용 예시
<LocationMatch "wp-login\.php$">
Require ip 123.123.123.123
</LocationMatch>
IP가 여러 개라면 줄을 추가해서 허용할 수 있습니다. 다만 IP가 바뀌는 환경이라면 이 설정은 정말 마지막 카드로 남겨두는 편이 낫습니다.
제가 추천하는 가장 안전한 적용 순서
워드프레스 로그인 해킹 시도가 많다고 해서 한 번에 전부 걸어버리면, 보안은 강해질지 몰라도 운영이 꼬일 수 있습니다. 그래서 저는 아래 순서를 추천합니다.
- ModSecurity와 OWASP CRS 적용
- cPHulk 활성화 후 내 공인 IP 화이트리스트 등록
- Host Access Control로 WHM과 SSH만 먼저 제한
- xmlrpc.php 차단 여부 확인 후 적용
- 고정 IP가 있을 때만 wp-login.php 접근 제한 적용
이 순서대로 가면 서버 관리면 보안, 워드프레스 로그인 요청, xmlrpc 악용을 각각 분리해서 정리할 수 있습니다. 실제 운영에서는 이런 식으로 층을 나눠서 막는 편이 훨씬 덜 꼬입니다.
워드프레스 로그인 시도 많을 때 같이 보면 좋은 추가 점검
WHM 설정만으로도 많이 줄일 수 있지만, 아래 항목도 같이 보면 더 좋습니다.
- 관리자 계정 이름을 너무 흔한 이름으로 쓰고 있지 않은지 확인
- 2단계 인증을 추가할지 검토
- 사용하지 않는 관리자 계정이나 오래된 플러그인을 정리
- Cloudflare 같은 외부 WAF를 함께 쓸지 검토
- 서버 로그에서 wp-login.php, xmlrpc.php 요청이 실제로 얼마나 줄었는지 확인
저는 개인적으로 WHM에서 먼저 줄일 수 있는 만큼 줄이고, 그 다음에 부족한 부분만 플러그인이나 Cloudflare로 보완하는 방식을 선호합니다. 반대로 처음부터 플러그인을 여러 개 겹쳐 깔면 로그인 화면은 조용해 보여도 서버는 안쪽에서 계속 일하고 있을 수 있습니다.
워드프레스 로그인 해킹 시도가 너무 많을 때는 단순히 로그인 횟수 제한 플러그인 하나 추가하는 것보다, WHM에서 먼저 막을 수 있는 구간을 정리하는 편이 훨씬 효율적입니다.
특히 ModSecurity, cPHulk, Host Access Control, xmlrpc.php 차단, 그리고 고정 IP 환경에서의 wp-login.php 제한까지 단계적으로 적용하면 로그인 공격과 서버 부하를 동시에 줄이기 좋습니다.
저라면 우선 ModSecurity와 xmlrpc.php 차단부터 적용하고, 그다음 cPHulk와 관리 포트 제한을 보겠습니다. 고정 IP가 아니라면 wp-login.php 완전 제한은 조금 더 뒤로 미루는 편이 안전합니다. 보안은 강한 것도 중요하지만, 내가 관리 가능한 수준으로 유지되는 것이 더 중요하기 때문입니다.
자주 묻는 질문
Q. 워드프레스 로그인 시도 차단은 플러그인보다 WHM이 더 좋은가요?
공격 요청이 많은 상황이라면 대체로 WHM이나 웹서버, WAF처럼 서버 앞단에서 먼저 막는 방식이 더 유리합니다. 플러그인은 워드프레스 내부에서 처리되는 경우가 많아 PHP 자원 사용이 늘어날 수 있습니다.
Q. cPHulk만 켜면 워드프레스 로그인 해킹도 충분히 막을 수 있나요?
cPHulk는 WHM, cPanel, 메일, FTP, SSH 보호에 더 가깝습니다. 워드프레스 wp-login.php 요청 자체를 직접 다루는 핵심 도구라고 보기는 어렵기 때문에 ModSecurity나 xmlrpc 차단과 함께 보는 편이 좋습니다.
Q. xmlrpc.php는 무조건 막아도 되나요?
Jetpack, 워드프레스 모바일 앱, 일부 원격 발행 기능을 사용하지 않는다면 차단해도 되는 경우가 많습니다. 다만 관련 기능을 쓰는 사이트는 차단 전 확인이 필요합니다.
Q. wp-login.php IP 제한은 누구에게 적합한가요?
고정 IP 환경에서만 주로 접속하는 관리자에게 적합합니다. 외부에서 자주 접속하거나 IP가 자주 바뀌는 환경이라면 본인도 로그인하지 못할 수 있어 주의가 필요합니다