
개인 블로그나 소규모 비즈니스 웹사이트를 운영하다 보면 "우리 사이트까지 해커가 노릴 리 없다"고 생각하기 쉽습니다. 하지만 현실은 다릅니다. 인터넷상의 대부분의 공격은 자동화된 봇넷(botnet)에 의해 이루어지며, 이들은 사이트의 규모가 크든 작든 상관하지 않습니다.
이 글에서는 워드프레스 로그인 페이지를 보호하기 위해 누구나 실천할 수 있는 효과적인 보안 조치들을 소개합니다.
1. 2단계 인증(2FA) 활성화
2단계 인증(Two-Factor Authentication)은 이제 온라인 계정 보안을 위한 필수 요소가 되었습니다. 많은 사용자가 가장 중요한 계정에만 이 보안 계층을 적용하고 있는데, 이제 여러분의 워드프레스 사이트에도 적용할 때입니다.
추천 플러그인은 Google Authenticator입니다. 꾸준히 업데이트되고 설정이 간편하기 때문입니다. 시작하기 전에 모바일 기기에 Authenticator 앱을 먼저 설치하세요. Android, iOS, Blackberry에서 모두 사용할 수 있습니다.
설정 방법:
1. Google Authenticator 플러그인을 설치하고 활성화합니다.
2. "사용자(Users) → 내 프로필(Your Profile)"로 이동한 후, 아래로 스크롤하여 Google Authenticator Settings 섹션을 찾습니다.

3. "Active" 체크박스를 선택하고, Description 필드에 간단한 설명을 입력합니다. 이 설명은 여러 사이트에 코드를 등록해둔 경우 모바일 앱에서 해당 웹사이트를 구분하는 데 도움이 됩니다.
4. "Scan QR" 버튼을 클릭해 QR 코드를 화면에 표시한 뒤, 모바일 앱으로 스캔합니다. 그러면 6자리 인증 코드가 생성되며, 이후 로그인 시 이 코드를 함께 입력하게 됩니다.

이 코드는 10초마다 새로 갱신되므로, 그 시간 안에 입력해야 합니다. 워드프레스에 로그인할 때는 Authenticator 앱을 미리 열어두고, 10초 안에 코드 입력과 로그인 버튼 클릭까지 완료해야 한다는 점을 기억하세요.
2. 보안 플러그인 활용
워드프레스에는 수많은 보안 플러그인이 있지만, 그중에서도 로그인 페이지 보호에 특화된 플러그인들을 소개합니다.
- WPS Hide Login: 워드프레스의 기본 로그인 페이지 주소는 "wp-login.php"입니다. 이 플러그인을 사용하면 로그인 페이지 주소를 원하는 커스텀 URL로 변경할 수 있어 무차별 대입 공격의 표적이 되기 어렵습니다.
- WP Limit Login Attempts: 무차별 대입 공격(brute force attack)에 대한 방어책 역할을 하는 플러그인입니다. 사용자별 로그인 시도 횟수를 제한할 수 있으며, 지정된 횟수 내에 로그인에 실패하면 해당 IP가 일시적으로 차단됩니다. 또한 캡차(captcha) 인증 기능을 추가해 봇의 접근도 막아줍니다.
- Loginizer: 로그인 페이지를 무차별 대입 공격과 각종 위협으로부터 보호하는 올인원 플러그인입니다. 2단계 인증, reCAPTCHA, 비밀번호 없는 로그인(Passwordless Login) 등 로그인 전용 보안 기능을 다양하게 제공합니다.
3. 특정 IP 주소만 로그인 페이지에 접근 허용

사이트 관리자가 소수라면, 접속 가능한 IP 주소 화이트리스트를 만들어 로그인 페이지 접근을 제한할 수 있습니다. 방법은 웹 호스팅 cPanel을 통해 "wp-admin" 폴더 안에 ".htaccess" 파일을 생성하는 것입니다.
새로 만든 ".htaccess" 파일에 아래 코드를 추가합니다:
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # Ab's IP address allow from xx.xx.xx.xxx # Ketul's IP address allow from xx.xx.xx.xxx # John's IP address allow from xx.xx.xx.xxx </LIMIT>
"xx" 부분을 화이트리스트에 추가하려는 IP 주소로 변경하면 됩니다. 각 IP 위에 주석을 달아 사용자를 구분해 두면 관리가 더욱 편리합니다. 이렇게 설정하면 지정된 IP 주소만 "wp-admin" 페이지에 접근할 수 있고, 다른 IP에서 접속을 시도하면 403 오류가 표시됩니다. 이를 통해 로그인 페이지 접근을 통제하고 사이트 보안을 크게 강화할 수 있습니다.
4. HTTPS로 전환

워드프레스 사이트나 블로그의 보안을 진지하게 고민한다면 HTTPS 프로토콜로의 전환은 선택이 아닌 필수입니다. HTTPS는 웹 브라우저와 웹 서버 간의 연결을 암호화하여, 공격자가 전송 중인 데이터를 가로채거나 변조하기 어렵게 만듭니다. 이를 통해 로그인 폼이나 입력 필드에서 데이터를 탈취하려는 악성 스크립트로부터도 보호받을 수 있습니다.
보안 외에도 장점이 있습니다. HTTPS를 적용한 사이트는 Google 검색 결과에서 HTTP 사이트보다 유리한 평가를 받으며, 연결에 필요한 SSL 인증서 비용도 예전에 비해 크게 저렴해졌습니다. Let's Encrypt 같은 서비스를 이용하면 무료로 인증서를 발급받을 수도 있습니다.
마무리
워드프레스 로그인 페이지를 보호하는 것은 사이트 전체 보안을 확보하는 첫걸음입니다. 위에서 소개한 네 가지 방법, 즉 2단계 인증, 보안 플러그인, IP 화이트리스트, HTTPS 적용을 실천하면 무차별 대입 공격과 대부분의 해킹 시도를 효과적으로 막을 수 있는 견고한 로그인 페이지를 갖추게 될 것입니다.