Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

워드프레스 '사용자 열거 시도 방지' 오류 해결 방법 (2가지 쉬운 방법)

해커가 여러분의 워드프레스 사이트를 해킹하기 위해 사용자 이름부터 알아내려 한다면 걱정되시겠죠?

사실 처음 들으면 크게 와닿지 않을 수 있습니다.

하지만 현실은 다릅니다. 사용자 이름을 찾기 위해 사이트를 탐색하는 것은 해커들이 매우 흔하게 사용하는 공격 수법입니다.

해커가 유효한 사용자 이름을 한 번 확보하면, 이후에는 비밀번호만 맞추면 됩니다. 이때 해커들은 '무차별 대입 공격(Brute Force Attack)'이라 불리는 기법을 사용해 워드프레스 대시보드의 올바른 비밀번호를 무작위로 추측합니다.

그다음엔 웹사이트를 완전히 장악해 온갖 악질적인 행동을 벌입니다. 데이터를 훔치고, 방문자를 다른 사이트로 강제 리디렉션하며, 고객에게 스팸을 발송하는 등 피해는 실로 다양합니다.

하지만 걱정하지 마세요. 사용자 열거 취약점에 대한 조치만 취하면 해커가 사용자 이름을 알아내는 것을 충분히 막을 수 있습니다.

이 가이드에서는 사용자 열거(User Enumeration)가 무엇인지, 그리고 해커가 이를 악용하지 못하도록 방지하는 방법까지 자세히 알아봅니다.

핵심 요약: 사용자 열거는 워드프레스 사이트에 대한 무차별 대입 공격의 성공 확률을 높입니다. 이를 방지하려면 MalCare 보안 플러그인을 설치하세요. 사이트에 대한 무차별 대입 공격을 자동으로 감지하고 차단해 줍니다.

사용자 열거란 무엇인가?

사용자 이름 열거(Username Enumeration)는 해커가 워드프레스 웹사이트의 사용자 정보를 찾아내는 과정입니다. 해커는 사이트를 스캔하여 사용자 정보(이름, 이메일 주소 등)를 수집한 뒤, 이를 이용해 사이트 로그인을 시도합니다.

참고: 여기서 말하는 사용자는 단순 방문자나 고객이 아니라, 워드프레스 관리자 패널에 접근할 수 있는 계정을 의미합니다.

왜 문제가 될까요? 해커들은 무차별 대입 공격(Brute Force Attack)이라는 기법을 통해 사용자 이름과 비밀번호를 추측합니다. 봇을 프로그래밍하여 몇 초 만에 수천 가지 아이디와 비밀번호 조합을 입력하는 것이죠.

그런데 만약 해커가 사용자 이름을 이미 알고 있다면? 그들은 사이트 침입까지 단 한 걸음 남은 상태가 되는 셈입니다.

바로 이 지점에서 사용자 열거가 등장합니다. 해커는 웹사이트에 노출된 작성자 이름과 이메일 주소 등을 분석해 사용자 이름을 알아내려 합니다.

해커가 사용자 이름을 찾는 방법은 여러 가지가 있으며, 효과적인 대책을 세우려면 이들의 공격 방식을 먼저 이해하는 것이 중요합니다.

사용자 열거의 두 가지 유형

사용자 이름은 워드프레스 사이트의 데이터베이스에 저장됩니다. 하지만 해커가 이 정보를 얻기 위해 반드시 데이터베이스에 접근해야 하는 것은 아닙니다.

해커가 워드프레스 사이트에서 사용자를 열거하는 데 사용하는 대표적인 두 가지 기법을 소개합니다.

1. 저자 아카이브(Author Archive) 활용

워드프레스 사이트의 모든 사용자에게는 고유한 ID가 부여됩니다. 워드프레스는 이 ID로 데이터베이스 내 해당 사용자 계정을 참조합니다.

그리고 사용자가 페이지나 글을 작성하면, 워드프레스는 이 데이터를 저자 아카이브(Author Archive) 형태로 저장합니다.

저자 아카이브는 말 그대로 글과 페이지를 작성자별로 분류해 놓은 것입니다.

해커는 사이트에서 스크립트를 실행해 저자 아카이브를 불러온 뒤 사용자 ID를 파악할 수 있습니다. 이어서 추가 스크립트를 실행해 해당 ID와 연결된 사용자 이름까지 알아냅니다.

2. 로그인 폼 활용

워드프레스 로그인 페이지에서 잘못된 사용자 이름을 입력하면 다음과 같은 오류 메시지가 표시됩니다.

워드프레스  사용자 열거 시도 방지  오류 해결 방법 (2가지 쉬운 방법)

반면 유효한 사용자 이름에 잘못된 비밀번호를 입력하면, 워드프레스는 다음과 같이 다른 메시지를 보여줍니다.

워드프레스  사용자 열거 시도 방지  오류 해결 방법 (2가지 쉬운 방법)

이 두 메시지의 차이는 곧 'user1@example.com'이라는 사용자 이름이 실제로 존재하며, 틀린 것은 비밀번호뿐이라는 사실을 알려주는 셈입니다.

