WordPress에서 로그인 시도를 제한해야 하는 방법과 이유(플러그인+코드)

게시 됨: 2024-04-13

귀하의 WordPress 사이트는 온라인 세계의 집과 같습니다. 침입자를 막기 위해 문을 잠그는 것처럼 사이버 위협으로부터 웹사이트를 보호하는 것도 중요합니다.

이를 수행하는 한 가지 현명한 방법은 로그인 시도를 제한하는 것입니다. 이는 마치 문에 경비원을 설치하여 누군가 몰래 들어오려는 것을 막을 준비를 하는 것과 같습니다. 그리고 아시다시피 WordPress는 모든 해커의 공통 표적입니다. Colorlib에서 공유한 WordPress 보안에 대한 최근 통계에 따르면

매일 최소 13,000개의 WordPress 웹사이트가 해킹당합니다.

따라서 웹사이트를 보호하려면 WordPress 웹사이트에 대한 로그인 시도를 제한해야 합니다.

로그인 시도를 제한하는 방법이 궁금하다면 걱정하지 마세요. 이 단계별 튜토리얼에서는 WordPress에서 로그인 시도를 10분 미만으로 제한하는 방법을 보장합니다.

흥분한? 엄청난. 시작하자!

WordPress에서 로그인 시도를 제한해야 하는 이유

사이트에서 로그인 시도를 제한하는 주된 이유는 웹사이트를 보호하기 위한 것입니다. 로그인 시도를 제한하는 세 가지 주요 이유는 다음과 같습니다.

(I) 무차별 공격을 중지합니다.

무차별 대입 공격은 해커가 자동화된 도구를 사용하여 액세스 권한을 얻을 때까지 반복적으로 사용자 이름과 비밀번호를 추측하는 일반적인 전술입니다.

기본적으로 WordPress에서는 무제한 시도를 허용하므로 공격자가 시행착오를 통해 쉽게 성공할 수 있습니다. 시도를 제한하면 무차별 대입 공격이 성공할 가능성이 크게 줄어듭니다.

(II) 크리덴셜 스터핑 방지

크리덴셜 스터핑은 (다른 데이터 유출로 인해) 도난당한 사용자 이름과 비밀번호 조합을 사용하여 다른 웹사이트에 로그인을 시도하는 것과 관련됩니다.

제한된 시도로 도난당한 자격 증명을 사용하더라도 공격자는 올바른 자격 증명을 추측하기 전에 차단됩니다.

(III) 보안 부담 감소

무제한 시도는 로그인 요청의 홍수로 이어질 수 있으며, 서버를 압도하고 웹사이트 성능에 영향을 줄 수 있습니다.

시도를 제한하면 로그인 실패 횟수가 줄어들어 서버 리소스에 대한 부담이 줄어듭니다.

또한 읽어 보세요: 2024년의 자세한 WordPress 웹사이트 보안 체크리스트

WordPress에서 로그인 시도를 제한하는 2가지 쉬운 방법

이것은 블로그의 특집 이미지입니다 - WordPress에서 로그인 제한을 제한하는 방법

이제 로그인 시도를 제한해야 하는 이유를 알았습니다. 이제 그 방법을 보여줄 시간입니다. 주로 WordPress에서 로그인 시도를 제한하는 두 가지 방법이 있습니다. 그들은:

  • 플러그인을 사용하여 로그인 시도 제한
  • 로그인 시도를 수동으로 제한

필요한 스크린샷과 코드를 통해 두 가지 방법을 모두 보여드리겠습니다. 그럼 더 이상 고민하지 말고 튜토리얼을 시작하겠습니다!

방법 01: 플러그인을 사용하여 WordPress에서 로그인 시도 제한

솔직히 말해서 WordPress에 로그인 시도를 제한하는 플러그인이 여러 가지 있습니다. WordPress 플러그인 저장소로 이동하여 "WordPress 제한 로그인 플러그인" 플러그인을 검색하면 여러 플러그인을 얻을 수 있습니다. 원하는 대로 신뢰할 수 있는 플러그인을 선택하세요.

그러나 이 튜토리얼에서는 "다시 로드된 로그인 시도 제한" 플러그인을 사용하여 WordPress 사이트에 대한 로그인 시도를 제한하는 방법을 보여 드리겠습니다. 이 플러그인은 이 카테고리에서 가장 인기 있는 플러그인으로, 200만 건 이상의 활성 설치와 믿을 수 없는 평점 5점 만점에 4.9점을 받았습니다.

이제 튜토리얼을 시작하겠습니다!

01단계: 로그인 시도 제한 다시 로드 플러그인 설치

