[WP] 워드프레스 무차별 대입 공격(brute-force attack)을 막는 9가지 방법

워드프레스 CMS로 만든 웹 사이트를 운영하게 되면, 관리자 주소는 https://www.domain.com/wp-admin이 됩니다. 무차별 대입 공격에 취약할 수 있는 이유는 관리자 페이지 주소 wp-admin 주소가 그대로 노출되기 때문입니다. 워드프레스를 포함한 웹 사이트의 관리자 주소가 admin과 같은 주소를 사용해서 무차별 대입 공격(brute-force attack)에 노출되는 것은 되도록 방지해야 합니다.

무차별 대입 공격(brute-force attack)이란?
웹 사이트나 컴퓨터 및 네트워크에 특정한 암호를 풀기 위해 모든 대입 값을 입력하는 것을 의미합니다. 공격은 일치하는 암호를 찾을 때까지 반복적으로 진행됩니다. 무차별 대입 공격 시간은 짧은 간격으로 자동화 된 공격이 빠르게 진행되기 때문에 admin, user과 같은 간단한 아이디와 숫자로만 이루어진 간단한 비밀번호는 해킹 당할 위험이 클 수 밖에 없습니다.

wordpress를 사용하는 홈페이지는 대입 공격에 방어하기 위해 워드프레스 보안 플러그인을 설치하거나 wp-admin 주소를 변경해 줄 수 있는 플러그인을 설치하는 방법, 소스 수정 등 의 방법을 생각할 수 있습니다. W3Techs 통계 자료에 따르면, 2023년 워드프레스 CMS는 전 세계 점유율 63%를 차지하기 때문에 더 많은 공격 대상이 될 수 밖에 없습니다. 차별 대입 공격은 서버에 많은 부하를 주기 때문에 SEO에도 안 좋습니다. 공격으로 로그인 정보를 확인하지 못 하더라도 웹 사이트 속도가 느려지거나 서버가 다운되는 경우가 발생할 수 있기 때문입니다.

무차별 대입 공격(brute force attack)

워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용

해커의 비밀번호 무차별 대입 프로그램을 방어하기 위한 워드프레스는 생각한 플러그인의 대부분을 찾을 수 있습니다. wp-admin 페이지 변경을 위한 간단한 플러그인 설치를 할 경우 ‘WPS Hide Login‘과 같은 무료 플러그인 설치를 생각할 수 있습니다. 설정 전에는 반드시 백업을 해서 복원이 가능하도록 준비하는 것은 필수입니다.

올인원 워드프레스 보안 플러그인을 생각할 수 있습니다. 인기 있는 올인원 보안 플러그인은 iThemes Security, SUCURI Security, Wordfence Security , All In One WP Security, Shield Security, Jetpack, BulletProof Security 등 다양한 플러그인이 있습니다. 올인원 보안 플러그인은 brute-force attack 방어에 대한 옵션이 대부분 포함되어 있습니다.

워드프레스 보안 플러그인 비교표

brute force attack 방지를 위한 워드프레스 관리 방법

brute force attack 으로부터 워드프레스 웹 사이트를 보호하는 방법에 대해 알아 보겠습니다.

1. WordPress 방화벽 플러그인 설치

방화벽 플러그인을 설치하는 것은 대입 공격에 대한 웹 사이트의 서버 부하를 줄일 수 있습니다. 앞서 언급한 올인원 보안 플러그인을 설치해서 대입 공격을 방어할 수 있습니다.

2. 이중 인증 설정(2FA)

비밀번호를 해킹 프로그램에 의해 확인이 되더라도 2단계 인증 설정을 하면, 로그인을 하는 것이 불가능해집니다.

Wordfence Security의 2FA는 Google Authenticator, FreeOTP 및 Authy와 같은 여러 OTP 기반 앱과 함께 작동합니다. 

3. 로그인 페이지 숨기기

Hide My WPWP Hide and Security Enhancer 등과 같은 워드프레스의 로그인 페이지를 숨길 수 있는 보안 플러그인을 설치할 수 있습니다.

