워드프레스를 사용하다보면 wp-login.php에 대한 보안설정이 필요한데요.
가장 많이 하는 것이 바로 관리자 페이지인 wp-login.php를 숨기는 방법입니다.
바로 알수 없는 사용자가 관리자 페이지에 접근하는 것부터 원천적으로 차단하는 방법입니다.
실제로 다양한 플러그인 또는 웹서버에서 간단한 설정으로 제한할 수 있는데요.
먼저 간단한 플러그인으로 설정하는 방법부터 알아보겠습니다.
wp-login.php 플러그인으로 숨기는 방법
먼저 플러그인을 설치하여 숨기는 방법이 있는데요.
초보자가 설정하기에 가장 편리한 방법입니다.
즉 기존 주소(wp-login.php)를 본인만 아는 주소로 변경하는 것인데요.
이런 방식의 플러그인은 wps hide login이 유명한데요.
간단하게 플러그인 새로 추가에서 설치하고 세팅을 하시면 됩니다.
플러그인을 설치하면 로그인 기본값은 도메인/login으로 변경되는데요.
이를 원하는 주소로 변경도 가능합니다.
이렇게 하면 해당페이지로 접근이 불가능하기 때문에, 간편하게 사용이 가능합니다.
플러그인을 활용해서 숨기는 방법이 있습니다.
기본적으로 페이지를 숨기더라도 로그인 패스워드를 복잡하게 설정하여
쉽게 접속하지 못하게 할 수 있습니다.
웹서버에서 숨김 설정하기
먼저 아파치에서는 .htaccess설정에서 변경할 수 있는데요.
.htaccess 파일(혹은 “분산 설정파일”)은 아파치에서 사용하는 파일로
이 파일을 사용하면 디렉토리별로 접속 권한 등의 설정을 변경할 수 있습니다.
먼저 .htaccess 파일을 사용하기 위해서는 apache2.conf에서
AllowOverride All 설정이 필요합니다.
우분투이면 /etc/apache2/apache2.conf에 일반적으로 위치해 있습니다.
버추얼 호스트라면 000-default.conf 파일에 설정해주어야 합니다.
.htacㅊess를 사용하지 않아도 wp directory 설정 아래에 바로 아래의 files를 입력하셔도 제한이 됩니다.
allow에는 본인 PC의 아이피를 넣으시면 됩니다.
본인 아이피는 cmd에서 ipconfig를 활용하시면 됩니다.
#아파치 2.2버전
<Files "wp-login.php">
Order Deny,Allow
Deny from All
Allow from xxx.xxx.xx.xxx
</Files>
#아파치 2.4버전
<Files "wp-login.php">
Require All Deny
Require IP from xxx.xxx.xx.xxx
</Files>
설정 후에는 apache2를
service apache2 restart 해줍니다.
이렇게 설정하면 서버에서 차단되었다는 permission에러가 발생하게 됩니다.
nginx를 사용하신다면
아래와 같은 방식으로 설정이 가능합니다.
location ~ ^/(wp-admin|wp-login.php) {
allow 192.168.X.X/24;
allow 192.168.X.X;
deny all;
이 역시 설정하고 nginx를 재시작하시면 되는데요.
service nginx restart
이런 방법을 활용해서 워드프레스 보안을 강화해보시기 바랍니다.