WordPressは、初期状態ではログインURLが固定されているため、誰でもログインページを開くことができます。そのため、このURLに対してDOSS攻撃を仕掛ける悪意あるユーザーはいなくなりません。
もっとも良い方法はログインURLを変更したり、2段階認証を設定してしまうことですが、会員制サイトやWooCommerceなど、ユーザーがログインして何かすることがサービスの必要条件になっている場合、ログインURLを変更しても、そのログインURLを公にしないといけないため、悪意あるユーザーにとっては少しめんどくさくなるだけで、不正攻撃を止めることができません。
2段階認証の仕組みをフロントエンドで実装して、全てのユーザーに設定させるようなプラグインもないですしね。(バックエンドはあります。)
しかも、不正なログイン試行の分だけサーバーリソースも消費してしまいます。
そこで、そんな時はWordPress向けのGoogle reCAPTCHAプラグインの導入をおすすめします。
Advanced noCaptcha & invisible captcha
いくつか候補がありますが、私が実際に選んだのはAdvanced noCaptcha & invisible captchaでした。
このプラグインはサポートは有料なものの、他のプラグインはマルチサイトやWooCommerceの対応を有料版にしてマネタイズしていたのに対し、マルチサイトやWooCommerce、ContactFrom 7にも無料で対応していました。
というわけで、実質これ一択かと思います。reCAPTCHAの取得方法も専用のブログ記事で説明しており、困ることはほぼないかと思います。
- WooCommerceに対応
- マルチサイトに対応
- テンプレートを調整する必要はない
- コンタクトフォーム7に対応
- bbPressに対応
- バージョンを選べる
- Googleからキーを取得するだけで使える
Advanced noCaptcha & invisible captcha
reCAPTUREプラグインはログイン試行をサーバーで行う前に、悪意あるボットによるログイン試行を検知して拒否してくれる仕組みです。フロントエンドだけで処理が行われるのでサーバーの負荷もありません。
2段階認証と合わせて導入すると良いと思いますし、当サイトもそうしています。