Protect Your Admin - 워드프레스 관리자 보안 플러그인

워드프레스 보안 – 관리자 경로(wp-admin) 숨기기

워드프레스와 보안

워드프레스는 사용 편의성으로 인해 많은 사용자가 사용하는 반면 보안의 우려도 있습니다. 특히 외부 플러그인을 자유롭게 설치할 수 있다 보니 본의 아니게 플러그인으로 인해 보안이 취약해지는 경우가 있습니다. 올해 초에 레볼루션 슬라이더가 심각한 보안 취약점에 노출되어 여러 신문사의 인터넷 기사까지 나온 적이 있을 정도니까요.

이뿐만 아니라 워드프레스는 스팸봇에 의해 끊임없이 공격을 받습니다. 워드프레스 사이트를 운영하다 보면 얼마 지나지 않아 각종 스팸 댓글이 마구 달리는 것을 볼 수 있습니다. 개인적으로는 여러 가지 스팸 방지 플러그인 중에서는 Akismet 외에 “Stop Spammers Spam Prevention“이 효과적인 것 같습니다. 완벽하게 막아주지는 못하지만 스팸 댓글이 확실히 줄어듭니다.

스팸봇/해커가 시도하는 워드프레스 관리자 로그인 정보

그리고 IP Blacklist Cloud라는 플러그인도 있습니다. 이 플러그인은 플러그인 이름에서 알 수 있듯이 스팸 IP 블랙리스트를 통해 접근을 차단합니다. (어쩌면 나도 모르게 내 IP가 여기에 등록되어 있을지도 모르겠네요…) IP Blacklist Cloud에서는 로그인에 실패한 IP 목록도 보여줍니다. 목록을 검토하여 의심되는 IP는 블랙리스트로 신고할 수 있습니다.

IP Blacklist - 워드프레스 스팸 IP 블랙리스트위의 그림은 IP Blacklist 플러그인에 의해 차단된 IP의 목록(IP는 위의 그림에 표시하지 않음)과 그들이 시도했던 로그인 정보를 보여줍니다. 주로 Admin, admin, administrator와 같은 ID(사용자 이름)로 로그인을 시도합니다. 위에서는 특이하게 demo1이라는 사용자 이름으로도 시도하고 있네요. 그러므로 관리자 사용자 이름으로 Admin, admin, administrator 등은 피하는 게 가장 효과적일 것 같습니다.

관리자 경로(wp-admin) 변경

플러그인 사용

원하는 경우 관리자 경로인 /wp-admin/을 변경할 수도 있습니다. 이것이 효과가 있을지는 모르겠습니다. 일부 글을 보면 아무리 숨겨도 해커들은 찾아내므로 무익하다고 한 것을 보았는데요. 아무래도 관리자 경로 URL을 변경하면 관리자 로그인 시도가 줄어들지 않을까 생각됩니다.

우선 이와 관련된 플러그인으로 인터넷 사용자들이 Stealth Login Page 플러그인을 많이 추천하네요.

Stealth Login Page - 워드프레스 보안 플러그인

이 플러그인은 .htaccess 파일을 수정하지 않고 대시보드를 보호해주며, 보안 코드를 입력하지 않는 방문자를 사용자 지정 가능한 URL로 리디렉션시켜 줍니다.

또 다른 플러그인으로 Protect Your Admin이라는 플러그인이 있습니다.

Protect Your Admin - 워드프레스 관리자 보안 플러그인

이 플러그인은 비교적 최근에 업데이트되었네요. 일부 플러그인은 업데이트가 잘 안 되어 결국에는 사용하지 못하게 되는 경우가 발생합니다. 그래서 플러그인을 선택할 때에는 먼저 평점과 함께 업데이트가 언제 되었는지 보게 됩니다. 그리고 다양한 기능을 제공하네요:

  • 사용자 정의 wp-admin url(예: http://yourdomain.com/myadmin) 지정
  • 로그인 페이지에서 사용자 정의 로그를 지정하거나 기본 로고 변경
  • 로그인 페이지의 body 배경색 지정
  • SEO에 유리한 “등록” 페이지 URL
  • 기타

다른 방법

사실 워드프레스에서 플러그인을 많이 설치하다 보면 사이트 속도에 영향을 미치고, 간혹 원치 않은 플러그인 간 또는 플러그인과 테마 간 충돌이 발생하기도 합니다. 또, 플러그인으로 인해 보안 문제가 야기되기도 하고요. 그러므로 가급적 플러그인 설치를 최소화하는 게 바람직합니다. 플러그인을 설치하지 않고 다음과 같은 방법으로 관리자 URL을 변경할 수 있습니다. (업데이트: 코드를 사용한 이 방법은 이전에는 잘 되었지만 이제는 더 이상 작동하지 않는 것으로 확인되었습니다.)

1. wp-config.php 파일에 변수를 추가합니다.

define('WP_ADMIN_DIR', 'secret-folder');
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

2. 함수 파일(functions.php)에 아래 필터를 추가합니다.

add_filter('site_url',  'wpadmin_filter', 10, 3);
function wpadmin_filter( $url, $path, $orig_scheme ) {
$old  = array( "/(wp-admin)/");
$admin_dir = WP_ADMIN_DIR;
$new  = array($admin_dir);
return preg_replace( $old, $new, $url, 1);
}

3. 다음 라인을 .htaccess 파일에 추가합니다.

RewriteRule ^secret-folder/(.*) wp-admin/$1?%{QUERY_STRING} [L]
// 출처: stackoverflow

Hide My WP 플러그인

Hide My WP - Amazing Security Plugin for WordPress

Hide My WP 플러그인은 wp-admin 경로뿐만 아니라 거의 모든 고유주소를 변경하여 사이트가 워드프레스로 제작되었다는 사실을 사용자들이 알지 못하도록 하여 보안을 강화해주는 플러그인입니다. 자세한 내용은 이 글을 참고해보시기 바랍니다.

마치며

워드프레스 사이트를 업데이트하지 않고 방치하거나 비밀번호 관리를 소홀히 하다가 간혹 해킹당해 관리자 계정이 삭제되거나 관리자 비밀번호가 변경되어 관리자 페이지에 접속하지 못한다고 호소하는 경우를 본 적 있습니다. 이 경우 이 글을 참고로 관리자 비밀번호 복구를 시도하거나, 다소 복잡하지만 이 글에서 설명하는 방법으로 새로운 관리자 계정을 추가할 수 있습니다. 이상으로 워드프레스에서 보안 강화를 위해 관리자 URL을 변경하는 방법을 살펴보았습니다.

 



기부를 통해 이 블로그를 후원하실 수 있습니다.
워드프레스 설치/제작/문제해결이 필요한 경우 서비스(유료)를 요청해주세요.