[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

  • 네임서버와 DNS 차이 & 대표적인 DNS 레코드 종류 4가지

    웹 사이트를 새롭게 시작하게 되면 도메인과 호스팅 서버를 알아보게 됩니다. 도메인을 연결 후 네임서버에 도메인을 연결해야 한다는 내용을 호스팅 회사의 홈페이지 또는 직원에게 안내를 받게 되면서 DNS와 네임서버란 단어를 처음 듣게 됩니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack 방지를 위한 워드프레스 관리 방법1. WordPress 방화벽 플러그인 설치2. 이중 인증…

  • 워드프레스 버튼 만들기&링크 추가 방법

    워드프레스에서 콘텐츠를 작성하다 보면 추가 설명이 필요하여 내부 및 외부 링크를 만들어야 하는 경우가 있습니다. 웹사이트의 좋은 사용자 인터페이스(UI)는 좋은 사용자 경험(UX)로 연결되기 때문입니다. 워드프레스 버튼은 구텐베르크 에디터에서 빼 놓을 수 없는 매우 주요한 기능으로 자리 잡았습니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack 방지를 위한 워드프레스 관리 방법1. WordPress…

  • [WP]워드프레스 무료 테마 추천: BEST 9

    워드프레스를 시작하는 경우 어떤 유료 테마와 무료 테마가 좋은지, 운영할 사이트 목적에 적합한 테마를 찾는 일부터 시작해야 합니다. 유료 테마 이전에 설치하려는 워드프레스 무료 테마가 설치 후 삭제하지 않고 사용할 만한 가치가 있는지 미리 검토를 고려하고 싶을 때 체크할 수 있는 무료 테마 리스트입니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force…

  • 워드프레스 FTP 자격증명 해제 방법 2가지

    직접 운영하게 되는 서버 또는 그에 준하는 권한을 가진 서버에 워드프레스를 설치하게 되면 테마와 플러그인 설치 및 업데이트를 진행하게 됩니다. 이때 나타나는 것이 워드프레스 FTP 자격증명 요청 사항입니다. 관리형이 아닌 설치형 워드프레스에서 사용하는 서버 계정의 정보를 알고 있겠지만 FTP 자격증명이 굳이 필요한 사항은 아닙니다. 크게 두 가지 방법으로 해결이 가능합니다. FTP 정보를 항상…

  • 워드프레스 백업 및 복원 3가지 방법

    워드프레스 웹사이트를 운영하다 보면, 예상치 못한 오류나 변경 사항으로 인해 사이트를 이전 버전으로 복원해야 하는 상황이 발생할 수 있습니다. 이러한 경우를 대비해 정기적인 백업은 매우 중요합니다. 백업을 수행하는 방법은 크게 세 가지로 나눌 수 있습니다. 첫째, 웹 호스팅 서비스에서 제공하는 자동 백업 기능을 활용하는 방법입니다. 대부분의 호스팅 업체는 일정 주기로 사이트 데이터를 백업하며,…

  • [WP-Linux] 아이노드란? 워드프레스 호스팅 Inode 주 원인은 많은 사진 양.

    아이노드Inode는 Linux/Unix 파일 시스템에서 사용되는 자료 구조입니다. 모든 파일과 디렉토리는 1개의 아이노드를 가지고 으며,각 1개의 아이노드는 64Byte로 이루어져 있습니다. 워드프레스 호스팅을 사용하면서 Inode 수가 많아지다 체크하게 되었습니다. 디렉토리 내용을 확인할 수 있는 ls 명령어에 -i 옵션을 주었을 경우 inode 갯수를 확인할 수 있습니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack…