WordPressのログイン画面には、今この瞬間も、世界中から自動的なログイン試行が届いています。
これは大げさな表現ではありません。誰かがあなたのサイトを名指しで狙っているわけではなく、機械が無差別に、大量のサイトへ片っ端からログインを試しているのです。WordPressのログイン画面のURLは全世界共通なので、機械にとっては探す手間すらかかりません。
この記事では、その仕組みと、今日中にできる5つの対策をご説明します。専門知識は必要ありません。
何が行われているのか
最も多いのが「総当たり攻撃」と呼ばれる手口です。名前のとおり、ユーザー名とパスワードの組み合わせをひたすら試し続けます。
人間が手で入力するなら現実的ではありませんが、これは機械が実行します。1秒間に何十回という速度で、しかも24時間止まりません。
試されるパスワードは完全にランダムなわけではなく、過去に流出したパスワードの一覧や、よく使われる文字列が優先的に使われます。「password」「123456」「サイト名+123」といったものは、真っ先に試されると考えてください。
そして厄介なのが、ユーザー名の方です。WordPressは初期設定のままだと投稿者名からユーザー名が推測できてしまうことがあります。攻撃する側から見れば、当てるべき組み合わせが半分に減るわけです。
狙われているかどうかを確認する
まず知っておいていただきたいのは、試行されていること自体は異常ではないということです。公開されているWordPressサイトであれば、大なり小なり必ず届いています。
問題は「成功されているかどうか」です。次の3点を確認してください。
- ユーザー一覧に見覚えのないアカウントがないか……管理画面の「ユーザー」を開き、特に権限が「管理者」のものを確認します
- 身に覚えのないパスワード変更メールが届いていないか……何度も届いている場合、試行が集中しているサインです
- 管理画面が急に重くなっていないか……大量の試行はサーバーに負荷をかけます
見覚えのない管理者アカウントが存在した場合、すでに侵入されている可能性があります。その場合の対応は改ざんを確認する5つのサインにまとめていますので、あわせてご確認ください。
今日中にできる5つの対策
対策1:パスワードを作り直す(最優先)
他のすべての対策より、まずこれです。十分に長く複雑なパスワードは、総当たり攻撃に対して現実的に破られません。
ポイントは長さです。記号を混ぜることより、文字数を増やすほうが効果が大きいと考えてください。WordPressのユーザー編集画面には自動生成ボタンがあるので、それを使うのが最も簡単です。
そして、他のサービスと同じパスワードを使わないこと。どこか別のサービスから流出した場合、そのまま試されます。
対策2:不要なアカウントを削除する
制作時に作った作業用アカウント、退職した担当者のアカウントなどが残っていないか確認してください。使われていないアカウントは、管理されていないアカウントでもあります。
削除する際、そのアカウントが書いた記事は別のユーザーに引き継ぐ選択肢が表示されるので、記事が消える心配はありません。
対策3:ログイン試行の回数制限をかける
「5回間違えたら15分間ロックする」といった制限をかける方法です。総当たり攻撃は大量に試せることが前提なので、回数を制限するだけで成立しなくなります。
多くのレンタルサーバーには、この機能が管理画面に用意されています。まずはサーバー側の機能を確認してください。プラグインを追加するより動作が軽く、管理も楽です。
対策4:二段階認証を設定する
パスワードに加えて、スマートフォンに表示される数字の入力を求める仕組みです。パスワードが漏れても、それだけではログインできなくなります。
ログインのたびに一手間かかるため敬遠されがちですが、売上に直結するサイトであれば設定する価値は十分にあります。
対策5:ログイン画面のURLを変更する
共通のURLを別のものに変えることで、機械的なアクセスの大半が届かなくなります。ただし、これは根本的な対策ではなく、玄関の場所を移すだけという点は理解しておいてください。
対策1〜4を済ませたうえで、追加で行うものと位置づけるのが適切です。
あわせて設定しておきたいのがログイン通知です。管理画面にログインがあった際にメールで知らせる仕組みで、セキュリティ系プラグインやサーバー機能で用意されています。身に覚えのないログインに即座に気づけるため、被害を最小限に抑えられます。
意外な盲点:ユーザー名が公開されている
パスワードを強くしても、ユーザー名が分かっていれば攻撃の効率は倍以上になります。そして多くのWordPressサイトでは、ユーザー名が外から確認できる状態になっています。
確認方法
ブラウザで、自分のサイトに次のURLを付けてアクセスしてみてください。
https://あなたのドメイン.com/?author=1
このとき、アドレスバーのURLが自動的に切り替わり、末尾にユーザー名が表示されることがあります。表示された場合、それが管理者のログインIDです。
また、記事の「投稿者」欄に表示されている名前が、そのままログインIDになっているケースも非常に多く見られます。
対処法
WordPressではユーザー名(ログインID)を後から変更できません。そのため、次のいずれかで対応します。
- 「ブログ上の表示名」を別のものに変える……ユーザー編集画面で設定できます。これだけで投稿者名からの推測は防げます
- 新しい管理者アカウントを作り、古いほうを削除する……確実ですが、記事の引き継ぎ設定が必要です
まずは表示名の変更から試してみてください。数分で終わり、効果もあります。
注意:自分が入れなくなる事故に気をつける
セキュリティ対策でよくある失敗が、設定を厳しくしすぎて自分がログインできなくなるというものです。
特に次の2つは実際によく起きます。
- ログインURLを変更したが、新しいURLを控え忘れた
- 二段階認証を設定したスマートフォンを機種変更し、認証アプリを移行し忘れた
どちらも復旧にはサーバー側での作業が必要になり、手間がかかります。設定を変更したら、必ず控えを残してください。そして作業前にはバックアップを取っておくと安心です。
まとめ
ログイン画面への攻撃は、防ぐことはできません。届き続けます。できるのは「成功させないこと」だけです。
そして幸いなことに、対策1(強いパスワード)と対策2(不要アカウントの削除)だけでも、リスクは大きく下がります。どちらも今日中に、無料で完了できる作業です。
最後にもう一点。共有パソコンやカフェのWi-Fiから管理画面にログインするのは避けてください。どれだけサイト側の対策を固めても、入力しているその場を見られていては意味がありません。ブラウザにパスワードを保存している場合も、そのパソコンを他人が使える状態なら再考の余地があります。
今のサイトの状態、60秒で確認できます
Site Tuneの無料診断ツールなら、URLを入力するだけでSSL証明書・セキュリティ設定・検索エンジンへの表示設定・表示速度など13項目を自動でチェックします。専門知識は必要ありません。結果は「何が危険で、なぜ問題なのか」を日本語で表示します。
登録不要・完全無料でご利用いただけます