4. 로그인 시도 제한

대입 공격 방어에 효과적인 방법은 로그인 시도 횟수를 제한하는 것입니다. 올인원 보안 플러그인 설치를 고려한다면 이 기능이 있는지 여부를 필수 항목으로 체크✅할 것을 권장합니다. 예를 들어 틀린 비밀번호 10회 입력으로 IP가 4시간 및 하루 정도 차단할 수 있는 설정이 있다면, 무차별 대입 공격 툴을 이용한 봇 공격으로 더 이상 해킹 시도를 하지 못합니다.

5. 복잡한 비밀번호

복잡하게 만든 비밀번호는(영문, 특수문자, 숫자 조합 등) 브루트포스 공격brute force attack사전 대입 공격Dictionary Attack에 효과적인 방어가 가능합니다. 다른 웹 사이트와 다른 비밀번호를 사용하는 것이 중요합니다. 절대 워드프레스에서 기본 관리자인 ‘admin’을 그대로 사용하지 말고 다른 관리자로 변경해야겠지요.

6. Bad Bots 차단

봇은 단순 작업을 반복적으로 수행하게끔 만들어진 프로그램입니다. 모든 웹 사이트 트래픽의 25% 이상이 봇이기 때문에 봇 보호 및 차단을 할 수 있는 플러그인을 선택하는 것이 중요합니다. Google Bot, Bing Bot 등을 차단하면, 웹 사이트가 검색 엔진에 노출되지 않기 때문에 신뢰할 수 있는 플러그인을 설치해야 합니다.

7. XML-RPC 비활성화

워드프레스 XML-RPC 취약점은 이미 많이 알려져 있는 사실입니다. xmlrpc.php 파일을 이용한 워드프레스 사이트에 대한 무차별 대입 공격이 문제입니다. XML-RPC를 비활성화 해서 무차별 대입 공격과 핑백을 이용한 DDoS 공격을 원천 차단할 것을 권장합니다.

8. PHP 실행 비활성화

wp-admin 폴더를 암호로 보호하는 방법이 무차별 대입 방지에 나오지만 admin-ajax.php 파일 제한으로 비 로그인 사용자의 AJAX가 손상될 수 있습니다. 워드프레스 폴더 및 파일이 브라우저에 공개적으로 노출됩니다. 워드프레스 보안 플러그인이나 .htacss 파일 등에서 PHP 실행을 비활성화 하는 것을 고려할 수 있습니다.

테마, 플러그인 업데이트, 콘텐츠, 웹사이트 설정 등의 기능을 해커가 취득하면 악성 파일이 디렉토리에 심어질 수 있습니다. PHP 실행 비활성화 설정 후 오류가 발생할 경우를 대비해 원래 상태로 복원할 수 있게 끔 준비를 하는 것이 중요합니다. 

PHP 실행이 필요한 디렉토리
public_html : 루트 폴더
wp-includes
wp-admin
wp-content
wp-content/themes/
wp-content/plugins/

PHP 실행이 필요없는 디렉토리
wp-content/uploads/
비활성화 방법은 .htaccess 파일을 만든 후 아래와 같이 입력합니다.
<Files *.php>
deny from all
</Files>

파일을 /wp-content/uploads/ 및 /wp-includes/ 폴더에 업로드 합니다. PHP 비활성화는 피싱 공격 및 SEO 스팸 등 다른 공격에도 방어가 가능합니다.

9. WordPress 정기적인 업데이트

마지막으로 워드프레스 테마와 플러그인의 정기적인 업데이트를 해야 합니다. 구 버전의 워드프레스 코어, 테마와 플러그인은 보안에 취약합니다. 업데이트가 이루어지지 않아 보안이 허술해지면, 사이트는 공격에 노출됩니다. 업데이트가 중지된 오래된 플러그인은 동일한 기능을 가진 다른 플러그인으로 변경하는 걸 추천합니다.

결론 및 정리