WordPress 백엔드에 로그인하고 Plugins -> Add New Plugin 으로 이동합니다. 플러그인을 검색할 수 있는 검색창이 있습니다. 플러그인 이름 – Limit Login Attempts Reloaded를 입력한 후 검색 결과에서 플러그인을 설치하세요.

마지막으로 플러그인을 활성화하여 사이트에서 사용하세요.

이 스크린샷은 로그인 시도 다시 로드 제한 플러그인을 설치하고 활성화하는 방법을 보여줍니다.

02단계: 다시 로드된 로그인 시도 제한 플러그인 구성

플러그인을 활성화한 후 WordPress 대시보드로 이동합니다. 왼쪽 패널에 로그인 시도 제한이라는 새로운 옵션이 있습니다.

이제 로그인 시도 제한 옵션 위에 마우스를 놓고 설정 버튼을 클릭하세요. 새로운 인터페이스로 이동하게 됩니다.

여기에서 GDPR 준수 옵션을 클릭하여 로그인 페이지에 GDPR 메시지를 표시할 수 있습니다. 또한, 귀하의 사이트에서 누가 잠겼는지에 대한 업데이트를 받으려면 여기에 이메일을 입력해야 합니다.

로그인 시도 다시 로드 제한 설정 페이지의 스크린샷입니다.

이제 조금 아래로 스크롤하여 로컬 앱 세그먼트에 집중하세요.

구성할 수 있는 몇 가지 옵션은 다음과 같습니다.

  • 허용된 재시도: 잠기기 전에 허용되는 실패한 시도 횟수입니다.
  • 분 잠금: 잠금 시간(분)입니다.
  • 잠금 시간 : 지정된 잠금 횟수 이후에는 잠금 시간이 지정된 시간만큼 늘어납니다.
  • 재시도가 재설정될 때까지의 시간: 블록이 제거되기까지의 시간(시간)입니다.
로그인 시도 제한 설정을 보여주는 스크린샷입니다.

이러한 옵션을 구성한 후 모든 변경 사항을 저장하려면 설정 저장 버튼을 누르는 것을 잊지 마십시오.

03단계: 작동하는지 확인

이제 WordPress 웹사이트에서 로그아웃하고 잘못된 자격 증명으로 다시 로그인해 보세요. 남은 시도 횟수가 표시되거나 차단되면 완벽하게 작동한다고 말할 수 있습니다.

WordPress 로그인 페이지의 스크린샷입니다.

이제 로그인 시도 제한 -> 대시보드 로 이동하여 실패한 로그인 보고서를 확인하세요.

그게 다야!

이것이 WordPress 플러그인을 사용하여 웹사이트에서 로그인 시도를 제한하는 방법입니다.

방법 02: 수동으로 로그인 시도 제한(코딩)

로그인 시도를 제한하기 위해 추가 플러그인을 추가하고 싶지 않다면, function.php 파일에 액세스하여 추가할 수 있습니다.

그렇게 하려면 제어판(cPanel)에 로그인해야 합니다. 그런 다음 파일 관리자 -> public_html -> wp-content -> 테마 -> 현재 활성화된 테마로 이동하세요.

거기에서 function.php 파일을 찾을 수 있습니다.

이 이미지는 function.php 파일을 보여줍니다.

파일을 클릭하고 파일 하단에 이 코드를 붙여넣습니다.

