WordPress でログイン試行を制限する方法とその理由 (プラグイン + コード)
公開: 2024-04-13あなたの WordPress サイトは、オンライン世界におけるあなたの家のようなものです。 侵入者を防ぐためにドアに鍵をかけるのと同じように、Web サイトをサイバー脅威から保護することが不可欠です。
これを行うための賢い方法の 1 つは、ログイン試行を制限することです。 これは、門に警備員を設置して、侵入しようとする者を阻止するようなものです。そしてご存知のとおり、WordPress はすべてのハッカーにとって共通の標的です。 Colorlib が共有する WordPress のセキュリティに関する最近の統計は、次のことを示しています。
毎日少なくとも 13,000 の WordPress Web サイトがハッキングされています。
したがって、Web サイトを保護するには、WordPress Web サイトへのログイン試行を制限する必要があります。
ログイン試行を制限する方法がわからない場合でも、心配する必要はありません。 このステップバイステップのチュートリアルでは、 WordPress でのログイン試行を 10 分以内に制限する方法を説明します。
興奮した? 素晴らしい。 始めましょう!
WordPress でログイン試行を制限する必要がある理由
サイトでのログイン試行を制限する主な理由は、Web サイトを保護することです。 ログイン試行を制限する主な理由は次の 3 つです。
(I) ブルートフォース攻撃を阻止する
ブルートフォース攻撃は、ハッカーが自動ツールを使用して、アクセスできるまでユーザー名とパスワードを繰り返し推測する一般的な戦術です。
デフォルトでは、WordPress では無制限の試行が許可されているため、攻撃者は試行錯誤を経て成功することが容易になります。 試行を制限すると、ブルートフォース攻撃が成功する可能性が大幅に減少します。
(II) クレデンシャルスタッフィングの防止
クレデンシャル スタッフィングでは、(他のデータ侵害から) 盗んだユーザー名とパスワードの組み合わせを使用して、別の Web サイトへのログインを試みます。
試行が制限されているため、たとえ盗まれた資格情報が使用されたとしても、攻撃者は正しい資格情報を推測する前にロックアウトされます。
(III) セキュリティ負担の軽減
無制限に試行するとログイン要求が殺到し、サーバーに負荷がかかり、Web サイトのパフォーマンスに影響を与える可能性があります。
試行を制限すると、ログインの失敗数が減り、サーバーのリソースへの負担が軽減されます。
こちらもお読みください: 2024 年の詳細な WordPress ウェブサイト セキュリティ チェックリスト
WordPress でのログイン試行を制限する 2 つの簡単な方法
これで、ログイン試行を制限する必要がある理由がわかりました。 今度はその方法を紹介します。 WordPress でログイン試行を制限するには主に 2 つの方法があります。 彼らです:
- プラグインを使用してログイン試行を制限する
- ログイン試行を手動で制限する
必要なスクリーンショットとコードを使用して両方の方法を説明します。 それでは、さっそくチュートリアルを始めてみましょう。
方法 01: プラグインを使用して WordPress でのログイン試行を制限する
正直に言うと、WordPress のログイン試行制限プラグインがいくつか利用可能です。 WordPress プラグイン リポジトリにアクセスし、「WordPress ログイン制限プラグイン」というプラグインを検索するだけで、多数のプラグインが表示されます。 好みに応じて信頼できるプラグインを選択してください。
ただし、このチュートリアルでは、「Limit Login Attempts Reloaded」プラグインを使用して、WordPress サイトのログイン試行を制限する方法を説明します。 これは、このカテゴリで最も人気のあるプラグインで、200 万以上のアクティブ インストールがあり、5 段階中 4.9 という信じられないほどの評価を獲得しています。
さあ、チュートリアルを始めましょう!
ステップ 01: ログイン試行制限リロードプラグインをインストールする
WordPress バックエンドにログインし、 [プラグイン] -> [新しいプラグインの追加]に移動します。 プラグインを検索するための検索ボックスがあります。 プラグイン名「ログイン試行回数を制限する」を入力し、検索結果からプラグインをインストールします。
最後に、プラグインを有効にしてサイトで使用します。
ステップ 02: リロードされたログイン試行制限プラグインを構成する
プラグインを有効化したら、WordPress ダッシュボードに移動します。 左側のパネルに新しいオプション [ログイン試行の制限]が表示されます。
次に、 「ログイン試行の制限」オプションにマウスを置き、 「設定」ボタンをクリックします。 新しいインターフェースが表示されます。
ここで GDPR 準拠オプションをクリックすると、ログイン ページに GDPR メッセージが表示されます。 また、サイトからロックアウトされているユーザーに関する最新情報を入手するには、ここに電子メールを入力する必要があります。
次に、少し下にスクロールして、ローカル アプリ セグメントに焦点を当てます。
構成するオプションがいくつかあります。
- 許可された再試行:ロックアウトされるまでに許容される失敗の試行回数。
- 分単位のロックアウト:ロックアウト時間 (分単位)。
- ロックアウト時間: 指定したロックアウト回数を超えると、ロックアウト時間は指定した時間だけ増加します。
- 再試行がリセットされるまでの時間:ブロックが削除されるまでの時間 (時間単位)。
これらのオプションを設定した後、忘れずに「設定を保存」ボタンを押してすべての変更を保存してください。
ステップ 03: 動作しているかどうかを確認する
次に、WordPress Web サイトからログアウトし、間違った認証情報で再度ログインしてみます。 残りの試行回数が表示されるか、ロックアウトされる場合は、完全に機能していると言えます。
ここで、 「ログイン試行の制限」 -> 「ダッシュボード」に移動して、ログイン失敗レポートを確認します。
それだけです!
これが、WordPress プラグインを使用して Web サイトでのログイン試行を制限する方法です。
方法 02: ログイン試行を手動で制限する (コーディング)
ログイン試行を制限するために追加のプラグインを追加したくない場合は、functions.php ファイルにアクセスして追加できます。
これを行うには、コントロール パネル (cPanel) にログインする必要があります。 次に、ファイルマネージャー -> public_html -> wp-content -> テーマ-> 現在アクティブ化されているテーマに移動します。
そこに、 functions.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 サイトからログアウトし、間違った資格情報で再度ログインしてみます。 Web サイトからロックアウトされた場合は、WordPress Web サイトにログイン試行回数の制限機能が正常に実装されたことを意味します。
おめでとう!
これで、プラグインを使用する場合と使用しない場合の WordPress でのログイン試行を制限する方法がわかりました。
ボーナス: ログインのセキュリティを向上させるためのベスト プラクティス
WordPress サイトのログイン セキュリティを向上させることは、Web サイトとそのデータを不正アクセスから保護するために重要です。
ログインのセキュリティを強化するためのベスト プラクティスをいくつか紹介します。
- 強力なログイン パスワードを設定する: WordPress ログインには複雑で固有のパスワードを使用します。 「password123」などの一般的なパスワードや、簡単に推測できるフレーズは避けてください。 大文字と小文字、数字、特殊文字を組み合わせて使用します。 一般に、パスワードが長いほど安全性が高くなります。 さらに、パスワードを生成して安全に保存するために、パスワード マネージャーの使用を検討してください。
- reCAPTCHA を使用する: reCAPTCHA をログイン ページに統合して、自動ボットがサイトにブルート フォースで侵入しようとするのを防ぎます。 reCAPTCHA では、画像の選択やパズルの解決などの簡単な課題を完了することで、ユーザーが人間であることを確認する必要があります。 これにより、悪意のあるボットをブロックしながら、正規のユーザーが障害なくサイトにアクセスできるようになります。
- 2 要素認証 (2FA) を実装する: 単なるパスワードを超えた追加のセキュリティ層として 2 要素認証を有効にします。 2FA では、ユーザーはパスワードに加えて、モバイル デバイスに送信される一時コードや認証アプリによって生成される一時コードなど、2 番目の認証形式を提供する必要があります。 これにより、パスワードが侵害された場合でも、不正アクセスのリスクが大幅に軽減されます。
- 非アクティブなユーザーを無効にする: 非アクティブなユーザー アカウントを定期的に確認して無効にし、不正アクセスのリスクを最小限に抑えます。 未使用または休眠中のアカウントは、ハッカーにとって悪用されやすいターゲットとなる可能性があります。 指定した期間非アクティブだったアカウントを非アクティブ化するか、ユーザーにアクティビティの定期的な確認を要求する自動プロセスの実装を検討してください。
これらのベスト プラクティスを実装することで、WordPress サイトのログイン セキュリティを大幅に向上させ、不正アクセスのリスクを軽減し、悪意のあるアクティビティに対する全体的な保護を強化することができます。
WordPress でログイン試行を制限する方法のまとめ
WordPress でのログイン試行の制限に関するガイドは以上です。 この簡単な手順が、サイトをオンラインの脅威から守る上で大きな違いを生む可能性があることを忘れないでください。 これはデジタルのドアに鍵をかけるようなもので、貴重な情報を保護するために不可欠です。
Web サイトの運営を進めるときは、セキュリティを念頭に置いてください。 最新のセキュリティに関するヒントを常に入手し、必要に応じて対策を調整できるようにしてください。 結局のところ、サイトを安全に保つことは継続的な仕事です。
したがって、安心してサイトのセキュリティを強化してください。 ログイン試行を制限すると、自分自身を保護するだけでなく、訪問者も保護できます。 より安全で幸せな WordPress コミュニティを目指して、一歩ずつ進んでください。 安全を確保し、オンラインで繁栄し続けましょう!