워드프레스 무차별 대입 공격(Brute Force Attack)은 성공 여부와 관계없이 그 자체만으로도 웹사이트에 심각한 부담을 주는 위협입니다.
많은 사이트 운영자가 서버 리소스가 급속히 고갈되고, 사이트가 응답하지 않거나 아예 다운되는 경험을 하며, 정상적인 사용자마저 로그인하지 못하는 상황을 겪습니다. 봇이 로그인 페이지를 끊임없이 두드리며 wp-admin 진입을 시도하는 동안, 운영자는 어쩔 수 없이 지켜볼 수밖에 없는 절망감이 더욱 큽니다.
하지만 결코 방관할 수밖에 없는 문제가 아닙니다. 특정 사용자 계정으로 여러 번의 로그인 실패 기록이 쌓이고, 여러 IP에서 동시에 시도가 들어온다면 지금 바로 조치해야 할 때입니다.
이 글에서는 워드프레스 무차별 대입 공격의 실체를 파헤치고, 웹사이트를 효과적으로 보호하는 구체적인 방법까지 안내합니다.
워드프레스 무차별 대입 공격이란?
워드프레스 무차별 대입 공격이란 다양한 사용자명과 비밀번호 조합을 반복적으로 시도하여 wp-admin에 무단으로 접근하려는 시도를 말합니다. 해커는 이를 위해 로그인 페이지에 자격 증명을 끊임없이 쏟아붓는 봇을 만들어 사용합니다.
봇은 흔히 사전에 수록된 비밀번호 목록을 순서대로 시도하기 때문에 '사전 공격(Dictionary Attack)' 또는 '비밀번호 추측 공격'이라고도 불립니다. 공격자는 여러 IP 주소에서 요청을 보내도록 설정해 기본적인 보안 조치를 우회할 수 있으며, 그 외에도 다양한 유형의 무차별 대입 공격이 존재합니다(뒤에서 자세히 다룹니다).
무차별 대입 공격의 목표는 wp-admin 접근 권한을 탈취하는 것이고, 성공하면 가장 흔히 사이트에 멀웨어를 설치하게 됩니다.
워드프레스 무차별 대입 공격으로부터 사이트를 보호하는 9가지 방법
무차별 대입 공격을 당하는 일은 매우 불안한 경험입니다. 특히 손을 쓸 방법이 없어 보이기 때문입니다. 게다가 공격의 영향은 즉시 나타납니다. 대부분의 사이트는 서버 리소스가 제한적이라 순식간에 소진되고, 공격 중인 사이트는 완전히 다운되기도 합니다.
다행히도 워드프레스에서 무차별 대입 공격을 예방할 수 있는 방법은 많습니다. 아래의 보호 조치들은 대부분의 공격을 차단하고, 최악의 피해를 줄여줄 것입니다.
1. 로그인 시도 횟수 제한
무차별 대입 공격을 막는 가장 효과적인 방법은 로그인 시도 횟수를 제한하는 것입니다. 잘못된 비밀번호가 일정 횟수 이상 입력되면 해당 계정을 일시적으로 잠그는 방식입니다. 시행착오 방식으로 자격 증명을 추측하는 봇의 공격력을 무력화하고, 수천 가지 조합을 시도하지 못하게 되므로 서버로 전송되는 요청 자체가 줄어들어 리소스 낭비도 막을 수 있습니다.

워드프레스는 기본적으로 로그인 시도 횟수를 무제한 허용하기 때문에 무차별 대입 공격에 취약합니다. MalCare를 사용하면 로그인 제한 기능이 자동으로 활성화됩니다. 실제로 비밀번호를 잊은 정상 사용자라면 캡차를 통과해 간단히 잠금을 해제할 수 있습니다. 즉, 무차별 대입 봇은 차단하면서 실제 사용자에게는 불편을 주지 않는 방법입니다.
자세한 내용은 워드프레스 로그인 시도 횟수 제한 가이드를 참고하세요.
2. 악성 봇 차단
무차별 대입 공격은 거의 항상 봇에 의해 수행됩니다. 봇은 단순한 작업을 반복 수행하도록 설계된 작은 프로그램으로, 무차별 대입 공격에 딱 맞는 도구입니다. 봇은 로그인 페이지에서 일치하는 자격 증명을 찾을 때까지 수많은 조합을 시도합니다.
참고로 전체 웹 트래픽의 25% 이상이 봇에서 발생하기 때문에, 많은 보안 시스템이 봇 차단 기능을 갖추고 있습니다. 그러나 중요한 구분이 필요합니다. 모든 봇이 나쁜 것은 아닙니다. 검색 엔진 크롤러나 가동 시간 모니터링 봇처럼 유익한 봇도 있으며, 이런 봇은 사이트에 접근할 수 있어야 합니다. 따라서 MalCare처럼 악성 봇만 지능적으로 차단하는 봇 보호 기능을 선택하는 것이 중요합니다. All in One 같은 다른 봇 차단 플러그인은 Googlebot까지 포함해 모든 봇을 기본적으로 차단한다는 단점이 있습니다.
3. 웹 애플리케이션 방화벽(WAF) 설치
로그인 보호가 무차별 대입 공격에 특화된 방어책이라면, 방화벽은 무차별 대입 공격을 포함한 모든 종류의 공격에 대응하는 방어막입니다.

