【バレてOK!】WordPressのユーザー名は99%変更不要

仕事はパスワードの役目

私も使用していたユーザー名を隠せるWordPressのEdit Author Slug(エディットオーサースラッグ)プラグインだったが、使用を完全にやめた。

というわけで、当サイトのユーザー名(ユーザーID:ログインID)は「gM HxeIg1R@ctdS@54WF9VnozM_.SrhU」である(admin状態)。

このように、尋常ではないレベルのものを大々的に公開しているが、それにはちゃんとした理由があるので述べていく。

Edit Author Slugと同時にSiteGuard WP Plugin(サイトガード)を紹介されていることもあるため、使用している方、Edit Author Slugを入れずにfunctions.phpに記述しただけの方は特に読み進めてほしい。

スポンサーリンク

ユーザー名はモロ見え前提

見えているユーザーネーム

メジャーなサービスはメールアドレスがユーザー名の役割をしていたり、極端な話友達とやり取り → スマホを落とす → 電話帳データ流出の典型コンボで簡単に漏れるため、もともと自分一人では守りきれない情報だ。

ぷっぷ
ぷっぷ

最近だと、電話帳をクラウドにアップしたりいろいろあるよね!

世の中のサービスはほぼこの形態・重要なのはパスワードと断定し、WordPressも当然そう思っており、唐突に「ユーザー名を公開している前提の機能」を盛り込んでくる

公式ユーザー名またはユーザーIDの開示がセキュリティ上の問題にならないのはなぜですか?(英語)

例えば、ユーザー名の代わりにメールアドレスでもログイン可能といった具合だ。そのメアドをどこかで使用したのなら、自ら公開しているぞ。

だが、これはWordPressの話であり、正直だいぶ違う。

さらに、「ユーザー名を隠しておけばパスワードのみより安全度が高い」のも事実。

当サイトのようにわざわざ公開するのはやりすぎだし(他で激烈対策済み)、「セキュリティを低下させたか?」という問いに対して、ハッキリ「いいえ」とは言えない。

まだまだユーザー名を隠すことは優勢だが、だんだんと劣勢になっていく。

なお、こちらのサイトとびっくりするほど同意見で、とても影響を受けたうえ参考にさせていただいた。

ユーザー名は/?author=1以外からも見える

バレる場所多数

Edit Author Slugを利用しているのなら、これから紹介する3つの部分すべて変換されているため、隠されている。

自サイトURL最後尾に「/?author=○」と付けると(通常○部分は1)「https://excesssecurity.com/author/gm-hxeig1rctds54wf9vnozm_-srhu/」のように見えるわけだが、REST APIの「/wp-json/wp/v2/users」で確認可能

冒頭のユーザー名と若干違い、過去Edit Author Slugを使用した際に特殊記号が対応していないせいか、強制変換されたようだ。戻し方は不明で、アンインストールしても残っている(都合が良い?)。

ところで、Edit Author Slugを入れずに「functions.php」に記述した方はいるだろうか。

途中からそうなったため仕方ないが(WordPress4.4のREST APIから)、一部の他サイトEdit Author Slug推奨記事にはプラグインなしでの実装方法として、「/?author=○」を回避させる方法しか載っていない

心当たりのある方は、一度「プライベートブラウジング」で自サイトURL最後尾に「/wp-json/wp/v2/users」を付けてアクセスし、見覚えのあるユーザー名があるかどうか確認しよう。

普段使用しているブラウザからしてしまうと、Cookieのせいかログイン情報を参照され、REST APIを許可していなくても管理者なので表示されるようだ。必ずプライベートブラウジングで確認しよう。

当サイトは403で弾かれ(REST API自体は無効化しておらず、別の対策に巻き込まれ403)、サイトごとの対策によって挙動が違うので、見覚えのある文字列があるかどうかだけ確認すれば良い。

参考WordPress REST API によるユーザー名の漏洩を防ぐ – Xakuro System

もう一つ、コメント欄にもユーザー名のわかる手段はあるが、この記事では割愛。

参考WordPress コメントよりユーザー名の漏洩を防ぐ – Xakuro System

表示された方は、「ユーザー名隠していません同盟」に加入。

スポンサーリンク

不要な理由

同時に紹介されがちなSiteGuardプラグインや、数あるセキュリティプラグインには

他の機能で代用可能
  • ログインページ(wp-login.phpから)変更
  • 試行回数制限(IPアドレスを変更されると面倒)
  • 外国IPアドレスからの侵入禁止
  • ログインIPアドレス限定(強力だがプロバイダ契約次第)

というような機能がだいたい同梱されている(とくに上2つ)。