마지막으로 파일을 저장하여 이 프로세스를 완료합니다.

 function check_attempted_login( $user, $username, $password ) { if ( get_transient( 'attempted_login' ) ) { $datas = get_transient( 'attempted_login' ); if ( $datas['tried'] >= 3 ) { $until = get_option( '_transient_timeout_' . 'attempted_login' ); $time = time_to_go( $until ); return new WP_Error( 'too_many_tried', sprintf( __( '<strong>ERROR</strong>: You have reached authentication limit, you will be able to try again in %1$s.' ) , $time ) ); } } return $user; } add_filter( 'authenticate', 'check_attempted_login', 30, 3 ); function login_failed( $username ) { if ( get_transient( 'attempted_login' ) ) { $datas = get_transient( 'attempted_login' ); $datas['tried']++; if ( $datas['tried'] <= 3 ) set_transient( 'attempted_login', $datas , 300 ); } else { $datas = array( 'tried' => 1 ); set_transient( 'attempted_login', $datas , 300 ); } } add_action( 'wp_login_failed', 'login_failed', 10, 1 ); function time_to_go($timestamp) { // converting the mysql timestamp to php time $periods = array( "second", "minute", "hour", "day", "week", "month", "year" ); $lengths = array( "60", "60", "24", "7", "4.35", "12" ); $current_timestamp = time(); $difference = abs($current_timestamp - $timestamp); for ($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i ++) { $difference /= $lengths[$i]; } $difference = round($difference); if (isset($difference)) { if ($difference != 1) $periods[$i] .= "s"; $output = "$difference $periods[$i]"; return $output; } }

이제 WordPress 사이트에서 로그아웃하고 잘못된 자격 증명으로 다시 로그인해 보세요. 귀하의 웹 사이트에서 귀하가 잠긴 경우 이는 귀하의 WordPress 웹 사이트에 대한 로그인 시도 제한 기능을 성공적으로 구현했음을 의미합니다.

WordPress 로그인 페이지의 스크린샷입니다.

축하해요!

이제 플러그인을 사용하거나 사용하지 않고 WordPress에서 로그인 시도를 제한하는 방법을 알았습니다.

보너스: 로그인 보안을 향상시키는 모범 사례

WordPress 사이트의 로그인 보안을 개선하는 것은 웹사이트와 해당 데이터를 무단 액세스로부터 보호하는 데 중요합니다.

로그인 보안을 강화하기 위한 몇 가지 모범 사례는 다음과 같습니다.

  • 강력한 로그인 비밀번호 설정 : WordPress 로그인에 복잡하고 고유한 비밀번호를 사용하세요. “password123”과 같은 일반적인 비밀번호나 쉽게 추측할 수 있는 문구는 피하세요. 대문자와 소문자, 숫자, 특수 문자를 혼합하여 선택하세요. 일반적으로 비밀번호가 길수록 더 안전합니다. 또한 비밀번호 관리자를 사용하여 비밀번호를 생성하고 안전하게 저장하는 것을 고려해 보세요.
  • reCAPTCHA 사용 : reCAPTCHA를 로그인 페이지에 통합하여 자동화된 봇이 사이트에 무차별 공격을 시도하는 것을 방지합니다. reCAPTCHA에서는 사용자가 이미지 선택, 퍼즐 ​​풀기 등의 간단한 과제를 완료하여 자신이 사람인지 확인해야 합니다. 이를 통해 합법적인 사용자가 방해 없이 사이트에 액세스할 수 있도록 허용하면서 악성 봇을 차단하는 데 도움이 됩니다.
  • 2FA(2단계 인증) 구현 : 단순한 비밀번호 이상의 추가 보안 계층을 위해 2단계 인증을 활성화합니다. 2FA를 사용하면 사용자는 비밀번호 외에 모바일 장치로 전송되거나 인증 앱에서 생성된 임시 코드와 같은 두 번째 형태의 확인을 제공해야 합니다. 이는 비밀번호가 유출된 경우에도 무단 액세스의 위험을 크게 줄여줍니다.
  • 비활성 사용자 비활성화 : 비활성 사용자 계정을 정기적으로 검토하고 비활성화하여 무단 액세스 위험을 최소화합니다. 사용되지 않거나 휴면 계정은 해커가 악용하기 쉬운 대상이 될 수 있습니다. 특정 기간 동안 비활성화된 계정을 비활성화하거나 사용자가 주기적으로 활동을 확인하도록 요구하는 자동화된 프로세스를 구현하는 것을 고려하세요.

이러한 모범 사례를 구현하면 WordPress 사이트의 로그인 보안을 크게 향상시켜 무단 액세스 위험을 줄이고 악의적인 활동에 대한 전반적인 보호를 강화할 수 있습니다.

WordPress에서 로그인 시도를 제한하는 방법 마무리

WordPress에서 로그인 시도를 제한하는 방법에 대한 가이드는 여기까지입니다! 이 간단한 단계가 온라인 위협으로부터 사이트를 안전하게 보호하는 데 큰 변화를 가져올 수 있다는 점을 기억하세요. 이는 디지털 도어에 자물쇠를 두는 것과 같습니다. 이는 귀중한 정보를 보호하는 데 필수적입니다.

웹 사이트를 진행할 때 보안을 염두에 두십시오. 최신 보안 팁에 대한 최신 정보를 유지하고 필요에 따라 조치를 조정할 준비를 하십시오. 결국 사이트를 안전하게 유지하는 것은 지속적인 작업입니다.

따라서 사이트의 보안을 강화하는 데 자신감을 가지십시오. 로그인 시도를 제한하면 자신뿐만 아니라 방문자도 보호할 수 있습니다. 한 번에 한 단계씩 더 안전하고 행복한 WordPress 커뮤니티를 만들어 보세요. 안전을 유지하고 온라인에서 계속 번창하세요!

weDevs 블로그 구독

매주 뉴스레터를 보내드립니다. 스팸은 전혀 없습니다.