방화벽은 규칙 기반으로 악성 트래픽을 차단하며 웹사이트 보호에 큰 역할을 합니다. 또한 반복되는 악성 요청을 걸러냄으로써 무차별 대입 공격의 가장 큰 문제인 서버 리소스 과부하도 완화해 줍니다.
무차별 대입 공격은 여러 IP에서 발신되도록 설정되는 경우가 많아 대부분의 방화벽을 우회할 수 있습니다. 하지만 MalCare의 방화벽은 웹사이트를 글로벌 IP 보호 네트워크에 연결합니다. 100,000개 이상의 사이트에서 수집된 행동 데이터를 학습해 악성 IP를 식별하고 선제적으로 차단합니다. 덕분에 봇이 로그인 페이지를 공격하기도 전에 악성 트래픽 자체를 크게 줄일 수 있습니다.
4. 워드프레스 2단계 인증(2FA) 적용
사용자명과 비밀번호는 추측될 수 있기 때문에, 인증 요소를 동적으로 만드는 2단계 인증(Two-Factor Authentication), 나아가 다중 인증(MFA)이 등장했습니다. 2단계 인증에서는 OTP나 QR 코드 같은 실시간 로그인 토큰이 사용자 기기로 전달됩니다. 이 토큰은 보통 10~15분 정도의 짧은 유효 기간을 가지며, 해당 세션에서만 사용자를 인증할 수 있습니다.

사용자명과 비밀번호 외에 추가 토큰까지 요구되면 해킹이 훨씬 어려워집니다. WP 2FA 같은 플러그인을 설치하면 손쉽게 2단계 인증을 적용할 수 있습니다.
더 자세한 내용은 워드프레스 2단계 인증 가이드를 참고하세요.
5. 강력하고 고유한 비밀번호 사용
보안의 가장 큰 약점은 사용자 자신이며, 확장해서 말하면 사용자가 설정하는 비밀번호입니다. 사람들이 기억하기 쉬운 비밀번호를 만들고 여러 계정에서 재사용하는 경향 때문에 비밀번호는 모든 보안 체계에서 가장 큰 취약점이 됩니다. 이는 사실 서로 다른 두 가지 문제입니다.
첫째, 비밀번호를 여러 계정에서 재사용하지 마세요. 많은 무차별 대입 봇이 데이터 유출 사건에서 탈취한 비밀번호를 이용해 로그인 페이지를 공격합니다. 둘째, 'password' 같은 비밀번호는 누구나 쉽게 추측할 수 있습니다. 최소 12자 이상의 의미 없는 문자열을 사용하거나, 더 좋은 방법으로 패스프레이즈(passphrase)를 비밀번호로 사용하세요.

