Security Blog
Security Blog

プラグインなしでログイン試行を制限しますか?

プラグインを使用せずにWordPressログインページを保護する方法


English version: Limit login attempts without a plugin?


あなたはインターネット上でそれについてたくさんのコメントやアドバイスを見つけることができます。しかし、それは本当ですか?

デフォルトでは、WordPressは、ログインフォーム、特別なCookieの送信、XML-RPC呼び出し、およびRESTAPI呼び出しを使用した無制限のログイン試行を許可します。これにより、ブルートフォース攻撃を介してパスワードを比較的簡単に解読できます。今日、ハッカーやボットは、管理者パスワードとサイトに登録されている他のユーザーのパスワードを推測して、常にWordPressサイトにログインしようとしています。したがって、プラグインを使用せずにサイトを保護したい場合は、次のものが必要です。

  1. PHPをよく知っている。
  2. それらをフックするための認証フィルターとアクション(WordPressに組み込まれている)について十分に理解してください。 'authenticate'や 'wp_login_failed'のようなフックから始めることをお勧めします。
  3. ログイン後のフォーム、XMLRPCおよびRESTAPIの承認リクエストを追跡します。もちろん、承認Cookieを忘れないでください(有効ですか?)。
  4. すべての試行されたログインとすべてのIPアドレスを使用してすべての試行をどこかに保存し、ブロックする必要があるIPをいつどのように計算するかを計算します。 TransientAPIの使用をお勧めします。真剣に。これが最も簡単な方法です。もちろん、それを制御することはできませんが、それを使用すると、SQLの知識がなくても何かを行うことができます。
  5. 特定のIPのログイン試行が失敗するまでの時間を計算します。
  6. これらのカウンターのいずれかをリセットし、顧客のIPをブロックするためのツールまたはPHPコードを用意します。正当な顧客が偶然にブロックされた場合はどうなりますか?

クレイジーに見えますか? 2番目のオプションがあります。保証やサポートなしで、インターネット上のブログからグーグルでコードスニペットを取得できます。

結論:インターネット上でプラグインなしでログイン試行を制限する方法に関する多くのアドバイスを見つけることができます。しかし、すべてのアドバイスは、Stackoverflowのいい人たちを含め、WordPress認証アルゴリズムが正確にどのように機能するかさえ知らない人によって与えられます。しかし、とにかく、PHPコーディングのスキルとWordPress認証メカニズムの知識がなければ、サイトのセキュリティを正しく行うオプションがないため、サイトのセキュリティについて本当に心配する必要がない場合は、それを行うことができます。

あなたが呼ぶつもりのあなたのサイトに何か奇妙なことがあれば?


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.