9가지 방법 중 이중 인증 설정(2FA)의 경우 모든 대부분의 올인원 플러그인 기능에 들어 있으며, 나머지 방법을 사용해 사이트 보안을 강화하는 것이 더 낫다고 생각합니다. 최소한의 7가지 설정 외 PHP 실행 비활성화도 추가 옵션으로 고려해 볼만 하다고 생각됩니다.

Similar Posts

  • [WP] 워드프레스 테마 삭제 방법 2가지

    워드프레스를 초기 설치 or 이용 중 테마를 변경하게 되면 기존 비활성화 된 워드프레스 테마 삭제를 해야 하는 경우가 있습니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack 방지를 위한 워드프레스 관리 방법1. WordPress 방화벽 플러그인 설치2. 이중 인증 설정(2FA)3. 로그인 페이지 숨기기4. 로그인 시도 제한5. 복잡한 비밀번호6. Bad Bots 차단7. XML-RPC…

  • 워드프레스 서버 이전하기: WordPress Migration 작업

    워드프레스 사이트를 직접 AWS LightSail에서 관리하기 위해 워드프레스 서버 이전 작업을 진행하게 되었습니다. 서버 이전을 진행하게 된 이유는 위와 같은 이유 외 다양한 이유로 서버 이전을 결정하게 되었습니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack 방지를 위한 워드프레스 관리 방법1. WordPress 방화벽 플러그인 설치2. 이중 인증 설정(2FA)3. 로그인 페이지 숨기기4….

  • [WP] 테마 or 플러그인 설치 중 발생하는 워드프레스 FTP 오류 해결 방법

    설치형 워드프레스 기반 웹 사이트를 운영하면서 테마 또는 플러그인을 설치하는 중 워드프레스 FTP 오류 메시지로 설치에 시간 소요가 되는 경우가 있습니다. 두 가지 해결 방법이 있으며 한 가지를 선택해서 설정할 수 있습니다. ※ FTP 오류 메시지 내용 에러: 서버에 연결하는 중에 에러가 생겼습니다. 설정이 올바른지 확인하십시요. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인…

  • [WP] 워드프레스 카테고리 만들기(&워드프레스 메뉴 만들기)

    워드프레스에서 작성한 글을 분류하기 위한 목적으로 카테고리를 설정할 수 있습니다. 카테고리는 글의 종류를 분류하기 위한 목적으로 만들며 어떤 CMS를 사용하는 블로그이든 중요한 요소로 생각해볼 수 있습니다. 워드프레스 카테고리 만들기는 블로그 및 웹 사이트를 시작하는 첫걸음인 동시에 글과 페이지 설정과 함께 필수로 설정해야 할 요소라고 생각해볼 수 있습니다 워드프레스에서 글 작성 후 메뉴 별로…

  • What CMS? 어떤 CMS를 사용하는지 확인 사이트 목록 3군데

    WordPress, Shopify , 윅스, Squarespace, 줌라 등의 CMS 점유율을 확인한다면 w3techs 사이트에서 CMS 점유율을 확인할 수 있습니다. What CMS..? 어떤 CMS를 사용하는지 궁금할 경우 조회할 수 있는 사이트 중 대표적인 사이트입니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack 방지를 위한 워드프레스 관리 방법1. WordPress 방화벽 플러그인 설치2. 이중 인증 설정(2FA)3. 로그인 페이지 숨기기4. 로그인 시도…

  • [WP] Softaculous 사용 워드프레스 스테이징 사이트 만드는 방법

    워드프레스를 사용할 때 플러그인 설치 및 업데이트 등을 포함한 여러가지 변경 사항을 안전하게 테스트 하기 위한 사이트가 필요할 수 있습니다. ‘워드프레스 스테이징 사이트‘를 만든다면 안전한 테스트가 가능합니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack 방지를 위한 워드프레스 관리 방법1. WordPress 방화벽 플러그인 설치2. 이중 인증 설정(2FA)3. 로그인 페이지 숨기기4. 로그인…