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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

워드프레스 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가지

    워드프레스를 이용하다 보면 ‘렌더링 차단 리소스 제거‘ 설정이란 내용을 플러그인 사용 중 본 경우가 있을 수 있습니다. 워드프레스 렌더링이란 무엇이며, ‘렌더링‘과 ‘렌더링 차단 리소스 제거‘는 무엇을 뜻 하는지 풀어 보도록 하겠습니다. 먼저 렌더링은 HTML, CSS, 자바스크립트 등 웹 사이트의 문서가 웹 브라우저에서 출력 되는 과정입니다. 웹 페이지에 접속 했을 때 브라우저에 표시되는 것이…

  • WP-Cron(wp-cron.php): 비활성화 및 시스템 크론 설정 | 워드프레스 성능 최적화

    워드프레스에서 Cron 작업은 특정 시간이나 날짜에 예약된 작업을 자동으로 수행하는 기능입니다. 이 작업은 wp-cron.php 파일을 통해 실행되며, 워드프레스는 페이지가 로드 될 때마다 이 파일을 호출하여 예약된 작업을 처리합니다. 이러한 방식은 간편하지만, 트래픽이 많은 사이트에서는 성능 저하를 유발할 수 있습니다. Ⅰ. WP-Cron의 실행 과정과 성능 문제 워드프레스는 리눅스 서버의 전통적인 Cron 시스템을 사용하지 않고…

  • [WP] 워드프레스 외모 | 테마 | 사용자 정의하기 | 위젯 | 메뉴 | 4가지 항목 이해 및 설정

    워드프레스 외모 메뉴에 대해 알아 보겠습니다. 관리자 페이지의 외모 메뉴 구성은 테마 | 사용자 정의하기 | 위젯 | 메뉴 | 테마파일 편집기 총 5가지 항목 메뉴로 나뉘어집니다. CSS 설정을 하는 테마파일 편집기를 제외한 나머지 4가지 항목에 대해 알아 보겠습니다. ♣ 워드프레스 외모 설정 개요 외모 설정에서 워드프레스 테마 선택과 설치, 테마 옵션 설정,…

  • [WP] 워드프레스 HTTP 요청 줄이는 방법 7가지

    워드프레스로 만든 웹 사이트가 느리다면 그 중 한 가지 이유는 HTTP 요청 수가 많기 때문일 수 있습니다. 워드프레스에서 요청을 줄여 로딩 속도를 향상 시킬 수 있습니다. HTTP 요청이란? HTTP는 인터넷에서 데이터(HTML, CSS, 이미지, 비디오 등)를 전송하는데 사용되는 프로토콜입니다. 웹 상에는 서버에서 호스팅 되는 많은 정보가 있습니다. 서버의 콘텐츠에 엑세스 하기 위해 브라우저에서 요청을…

  • [WP] 워드프레스 드롭인 플러그인이란?

    워드프레스 드롭인 플러그인Drop-In Plugin은 제한된 Wordpress 기능을 대체하거나 향상 시키는 기능을 가진 플러그인입니다. 추가 기능을 제공하기도 하며 워드프레스 관리자 페이지 플러그인 카테고리에서 확인할 수 있습니다. 하나의 파일로 서버 디렉토리 내의 루트 폴더/wp-content/Drop-In-Plugin명 워드프레스 /wp-content/ 폴더 내에 위치하며, 워드프레스 관리자 페이지 > 플러그인 > 드롭인 플러그인(활성화 된 경우)을 활인할 수 있습니다. 1. 워드프레스 드롭인…

  • [WP] 워드프레스 목차 플러그인 추천[2024년]

    워드프레스로 웹사이트를 운영하면서 여러 플러그인을 설치하고 삭제했지만 특히 워드프레스 목차 플러그인에 대한 개인적인 집착은 워드프레스 사이트를 운영하면서 꾸준하게 구글링 및 목차 플러그인을 비교했다. 아마도 구글에서 Table of Contents 및 wordpress TOC와 같은 검색어로 검색을 100번도 넘게 했을 것이다. 수 많은 목차 플러그인을 설치하고 바꾸기를 반복하며, 결국 현재는 ‘쉬운 목차’ 플러그인을 사용하고 있다. 1….