Security Blog
Security Blog

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

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


English version: Limit login attempts without a plugin?


インターネット上には、それに関するコメントやアドバイスがたくさんあります。しかし、それは本当ですか?

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

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

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

結論:インターネットでプラグインを使用せずにログイン試行を制限する方法について、多くのアドバイスを見つけることができます。しかし、すべてのアドバイスは、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.