[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

  • Ghost CMS란? WordPress vs Ghost 2개 CMS 비교

    2023년 워드프레스 CMS 점유율은 43% 정도이며, 압도적인 점유율을 유지하고 있는 콘텐츠 관리 시스템(CMS)이 틀림 없습니다. 워드프레스 테마와 플러그인은 무한에 가까운 확장성을 가지고 있기 때문입니다. Ghost CMS는 콘텐츠 제공 중심 CMS입니다. WordPress vs Ghost 차이점을 알아 보도록 하겠습니다. Ghost CMS는 자바 스크립트로 작성되며, MIT 라이선스에 따라 배포됩니다. 둘 다 무료 오픈소스인 점이 동일합니다. 목차워드프레스 무차별…

  • 워드프레스 RDS 링크 목적과 제거하는 방법

    워드프레스 설치 시 RSD 링크는 기본으로 생성되어 활성화되어 있습니다. 워드프레스 RSD 링크는 외부 애플리케이션이 워드프레스 사이트와 보다 쉽게 통신할 수 있도록 하는 목적을 가지고 있습니다. 이를테면 Windows Live Writer(PC 블로그 작성기), MarsEdit(Mac용 블로그 작성기)에서 작성한 글을 워드프레스에 업로드할 때 활용됩니다. 워드프레스 모바일 앱은 처음에 접속 설정 시 RDS 링크를 사용합니다. RSD 링크는 XML-RPC…

  • 워드프레스 고유주소(Permalink)와 슬러그

    워드프레스 고유주소(Permalink, 영구링크, 고유링크 등)는 도메인 뒤에 붙는 게시물이나 페이지의 전체 URL 주소를 제공합니다. 특정 콘텐츠에 엑세스하는 데 사용되는 Permalink는 워드프레스 콘텐츠의 영구적인 주소로써 URL이 필요한 모든 워드프레스 콘텐츠에 사용됩니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack 방지를 위한 워드프레스 관리 방법1. WordPress 방화벽 플러그인 설치2. 이중 인증 설정(2FA)3. 로그인…

  • BackWPup Plugin 설치 및 설정

    BackWPup 플러그인은 인기 있는 워드프레스 백업 및 복원 플러그인 중 하나입니다. 프리 버전에서 50만 명 이상의 활성 설치와 지속적인 업데이트를 통해 안정성과 기능 향상이 이루어지고 있습니다. 이 페이지에서는 BackWPup 플러그인 설치 후 기본 설정 방법에 대해 알아 보겠습니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute force attack 방지를 위한 워드프레스 관리 방법1….

  • [WP] 워드프레스 미디어 파일 업로드 오류: 업로드한 파일을 wp-content/uploads/20xx

    호스팅 업체가 아닌 워드프레스 웹사이트를 직접 운영하는 경우 “업로드한 파일을 wp-content/uploads/20xx/07(으)로 이동할 수 없습니다.“와 같은 워드프레스 미디어 파일 업로드 오류 메시지를 확인하는 경우가 있습니다. 호스팅 업체에서 서비스를 받고 있다면 별도의 문의를 통해 문제를 해결할 수 있으며, 직접 관리하는 서버의 경우 직접 문제 해결을 해야 합니다. 목차워드프레스 무차별 대입 공격 방어를 위한 플러그인 사용brute…

  • 워드프레스 테마: 용도와 기능으로 보는 테마 선택 기준

    웹사이트를 구축하기 위해 원하는 서비스에 맞는 호스팅 서버까지 구매한 후에 워드프레스를 설치했습니다. 기본 테마로 내 웹사이트를 꾸미는 경우는 거의 없습니다. 워드프레스 테마는 웹사이트의 외형과 기능을 결정하는 핵심 요소입니다. 사이트 운영 목적에 따라 테마 선택 기준도 달라집니다. 예를 들어, 블로그, 포트폴리오, 쇼핑몰 등 목적에 맞는 적절한 레이아웃과 기능이 필요합니다. 테마는 단순한 디자인뿐만 아니라 페이지…