해커는 Burp Intruder 같은 도구를 이용해 가능한 사용자 이름 목록을 대량으로 입력하고, 워드프레스의 응답을 분석해 유효한 계정을 찾아냅니다.

이런 방법으로 해커는 사용자 이름을 발견하고 해킹에 한 걸음 더 다가갑니다. 다행히 적절한 보안 조치를 통해 이런 시도를 막을 수 있습니다.

사용자 열거 시도를 막는 방법

사용자 열거를 차단하는 방법은 플러그인을 사용하는 것과 워드프레스 파일에 직접 코드를 삽입하는 것, 두 가지가 있습니다. 사소한 실수 하나로도 사이트가 손상될 수 있어 코드 직접 수정 방식은 권장하지 않지만, 참고를 위해 두 가지 방법 모두 소개합니다.

1. Stop User Enumeration 플러그인 설치

가장 쉽고 효율적인 방법입니다. 워드프레스 저장소에서 'Stop User Enumeration' 플러그인을 검색해 설치하면 됩니다.

이름 그대로, 이 플러그인은 해커가 사이트를 스캔해 사용자 이름을 수집하지 못하도록 차단하도록 설계되었습니다.

또한 사용자 열거를 시도한 IP 주소를 기록하는 편리한 기능도 갖추고 있습니다. IP 주소는 인터넷에 연결된 장치에 부여되는 고유 식별 코드입니다. MalCare와 같은 워드프레스 방화벽 플러그인은 악성 행위를 하는 IP 주소를 감지하고, 해당 주소의 사이트 접근을 차단하도록 설계되어 있습니다.

사이트에 방화벽이 설치되어 있다면, Stop User Enumeration 플러그인이 제공하는 IP 기록을 방화벽의 차단 목록과 교차 확인해 보세요. 차단되지 않았다면 대부분의 방화벽에서 해당 IP를 수동으로 블랙리스트에 추가할 수 있습니다. 이후 방화벽이 자동으로 해당 IP의 접근을 영구적으로 막아줍니다.

2. 코드 직접 삽입으로 사용자 열거 차단

주의: 이 방법은 권장하지 않습니다. 그럼에도 진행하려면 반드시 먼저 워드프레스 사이트를 백업하세요. 문제가 생기더라도 백업본으로 복원할 수 있습니다.

1단계: 호스팅 계정에 로그인한 뒤, cPanel > 파일 관리자(File Manager)로 이동합니다. (FileZilla 같은 FTP 프로그램을 사용해도 됩니다.)

워드프레스  사용자 열거 시도 방지  오류 해결 방법 (2가지 쉬운 방법)

2단계: public_html 폴더를 연 뒤 wp-content로 이동하고, 현재 활성화된 테마 폴더에 접근합니다. 반드시 사이트에서 실제 사용 중인 테마를 선택하세요.

워드프레스  사용자 열거 시도 방지  오류 해결 방법 (2가지 쉬운 방법)

3단계: 테마 폴더에서 functions.php 파일을 찾습니다. 마우스 오른쪽 버튼을 클릭해 편집합니다.

4단계: 아래 코드를 추가합니다.


/**
* Block User Enumeration
*/
function kl_block_user_enumeration_attempts() {

if ( is_admin() ) return;

$author_by_id = ( isset( $_REQUEST['author'] ) && is_numeric( $_REQUEST['author'] ) );

if ( $author_by_id )
wp_die( 'Author archives have been disabled.' );
}

add_action( 'template_redirect', 'kl_block_user_enumeration_attempts' );

변경 사항을 저장하고 파일을 닫으면, 사이트에서 사용자 열거가 차단됩니다.

여기까지가 사용자 열거로부터 웹사이트를 보호하는 방법이었습니다. 추가로, 사이트에 쉽게 노출되지 않는 사용자 이름을 사용하는 것도 강력히 권장합니다. 예를 들어 팀원이나 블로그 작성자의 이름이 사이트에 게시된다면, 관리자 계정 이름은 별도로 다르게 설정하는 것이 안전합니다.

마무리 생각

워드프레스 사이트에서 사용자 열거를 차단하면 무차별 대입 공격의 위험도 함께 줄어듭니다. 해커는 보통 해킹이 쉬운 사이트를 표적으로 삼기 때문에, 봇이 몇 번 실패하면 다른 사이트로 이동하는 경우가 많습니다.

하지만 무차별 대입 공격은 워드프레스 사이트를 지켜야 할 수많은 보안 위협 중 하나일 뿐입니다.

따라서 정기적으로 사이트를 스캔해 멀웨어 감염 여부를 점검하고, 해커의 접근을 선제적으로 차단해 주는 보안 플러그인을 활성화하는 것을 강력히 권장합니다.

사이트가 안전하게 보호되고 있다는 확신 속에서 안심하고 운영하실 수 있을 것입니다.

MalCare로 여러분의 워드프레스 사이트를 지금 바로 보호하세요!