水たまりは希望を写している

WordPress のログイン URL を変更することにセキュリティ的な意味はない

WordPress のログイン画面のスクリーンショットと、/wp-login.php とモザイクで隠された演出のテキストがあり、モザイクのテキストに矢印が向いている。大きく「意味ない!」のテキスト。

3 行まとめ

  • 「WordPress のログイン URL を変更する」というありがちなセキュリティ対策は、意味がない
  • 機械的なアクセスは XML-RPC を使用したものが大半なので、いくらログイン URL を変更したところで意味がない
  • 大事なのはすべてのソフトウェアを最新に保つことと、十分に強力なパスワードを使用すること

WordPress のありがちなセキュリティ対策「ログイン URL 変更」

WordPress のありがちなセキュリティ対策として「ログイン URL の変更」がある。これをした方が良いと伝えているブログやサイトがたくさんあるが、僕は敢えて「意味がないからするな」という主張をしていきたい

そもそもそれってどんな対策?

まずは「ログイン URL の変更」というのがどんな対策であるかをおさらいしておこう。

WordPress では、WordPress がインストールされているディレクトリの直下にある wp-login.php にアクセスするとログイン画面になる。この wp-login.php でのアクセスを禁止して、ほかの URL にアクセスすることでログイン画面を表示できるようにすることを、このブログ記事では「ログイン URL の変更」と呼ぶことにする。wp-login.php というよく知られた URL でのログイン経路を潰すことで、セキュリティ性が向上するというものだ。

実際は、wp-login.php へのアクセスを禁止するだけでは、ログイン画面の露出は避けられない。なぜなら、/wp-admin/ などの URL に移動すると、自動的に wp-login.php にリダイレクトされてしまうからである。このような URL が WordPress にはいくつかあるので、ログイン URL の変更を完璧にするには、すべての経路をアクセス禁止にする必要がある。

ログイン URL の変更は、基本的にプラグインをインストールして適切な設定をすることで行える。

では、なぜ意味がないといえるのか?

そもそも、プラグインが必要で標準機能ではない

ログイン URL を変更する機能は、WordPress 標準機能として提供されていないため、この機能を提供しているプラグインを使用する必要がある

当たり前の話ではあるが、WordPress でログイン画面の変更をすることが本当に効果があるのであれば、それはすぐさま WordPress 本体に実装されるはずである。

WordPress 自体が実装していない機能を使用する必要があるのだろうか?

標準でログイン URL の変更という機能を実装している CMS というのが、むしろ少数派である

WordPress 以外にも、標準機能としてログイン URL の変更を提供していない CMS はたくさんある。例えば Drupal もそうだし、Joomla もそうである。WordPress だけではなく、他の CMS もログイン URL の変更機能を提供していないというのことは、「ログイン URL を変える意味がない」ということにならないだろうか?

自分の知っている限りだと、管理画面のアドレスを変えられる CMS として、EC-CUBE しか思いつかない。

権威のある WordPress ユーザーのサイトの中でも、ログイン URL にそのままアクセスできるサイトが多い

例えば WordPress の創始者である Matt のブログや、WordPress プラグインの中でもっとも有名といっても過言ではない Contact Form 7 のサイトでは、ログイン URL の変更というのは行われておらず、誰でもログイン画面を表示させることができる

つまり、彼ら (彼女ら?) のような素晴らしい人物でさえ、「ログイン URL を変更すること」に価値を感じておらず、この “ありがちなセキュリティ対策” をしていないということである。

WordPress 界隈の中ではトップともいえる人物がやっていないことを、我々がする意味は本当にあるのだろうか?

そもそも、WordPress の設計からして、変更する意義が薄い

大半のサイトでは無効になっているが、そもそも WordPress は誰でもユーザー登録ができるようにすることができる “設計” になっていることをご存じだろうか?

誰でもユーザー登録できるようにして、ユーザー限定にディスカッションをしたり、寄稿者となって公開する記事の下書きを作成することができる。また、標準のユーザーの仕組みは、フォーラムを実装するプラグインにも使用されていて、「誰でも登録・ログインできて OK」という仕組みになっているサイトは少なくない。