英語のプラグインにも当然のように付いているはずなので、使用できるか確認しよう。

サーバーによっては、一部機能が備わっている場合もあるぞ。

【注意】ログイン系がおまけ程度の総合セキュリティプラグインの中には、自サイトURL最後尾に「login」・「wp-signup.php」・「wp-activate.php」と入力すると、変更したログインページに案内される。SiteGuardやXO Securityは問題なし。

ぷっぷ
ぷっぷ

これは盲点だから、表示されたらログイン系と併用するといいかな!

避けるべきはロックオン状態なので、ログインページにたどり着かせず「最初から攻撃をさせない」か、すぐに「無意味・面倒くさい」と試行回数制限で機械・悪人に思わせることが重要だ。

それが、上記のログインページ変更と試行回数制限ということになる。

私なら、ログインページに行けないのならパスし、たどり着いたらセットして放置、一定回数失敗したらやめさせるように設定して「セキュリティ適当サイト」を新たに探す。※大半はログインページを探す機能を持っていないか、わざわざしないはず?

ログインページ変更がユーザー名より遥かに優秀であり、私的にはこの時点で「ユーザー名不要センサー」が働くのだが、まだインパクトが弱いので圧力をかけていく。

サーバーの負荷具合は、やったことがないので未調査。

ユーザー名を隠すより2段階認証が優先

どうせ1つのプラグインを入れるなら、圧倒的に2段階認証がオススメだ。

極端な話、ユーザー名とパスワードがバレていても2段階認証が仕事をしてくれるし、パスワードを厳重にして2段階認証を入れれば孫の世代も安心(言い過ぎではない)。

30秒ほどで6桁のコードが使えなくなるため、試行回数制限とも相性が良い。

2段階認証は現代で突破されておらず非常に優秀で、これが突破されると世界数多にあるメジャーなサービスもマズいことになる(ニュースになるかも)。

SNSで騒がれがちな「2段階認証突破された発言」は全部勘違いであり、なぜかユーザー名・パスワードも知られて侵入されているため、どこかで2段階認証設定を流出・盗み見されている。

追記:2020年1月17日

現在はWordfence(ワードフェンス)の2段階認証が無料化されたため、弱小サーバー以外はもうWordfenceで良い。

ぷっぷ
ぷっぷ

ユーザー名とパスワードが流出しているってことは、住所も同時に流出している可能性があって、接近されてゴニョゴニョ

ログイン試行回数制限と2段階認証のコンボ

こちらのコンボが非常に強力で、さらにユーザー名隠しがどうでもよくなる

重要なのは「確実に効果のあるものを組み合わせること」なので、ユーザー名隠しのような突如表示されかねない曖昧な効果より、強力なものを叩き込むべき。

仮に「ログインページがバレた話」をするが、2段階認証プラグインと同時に使うことで、

  • 総当たり攻撃(ブルートフォースアタック)
  • 試行回数制限に引っかかりロック(最低でも30秒以上に設定)
  • 30秒経過(実際はちょっと猶予がある)
    • 2段階認証ワンタイムパスワードが無効
  • 極端に試行回数制限に引っかかり、まったく進まない

というコンボが成立する。

本当はログインページにすらたどり着けず、たどり着いても上記コンボが付属+パスワードの強度が試される。ユーザー名隠しはパスワード強度とやることが被っており、そもそもユーザー名の代わりはパスワード桁数で対策十分

ぷっぷ
ぷっぷ

増やすなら別の強度・認証!上記だと2段階認証や画像キャプチャなどが同じ属性だよー

追い打ちをかけておくが、ユーザー名の管理はパスワードと同時にされていることが多く、同時流出のケースが多いので、やはりパスワードで良い。

というより、「パスワードが流出している前提の話」は何でもアリなので無意味。

XO Securityと2段階認証の華麗なコンボ

さらに、2段階認証の6桁コードを「30秒以内(猶予あり)」に入力しなければならないが、XO Securityに付属している「失敗時の応答遅延」を最大値の10秒にすることで、せいぜい3~4回しか挑戦できない。

これにより、試行回数制限を回避するための「IPアドレス変更」をほぼ封じ、ログインセキュリティはこれ以上ないほどのレベルにまで向上する

この遅延機能はレアなのか、私は一度も見たことがない。大半はファイアウォールなどで一定期間同じIPからの攻撃をロックするだけ。他に知っている方が居たら、是非教えてほしい(新たなコンボを考える)。

スポンサーリンク

Edit Author Slugを利用するべき人

