워드프레스 wp-login.php IP 제한으로 로그인 보안 강화하기

워드프레스를 운영하다 보면 불법적인 로그인 시도가 생각보다 자주 발생한다.
특히 wp-login.php를 대상으로 한 무차별 대입 공격은 꾸준히 이어지며, 로그를 확인해보면 해외 IP를 중심으로 한 시도가 끊이지 않는다. 피해가 누적되기 전에 워드프레스 로그인 보안 강화를 위한 대책이 필요해 보였다.


이번에는 플러그인을 사용하지 않고, .htaccess 파일을 이용해 wp-login.php IP 제한으로 허용된 IP만 접근 가능하도록 제한하는 방법을 정리해본다. 실제로 적용한 이후 불법 로그인 시도가 말끔하게 사라져 효과를 체감하고 있다.

워드프레스 로그인 보안 방법 비교

워드프레스 로그인 보안을 강화하는 방법은 여러 가지가 있다.
대표적으로 CAPTCHA, 2단계 인증(2FA), 로그인 시도 제한 기능이 많이 사용된다. 이 외에도 IP 보안 방식이 있다.

워드펜스 라이브 트래픽 로그로 확인된 불법적인 로그인 시도들
▲ 워드펜스 라이브 트래픽 로그로 확인된 불법적인 로그인 시도들

IP 보안은 허용된 IP 외에는 무조건 차단한다는 점에서 보안 효과는 확실하지만, 여러 장소나 외부 환경에서 자주 접속해야 하는 경우에는 사용이 불편할 수 있다.

필자의 경우 워드프레스 관리자 접속은 집과 사무실 등 제한된 환경에서만 이루어지고, 별도의 보안 플러그인을 사용하지 않으면서 불법적인 로그인 시도 자체를 원천 차단하고 싶었기 때문에 로그인 페이지에 대해서는 IP 보안을 적용하기로 했다.

wp-login.php와 .htaccess를 이용한 로그인 보안 설정

워드프레스 로그인은 wp-login.php 파일을 통해 이루어진다.
따라서 이 파일에 대해 허용 IP 규칙을 설정하면 로그인 접근 자체를 제어할 수 있다.

이 작업은 .htaccess 파일을 수정하여 진행하게 되는데, .htaccess 파일을 잘못 수정할 경우 사이트 전체에 오류가 발생할 수 있으므로 반드시 사전 백업이 필요하다.
문제가 발생했을 때 즉시 복구할 수 있도록 원본 파일을 안전하게 보관해두는 것이 좋다.

wp-login.php IP 제한 규칙 정리

워드프레스 로그인 보안을 위해 wp-login.php에 적용할 허용 IP 규칙을 다음과 같이 정리했다.

  • 기본적으로 모든 접속을 차단한다.
  • 자주 접속하는 고정 IP(집, 사무실 등)만 허용한다.
  • 외부 접속 시 불편함을 줄이기 위해 자주 사용되는 국내 IP 대역을 일부 허용한다.
    (단, 국내 IP에서도 불법 시도가 발생할 수 있으므로 권장하지는 않음)

wp-login.php IP 제한 설정 방법 (.htaccess 예제)

아래 내용을 .htaccess 파일에 추가한다.
집이나 사무실의 고정 IP 주소는 실제 사용하는 IP로 변경해서 적용하면 된다.

# BEGIN wp-login.php 허용 IP 규칙
<Files "wp-login.php">
    # 기본적으로 모든 접속을 차단
    Require all denied

    # 집 고정 IP 주소
    Require ip [고정 IP]

    # 사무실 고정 IP 주소
    Require ip [고정 IP]

    # 국내 IP 대역을 추가로 허용
    # 전체 목록 중 일부이며, 이 목록 외의 국내 IP는 접근이 차단될 수 있음
    Require ip 1.201.0.0/16
    Require ip 14.0.0.0/8
    Require ip 39.7.0.0/16
    Require ip 58.140.0.0/14
    Require ip 59.2.0.0/16
    Require ip 61.32.0.0/11
    Require ip 106.102.0.0/15
    Require ip 110.8.0.0/13
    Require ip 112.160.0.0/11
    Require ip 118.0.0.0/8
    Require ip 121.0.0.0/8
    Require ip 175.252.0.0/14
    Require ip 203.252.0.0/14
    Require ip 211.32.0.0/11
</Files>
# END wp-login.php 허용 IP 규칙

설정 적용 결과 및 주의사항

.htaccess 파일에 wp-login.php 허용 IP 제한을 적용해 워드프레스 로그인 보안을 강화한 이후, 불법적인 로그인 시도가 눈에 띄게 사라졌다. 워드펜스 로그에서도 로그인 시도 자체가 더 이상 기록되지 않아 효과를 바로 확인할 수 있었다.

다만 주의할 점도 있다.
고정 IP가 변경되거나, 허용되지 않은 외부 환경에서 접속해야 할 경우 관리자 페이지 접근이 불가능해진다. 이를 대비해 외부에서도 FTP 접속을 통해 .htaccess 파일을 수정할 수 있는 비상 수단을 반드시 준비해두는 것이 좋다.

.htaccess에 허용 IP 설정을 적용하여 wp-login.php IP 제한을 적용한 결과, 불법 로그인 시도가 말끔히 사라진 모습
▲ .htaccess에 허용 IP 설정을 적용하여 wp-login.php IP 제한을 적용한 결과, 불법 로그인 시도가 말끔히 사라진 모습

마치며

워드프레스 로그인 보안은 사고가 발생한 뒤에 강화하는 것보다, 미리 차단하는 것이 훨씬 효과적이다.
특정 환경에서만 관리자 접속이 이루어진다면, .htaccess를 이용한 wp-login.php IP 제한 방식은 플러그인 없이도 강력한 보안 수단이 될 수 있다.

조금은 번거롭지만 한 번 설정해두면 불법 로그인 시도를 거의 신경 쓰지 않아도 되며, 서버 자원 및 트래픽 낭비도 줄일 수 있다.
워드프레스 로그인 보안 강화를 고민하고 있다면, wp-login.php IP 제한 방법을 한 번쯤 적용해볼 만하다.

댓글 남기기