LastPass나 1Password 같은 비밀번호 관리자를 사용하면 비밀번호 재사용을 피하고, 필요할 때마다 강력한 비밀번호를 생성할 수 있습니다. 계정이 침해된 것으로 의심되면 MalCare 대시보드의 하드닝 섹션에서 모든 비밀번호를 강제 초기화할 수 있습니다.
자세한 내용은 워드프레스 비밀번호 보안 관련 글을 참고하세요.
6. XML-RPC 비활성화
XML-RPC 파일은 사용자 인증의 또 다른 통로입니다. 즉, 관리자 대시보드에 접근하는 대체 경로이기 때문에 무차별 대입 공격에 노출될 수 있습니다. 이 파일은 이미 사실상 폐기(deprecated)된 기능으로, 현재 활발히 사용하는 플러그인이나 테마가 많지 않습니다. 하위 호환성을 위해 워드프레스에 계속 포함되어 있으므로 비활성화해도 비교적 안전합니다.
XML-RPC 비활성화 방법은 별도 가이드를 참고하세요.
7. 미사용 사용자 계정 정기 점검 및 삭제
오랫동안 사용하지 않는 휴면 계정은 해커의 주요 표적입니다. 계정이 탈취되어도 사용자가 알아차리기 어렵고, 오랜 기간 동일한 비밀번호를 유지하기 때문에 무차별 대입 공격에도 취약하기 때문입니다.
따라서 사용자 계정을 정기적으로 점검하고, 사용하지 않는 계정은 삭제하세요. 추가로, 각 계정에는 업무 수행에 필요한 최소한의 권한만 부여하는 것이 좋습니다. 모든 사람에게 관리자 권한을 주는 것은 무모한 행위입니다.
8. 지역 차단(Geoblocking) 검토
특정 지역에서 봇 트래픽이 집중된다면 해당 국가 전체를 차단하는 방법을 고려할 수 있습니다. 다만 지역 차단은 신중하게 사용해야 합니다. 해당 지역에서 합법적인 사용자가 전혀 올 것으로 예상되지 않을 때만 유용합니다.
또한 해당 지역의 유익한 봇까지 차단될 수 있다는 점에 유의하세요. 예를 들어 Googlebot은 전 세계 어느 서버 위치에서든 작동할 수 있으며, Googlebot의 사이트 접근은 반드시 허용해야 합니다.
국가별 차단 방법은 단계별 가이드를 참고하세요.
9. 디렉터리 열람(Directory Browsing) 비활성화
기본 설정에서는 대부분의 워드프레스 코어 폴더와 파일이 브라우저를 통해 공개적으로 접근 가능합니다. 예를 들어 브라우저 주소창에 yourwebsite.com/wp-includes를 입력하면 폴더의 전체 내용이 즉시 표시됩니다.
디렉터리 열람 자체는 취약점이 아니지만, 사이트에 대한 정보를 노출하여 다른 취약점 공격에 악용될 수 있습니다. /wp-content 폴더에는 플러그인과 테마가 들어 있는데, 해커가 어떤 것이 설치되어 있고 버전이 몇인지 확인하면 취약점을 찾아 공격할 수 있습니다. 이것이 바로 '디렉터리 무차별 대입 공격'이라 불리는 덜 알려진 공격 유형입니다.
따라서 예방 차원에서 디렉터리 열람을 완전히 비활성화하는 것이 현명합니다.
따라 하지 말아야 할 흔한 보안 조언
선의에서 나왔지만 오히려 독이 되는 보안 조언이 널리 퍼져 있습니다. 해야 할 일 목록과 함께, 하지 말아야 할 일도 정리했습니다.
- wp-admin 디렉터리 비밀번호 보호: 절대 하지 마세요. 거의 모든 무차별 대입 방지 글에 등장하는 조언이지만, wp-admin 디렉터리에 비밀번호 보호를 걸면 admin-ajax.php 파일 접근이 제한되어 비로그인 사용자의 AJAX가 깨집니다.
AJAX는 웹사이트의 동적 기능을 구동하는 데 널리 사용됩니다. 예를 들어 사이트에 검색창이 있다면, 방문자가 상품을 검색할 때 전체 페이지가 아니라 검색 결과 부분만 다시 로드됩니다. 이는 큰 리소스 절약 효과가 있으며 사용자 경험을 크게 향상시킵니다.
admin-ajax.php 파일을 예외 처리하는 우회 방법들도 있지만 항상 원활하게 작동하지는 않습니다. 결국 이런 우회 작업에 드는 노력에 비해 얻는 보안 효과는 미미합니다. 큰 수고에 비해 이득이 거의 없는 조치입니다. - wp-login URL 변경: 워드프레스 하드닝 글에서 자주 보이는 조언입니다. 하지만 로그인 URL을 변경하면 잊어버렸을 때 복구가 거의 불가능하므로 강력히 권장하지 않습니다.
- 'admin' 사용자명 피하기: 무차별 대입 봇은 사용자명과 비밀번호 조합을 추측하므로, 'admin' 같은 뻔한 사용자명을 피하는 데 일정한 가치는 있습니다. 워드프레스는 대시보드에서 사용자명 변경을 허용하지 않으므로 플러그인을 설치해야 합니다.
다만 이 조치의 효과는 제한적이며, 과도한 시간과 노력을 들일 가치는 없습니다. 멤버십 사이트처럼 특정 유형의 사이트에서는 다른 방법으로 사용자명을 알아낼 수 있습니다. 회원마다 고유한 사용자명을 부여하고 정책을 강제한 뒤, 사용자가 사용자명을 잊었을 때 발생하는 후속 문제까지 감수하기에는 효과가 너무 작습니다.
워드프레스 무차별 대입 공격의 영향
무차별 대입 공격의 영향은 두 가지 관점에서 생각할 수 있습니다. 첫째, 공격이 진행되는 동안 어떤 일이 벌어지는가, 둘째, 공격이 성공했을 때 어떤 일이 벌어지는가입니다.
일반적으로 공격은 성공하기 전까지는 웹사이트에 거의 영향을 주지 않으며, 성공했을 때 비로소 피해가 드러납니다. 그러나 무차별 대입 공격은 다릅니다.
공격이 진행되는 동안 발생하는 일
서버 리소스에 즉각적인 영향이 나타납니다. 공격이 로그인 페이지에 요청을 쏟아붓으면 서버는 하나하나 모두 응답해야 합니다. 그 결과 웹사이트 속도 저하, 일부 사용자의 로그인 불가, 다운타임, 접속 불가 등 서버 사용량 증가의 모든 증상이 나타납니다. 호스팅 업체도 급증하는 서버 사용량을 빠르게 제한하는데, 특히 공유 호스팅을 사용 중이라면 더욱 그렇습니다.
공격이 성공했을 때 발생하는 일
공격이 성공하면 멀웨어 설치나 웹사이트 훼손(defacement)이 일어날 가능성이 높습니다. 해커가 웹사이트 접근 권한을 원하는 이유는 여러 가지가 있지만, 단 하나도 선한 목적은 없습니다.
설상가상으로, 웹사이트가 봇넷(botnet)의 일부가 되어 사용자의 동의 없이 다른 웹사이트 공격에 이용될 수도 있습니다. 봇넷에 포함된 사이트는 다른 보안 시스템에서 악성 사이트로 분류되기 때문에 심각한 결과를 초래합니다.
무차별 대입 공격 피해 대응 방법
무차별 대입 공격이 성공했다면 최악의 상황, 즉 웹사이트가 이미 침해되었다고 가정해야 합니다. 따라서 최우선 과제는 사이트를 확보하는 것입니다. 피해를 통제하기 위해 반드시 수행해야 할 핵심 조치는 다음과 같습니다.
- 모든 사용자를 강제 로그아웃하고 모든 비밀번호 변경
- 즉시 웹사이트 멀웨어 검사 실시
사이트가 멀웨어로부터 깨끗하다는 것이 확인되면, 앞서 소개한 예방 조치들을 적용하세요. 로그인 보호와 봇 차단은 물론, 멀웨어 스캐너·클리너·고급 방화벽까지 갖춘 MalCare 설치를 강력히 권장합니다. MalCare가 설치되어 있으면 워드프레스 공격으로부터 사이트가 안전하다는 확신을 가질 수 있습니다.
내 사이트도 무차별 대입 공격에 취약한가?
네, 모든 시스템은 무차별 대입 공격에 취약합니다. 무차별 대입 공격은 작동 방식상 로그인 페이지가 있는 모든 시스템에 적용될 수 있으며, 워드프레스 사이트도 예외가 아닙니다.
워드프레스의 압도적인 점유율은 해커에게 매력적인 표적이 됩니다. 인터넷의 상당 부분이 워드프레스로 구동되고, 워드프레스의 여러 특성이 널리 알려져 있기 때문입니다. 무차별 대입 공격과 특히 관련된 예로, 워드프레스는 잘못된 로그인 시도를 제한하지 않습니다. 이 문제는 앞서 소개한 MalCare의 로그인 제한 기능으로 해결할 수 있습니다.
여기에 더해 많은 사이트 운영자가 기억하기 쉬운 사용자명과 비밀번호를 사용하는 경향이 있습니다. 'admin' 사용자명, 'password1234'나 '12345678' 같은 비밀번호가 대표적입니다.
이런 요인들이 웹사이트를 무차별 대입 공격에 취약하게 만듭니다.
무차별 대입 공격의 유형
무차별 대입 공격은 피싱 같은 소셜 엔지니어링 공격이나 XSS 공격과는 다른 위협입니다. 소셜 엔지니어링 공격은 신뢰할 수 있는 개체로 위장해 사람들을 속여 자격 증명을 넘기게 만들고, XSS 공격은 웹사이트의 취약점을 악용합니다. 반면 무차별 대입 공격은 약하거나 유출된 자격 증명에 의존해 성공합니다.
실제 환경에서는 몇 가지 변형된 무차별 대입 공격을 볼 수 있습니다. 모두 시행착오 방식이라는 공통점이 있지만, 시도하는 자격 증명이나 사용하는 메커니즘이 다릅니다. 가장 흔한 유형은 다음과 같습니다.
- 단순 공격(Simple Attack): 사용자에 대해 알고 있는 정보, 예컨대 소셜 미디어에서 얻은 반려동물 이름이나 생일 등을 근거로 논리적으로 자격 증명을 추측합니다.
- 자격 증명 스터핑(Credential Stuffing): 데이터 유출 사건에서 얻은 정보를 활용하며, 사용자가 여러 시스템에서 동일한 사용자명과 비밀번호를 사용하는 경향을 역이용합니다.
- 사전 공격(Dictionary Attack): 이름 그대로 봇이 사전 파일을 비밀번호로 사용합니다. 실제 사전일 수도 있고, 비밀번호 추측용으로 특별히 제작된 목록일 수도 있습니다.
- 레인보우 테이블 공격(Rainbow Table Attack): 사전 공격과 개념이 비슷하지만, 레인보우 테이블은 비밀번호 목록 대신 해시 처리된 비밀번호 목록을 담고 있는 특수한 사전입니다.
- 패스워드 스프레잉(Password Spraying): 논리적으로는 역방향 무차별 대입 공격입니다. 일반적인 공격이 특정 사용자명을 대상으로 비밀번호를 추측한다면, 패스워드 스프레잉은 여러 사용자명에 비밀번호 목록을 대입해 일치하는 조합을 찾습니다. 표적형 공격에 비해 더 분산된 형태의 공격입니다.
사이트 운영자 입장에서 각 유형의 세부 차이를 모두 알 필요는 없지만, 이 용어들이 혼용되어 사용되는 경우가 많으므로 기본 메커니즘을 이해해 두면 도움이 됩니다.
함께 실천하면 좋은 보안 습관
워드프레스 무차별 대입 공격 예방은 훌륭한 목표이지만, 웹사이트 보안의 일부일 뿐입니다. 사이트를 안전하게 유지하고 멀웨어로부터 보호하기 위한 핵심 권장 사항은 다음과 같습니다.
- 좋은 멀웨어 스캐너와 클리너를 갖춘 보안 플러그인 설치
- 모든 요소를 최신 상태로 유지
- 매일 자동 백업에 투자
전체 권장 사항은 종합 보안 가이드를 참고하세요.
결론
무차별 대입 공격은 성공하지 못하더라도 웹사이트를 마비시킬 수 있습니다. 이 잠재적 위협에 대응하는 가장 좋은 방법은 MalCare처럼 봇 차단 기능이 통합된 방화벽을 설치하는 것입니다.
설령 무차별 대입 공격이 성공하더라도, MalCare는 멀웨어를 신속히 탐지하고 제거하는 데 도움을 줍니다. 모든 감염 사례에서 그렇듯, 빠른 대응이야말로 피해를 크게 줄이는 열쇠입니다.
자주 묻는 질문(FAQ)
워드프레스에서 무차별 대입 공격이란 무엇인가요?
워드프레스 무차별 대입 공격은 해커가 정상 사용자 계정의 로그인 자격 증명을 추측해 wp-admin 접근 권한을 탈취하려는 시도입니다. 봇을 이용해 wp-login 페이지에 수백, 수천, 때로는 수백만 개의 비밀번호를 시도하며 올바른 것을 찾아냅니다.
무차별 대입 공격은 성공했을 때 위험할 뿐만 아니라, 사이트 성능에도 큰 영향을 미칩니다. 공격이 서버 리소스를 소진시켜 사이트가 다운되는 경우도 있습니다.
워드프레스 사이트를 무차별 대입 공격으로부터 어떻게 보호하나요?
가장 효과적인 방법은 로그인 시도 횟수를 제한하는 것입니다. 워드프레스는 기본적으로 로그인 시도를 무제한 허용하므로, MalCare를 사용해 무차별 대입 공격으로부터 사이트를 보호할 수 있습니다. 로그인 보호 외에도 MalCare는 봇 차단 기능과 고급 방화벽을 포함하고 있어, 무차별 대입 공격의 피해를 예방하고 완화하는 데 큰 도움이 됩니다.