サイトによっては、それが「普通」であり、ログイン URL が露出することに問題を感じていない。仮に管理者向けのページとその他一般のユーザーが同じ画面にアクセスするとしてもね。

最も有名なセキュリティ対策プラグインでさえ、ログイン URL の変更を良いと思っていない

国内外問わず人気のあるセキュリティ対策プラグインともいえる Wordfence は、様々なセキュリティ対策の機能を備えているものの、ログイン URL の変更を実装していない

しかも、ログイン URL の変更を「bad idea (悪い考え)」と一刀両断している。なぜ「悪い考え」なのだろうか? それを以降の節で解説する。

逆に、ログイン URL を変えない理由

では逆に、ログイン URL を変えない理由を考えてみよう。

WordPress へのログイン試行は、ほとんどが XML-RPC を経由して行われている

ユーザー認証に関する攻撃のほとんどは、XML-RPC を経由して行われている。だからログイン URL だけを隠してもログイン試行は行われるし、試行回数が減ることもない。XML-RPC に対して何らかの対策を行わない限り、ログインへの試行は減らない。

プラグインやテーマ、コアの機能を阻害する可能性がある

まあ可能性があるというだけで、実際にそのようなプラグイン・テーマに遭遇したことはないものの、WordPress の標準外の挙動を生み出しているわけなので、そういった可能性はある。

ログイン画面を隠すプラグイン自体が、正しく隠せる保証はない

例えば、SiteGuard WP Plugin というセキュリティプラグインにはログイン URL を変更する機能があるのだが、特定の URL にアクセスすると変更後のログイン URL にリダイレクトされるという不具合があった。

つまり、ログイン URL を変更する機能を持つプラグインが完璧に隠しきれないと、この対策には意味がない。また、このような変更後の URL にリダイレクトする挙動というのが、いつ新たに WordPress へ追加されてもおかしくない。コアやプラグインをアップデートしてるといつの間にか新たなリダイレクトの抜け穴が生まれるかもしれない。

ログイン URL の変更で負荷軽減に貢献するわけではない

もしかしたら、ログイン URL を変えることによってウェブサイトの負荷軽減を考えている人がいるかもしれない。しかし、ログイン URL を変えるようなプラグインを入れた状態で標準のログイン画面にアクセスすると、基本的にトップページやテーマの 404 ページを出すような挙動になっているものが多く、大して負荷軽減になっていない。

そのような効果を期待している場合は、HTTP サーバーレベル、もしくは WAF などが担うべきであり、WordPress のソフトウェアでどうにかする意味はない。

結論 :「wp-login 変えるな」

WordPress のログイン URL を変える行為は、実質的にセキュリティを向上させることはない。本質的にはメリットはなく、むしろ少ないモノのデメリットが存在する。故に、ログイン URL を変える必要はない。

正直、「ログイン URL を変えよう」というムーブメントが、いったいどこから始まったのか分からない。軽く調べてみた感じ 2013 年から言及され始めたようなので、それ以降ずっと言われ続けているようだ。

中には、「ログイン画面が変更されていれば、仮にパスワードが弱くてもマシ」というような主張をしているサイトもあるので、頼むからそんな適当なことを言わないでほしいと思った。

WordPress でのセキュリティ対策は、基本は強力なパスワードを使用することと、各ソフトウェアを常に最新に保つことである。また、これらの基本的な対策に加えて、特に複数人での運営を行っているサイトでは、TOTP やパスキーといった追加の認証を設けると良いだろう (これにより弱いパスワードやフィッシングに対する耐性が確保できる。)。

WordPress のコア部分よりも、圧倒的にプラグインやテーマの方が脆弱性が見つかりやすい。だからアップデートは大事であり、なおかつ基本的なパスワードの管理などが有効なのだ。また、コア部分に関してもセキュリティリリースは自動アップデートだし、プラグインについても自動アップデートを有効化できるようになっているので、そちらも活用されたい。まさか、コアの自動アップデートを無効化したりしてないよね……?

かつてのインターネットで「○○言うな」のキャンペーンが行われてきたので、僕は「wp-login 変えるな」キャンペーンを始めたいね。

この記事を書いた人

AioiLight

Web とか Android とかをやってる人。アニメ・ゲームが好きなはずなのに消費しきれない毎日。

Twitter (@aioilight)