もちろんいる。

  1. 本名などの個人情報や、何かしらまずい文字列をユーザー名に入れてしまった
  2. WordPressを始めたてで、ログインページ変更・試行回数制限をしていない

「/wp-json/wp/v2/users」でしばらく丸見えだった方や、セキュリティソフトでログインページを変更・試行回数制限を付けている人は、私と同じくもう不要だ。

始めたての方がユーザー名を隠すことだけに満足するとは思えず、そのままセキュリティプラグインに流れると思うので、ほぼ1番しか該当しないはず。

さきほどからチラチラ述べている「XO Security」でも同じく隠せる。

スポンサーリンク

XO Security

SiteGuard WP Plugin(ログイン系強化)・Edit Author Slug(ユーザー名隠し)を合体させたようなプラグインで、後発の強みを最大限に活かしている。

さらにいうと、SiteGuardのように.htaccessに記述することもせずにログインページを変更できるため、国産かつ日本語で初心者にやさしい。

途中述べた「メールアドレスログイン」や「REST API」も無効化でき、このプラグイン1つで激ヤセ可能なのもいいだろう(2段階認証プラグインを入れると変わっていないが)。

主にログインに力を入れているため不要な機能が少なく、総合セキュリティプラグイン(ファイアウォール付属系)と同時併用しても被っている機能を無効化できるため、エラーになりにくいはず。

とりあえず、無名すぎてインストール数に困惑すると思うので補足しよう。

SiteGuard WP Pluginインストール数
XO Securityインストール数

SiteGuardのインストール数で安心感を得られるのもわかるが、「インストール数が少ないから微妙」といったことはない。

REST APIに困惑したのなら、ついでに無効化できてお手軽。

ぷっぷ
ぷっぷ

私は無効化してないけど!

SiteGuardはログイン履歴ページを開く必要があり、XO Securityだとダッシュボードに簡易的だがログイン履歴が表示されるので、不審なログインに気づきやすいのも良い。


ご覧のとおり、当サイトは「不要」と言っておきながら、ユーザー名を隠すことができるプラグインを平然と推奨する。

これは「そうは言われても、公開するつもりでないものが公開されて気持ち悪い」というニーズを想定してのこと。

なお、ログイン系・ログ残しが付いているセキュリティプラグインをもともと導入しているのなら、説明したとおりユーザー名隠し機能は不要なのでインストールする必要はない(SiteGuardはもともと優秀)。

ただし、2段階認証は本当に強力なので当サイト的には必須。

ところで、「REST APIやコメント欄のユーザー名のことを参考にさせていただいたサイト」の運営者が、このプラグインの開発者だったりする。

スポンサーリンク

パスワード強化方法

当サイトのユーザー名が激烈にヤバいことを冒頭で感じただろうが、サービスの安全度がわからない場合は、とりあえず強力にするのが必然だからそうなった。

「gM HxeIg1R@ctdS@54WF9VnozM_.SrhU」32桁の大小英数字+記号+スペース。

もちろん同じようなレベルのパスワードを使用かつ覚えているわけがないので、パスワード管理ソフトを導入するといい。

ぷっぷ
ぷっぷ

アフィリエイト関係のアカウントも管理できて、鬼に金棒だよ!

パスワード管理ソフトを使えば、自動入力のおかげで試行回数を「3回失敗までOK」などのレベルにまでキツくすることもできる。

XO Securityで「失敗時の応答遅延コンボ」を使うなら、なおさら失敗しないために使おう。

下記記事のbitwarden(ビットウォーデン)は確認していないが、KeePass(キーパス)はBasic(ベーシック)認証も自動入力に対応できる(基本はbitwardenでOK)。


極意を使って現在のパスワードを強化することは可能だけども、WordPressでは非推奨。

なぜなら、パスワードは一番強化するべきポイントで、不正アクセスされて自分のサイトに変なものを仕組まれ、閲覧者に迷惑をかけることがあるためだ。

スポンサーリンク

IPアドレス制限はVPNサービスで可能

秘密にしたかったが、固定IPアドレスはVPNの共有サーバーが都合良く使える。

共有とはいえ、悪い人は数多のVPNサービスのサーバーからIPをピンポイントで見つけなければならず、非常に有効な裏ワザのような使い方が可能。

オリジナル手法なので、効果もテキメン。

※一定期間でメンテナンス等使えなくなるサーバーがでるため、定期的に交換は必要。

ぷっぷ
ぷっぷ

セキュリティの穴を付く場合って自動広範囲攻撃が主だろうし、独自手法は効果が高いと思うけど、悪い私じゃないから知らない

外出先でWi-Fiを使う人は通信も暗号化され、一石二鳥で本当に都合が良い。