【WordPress】ログインフォームのURLとユーザIDを秘匿して不正ログインを防止する

Hacking ブログ

WordPressでサイトを運営している方、セキュリティ対策は万全ですか?
対策が不十分だと乗っ取られてしまうかもしれません。

クラッカーがあなたのサイトに侵入する攻撃手法と対策方法を考えてみましょう。

室井
他の人のサイトに攻撃しないでくださいね。
実験は自分のサイトで行いましょう。

ログインに必要な情報

WordPressの管理画面にログインするにはどうすればいいでしょうか?
ログインフォームにアクセスして、IDとパスワードを入力すればいいですね。

つまり、ログインに必要な情報は

  • ログインフォームのURL
  • ユーザID
  • パスワード

この3つということです。

ログインフォームのURL

初期設定ではログインフォームのURLはサイトのURLにwp-login.phpを追加したものです。

例)example.comの場合 → https://example.com/wp-login.php

login

ログイン画面がインターネットに公開されていて、誰でもアクセスすることができる
攻撃者に入り口が一瞬でバレますね。

パスワードがわからなければ問題ないのではと思うかもしれませんが、鍵のかかった扉のある部屋と扉すらない部屋のどちらが安全でしょう?
(扉すらない部屋を部屋と呼べるかはわかりませんが)

自分にしかわからないURLに変更するべきです。

ユーザID

パスワードはもちろんですが、ユーザIDもバレないにこしたことはありません。
ここであなたのサイトのURLの末尾に「/?author=1」と追加して遷移してみてください。

例)example.comの場合 → https://example.com/?author=1

遷移先のURLの末尾にユーザIDが表示されます。

例)example.comの場合 → https://example.com/entry/author/あなたのユーザID

室井
ログインに必要な3つの情報のうち2つは速攻でバレましたね。

パスワード

安全なパスワードや危険なパスワードについてはこちらの記事を参考にしてください。

password

安全かつ覚えやすい!パスワード生成の3つのテクニック

ログインフォームのURLを変更する「Login rebuilder」

Login rebuilderというプラグインを使って、ログインフォームのURLを変更しましょう。

インストールしたら設定から「ログインページ」を選択します。

Login rebuilder

新しいログインファイルの名前を変更すると、ログインフォームのURLが変更できます。
覚えやすく推測されにくいものにしましょう。

無効なリクエスト時の応答はサイトトップへリダイレクトがおすすめです。

Login rebuilder config
室井
ファイル名をランダムな文字列にしろとまでは言わないけど、「login」や「Authentication」などの関係ある単語は避けよう。

設定できたらステータスを稼働中に変更して変更を保存します。

state

新しいURLでログインフォームが表示され、今までのURLはリダイレクトされることを確認しましょう。

ユーザIDを秘匿する「Edit Author Slug」

Edit Author Slugというプラグインで、本来ユーザIDが表示される部分を任意の文字列に変更しましょう。

ユーザーのあなたのプロフィールからニックネームを設定して、ブログ上の表示名に選択します。

user

下にスクロールして、投稿者スラッグをカスタム設定に変更します。

Edit Author Slug
室井
これで「/?author=1」でユーザーIDが表示されることはなくなるぞ!

管理画面がインターネット上に存在するリスク

WordPressの特性上仕方がないことですが、管理画面がインターネットからアクセスできるのは危険極まりないことです。

企業のWebサイトなんかではほぼありえないですね。
27年度秋のセキュリティスペシャリスト試験でまさにこれに関する問題が出題されていました。

少しでもリスクを低減するために、ログインフォームのURLは変更しておきましょう。
企業にとっては当たり前のことでも、個人では対策できていない人も多いです。

また、万が一のためにバックアップも定期的に作成することをおすすめします。

みゅう
このブログも対策したの最近ですもんね。
室井
情報処理安全確保支援士の過去問解いてて、
「あれ?僕のブログ危ないんじゃね?」ってなりました。
みゅう
ネットで活動する人はセキュリティの勉強大事ですよ。