・ワードプレスでサイトを作ったけど、最初にどうすればいいの?
・デフォルトのWordPressはユーザーIDが丸見えって本当?
こんな悩みを解決します。
ワードプレスのブログを始めたあなたが最初にすることは、初期設定を変更することです。
ワードプレスをデフォルトの設定で運用することは、セキュリティ的に決して安全とは言えません。
そこで、ワードプレスをインストールした時に最初にやるべきセキュリティに関することをリストにしました。
セキュリティ設定リスト
-
- ユーザー名を隠す。(プラグイン使用) ←今、この記事
- ログインページを変更する。(プラグイン使用)
- xmlrpcを無効化する。(プラグイン使用)
- 「.htaccess」を設定して「wp-config.php」にアクセス出来ないようにする。
- まとめ:セキュリティ系プラグインは「SiteGuard」と「XO Security」の2つで安心。
この記事はユーザーIDを隠す方法についてです。
詳しくは後述しますが、前提としてWordPressはユーザーIDを隠すようには出来ていません。
それで何となくIDが漏れることに危機感を抱く人が多いと思います。
日本の人が開発したIDを隠蔽するプラグインが公開されているので、それをインストールするとログインIDが隠蔽できます。
この記事では「XO Security」の設定方法を解説しています。
この記事で書かれていること
- なぜユーザー名を隠すのか?実はセキュリティのためでは無かった。
- セキュリティ向上プラグイン「XO Security」の設定方法を解説。
- 「Edit Author Slug」との比較。どちらを使えばいいのか?
- ブログ上の表示名の変更は簡単なので、すぐにしておきましょう。
なぜユーザー名を隠すのか
WordPressの公式ブログに、こんな記事があります。
「ユーザー名またはユーザーIDの開示がセキュリティ上の問題ではないのはなぜですか?」
(原題:Why are disclosures of usernames or user IDs not a security issue?)
「ユーザーIDは個人を識別する目的であって、アクセスを検証するために使わない。それの役目はパスワードである。」という設計でWordPressは作られているからです。
「ユーザーIDは著者のアイデンティティーの一部」(A username is part of your online identity.)と書かれています。
だから、WordPressはユーザーIDを隠すようには出来ていません。
↑こんな感じに。
確かに、現在のセキュリティ事情では、パスワードを強固にしたり、2要素認証を併用することで、ユーザーIDの重要性は下がっていることも事実です。
しかし、セキュリティの観点とは別に、ユーザーIDを隠したくなる事情があります。
それは、日本人(日本人だけ?)は「名前を公衆に晒したくない」という意識が強いのです。
それに、ユーザーID決め打ちでアタックされるより、いくらかマシという意味で、WordPressの設定すべき項目として、当記事ではユーザー名を隠すことを紹介します。
セキュリティ向上プラグイン「XO Security」のユーザーID秘匿設定方法を解説
「XO Security」のインストール
プラグインの新規追加で「XO Security」を検索して、下の画像を参考にインストールしてください。
1、「XO Security」の「author=1」秘匿設定方法
WordPressの管理画面の「設定」にある「XO Security」をクリックします。「XO Security設定」が開きますので、「秘匿」タブを選択します。
チェックボックスが2つあるので、両方チェックします。
そして、変更を保存ボタンを押します。
これで「https://~.com/?author=1」という風に、サイトにアクセスしてみても404 NOT FOUNDエラーになって、ユーザーIDページにリダイレクトされなくなります。
2、「XO Security」の「/wp/v2/users」秘匿設定方法
同様に、「XO Security設定」の「REST API」タブを選択します。
(1)/wp/v2/usersのみチェックする方法
REST APIの無効化にチェックをして、さらに、「/wp/v2/users」・「/wp/v2/users/(?P[\d]+)」の2か所にチェックします。
そして、変更を保存ボタンを押します。
(2)/wp/v2/全体チェックする方法
もしくは、/wp/v2をチェックして、子要素全体まとめて無効化してもいいです。
そして、変更を保存ボタンを押します。
(3)REST API URL の変更でアクセスをはじく方法
また、人によってはREST APIを使っているので、無効化するのは困るという人もいるかもしれません。
そういう時はAPIへのアクセスのURLをランダムな文字列に変えてアクセスされにくくする方法があります。
「REST API URLの変更」をオンにして、プレフィックスを分かりにくい文字にします。
例えば画像のように「klts3o4sg2xzt5953ur6bd1z」を設定したとしましょう。
すると、「https://~.com/wp-json/wp/v2/users」にアクセスした時は404エラーになり、「https://~.com/klts3o4sg2xzt5953ur6bd1z/wp/v2/users」にアクセスした時に正しい値を返すように出来ます。
また、(1)や(2)と(3)の両方を設定することもできます。
「Edit Author Slug」との比較
以前はよく使われていた、ユーザー名をユーザーIDと違うものにするプラグイン「Edit Author Slug」と比較します。
「XO Security」はアクセス自体を弾いてしまうので、ユーザーIDを隠ぺいするという意味では「Edit Author Slug」は必要なくなりました。
必要な場面を考えるならば、投稿者が複数いて、それぞれの著者の投稿記事を一覧表示する時です。
そうすると、投稿者アーカイブのURLにユーザーIDを出さないで済みます。
個人のブログではそういう場面はないので、「XO Security」だけプラグインを入れておけば大丈夫です。
ブログ上の表示名も変更したほうがいい。その設定方法とは。
WordPressのテーマによっては著者名を表示することがあります。
デフォルトでは著者名にユーザーIDを表示するのですが、ユーザーID以外のニックネーム表示に変更することが簡単にできます。
まず、ブログ上の表示名(ニックネーム)は変更しておきましょう。
WordPressの管理画面で、「ユーザー」を選択します。
そして、「あなたのプロフィール」をクリックしましょう。
ユーザー名、ニックネーム(必須)、ブログ上の表示名という所があります。
初期設定はブログ上の表示名とニックネームとユーザー名が同じになっています。
ここでブログ上の表示名を変更しようとしても、選択式になっていて変更できません。
ニックネームを変更すると、ブログ上の表示名の選択肢にニックネームに入力した名前が増えるので、そこから選択できるようになります。
最後に、一番下のプロフィールを更新ボタンを押して設定を保存することを忘れないで下さい。
保存しないと設定が反映されません。
著者名が表示されないテーマでもダメ
テーマによっては著者名を表示しないようにしているものもあります。
だったら大丈夫と思ってはいけません。
ブログドメインの後ろに「/?author=1」をつけてアクセスしてみてください。
例えば、https://bonz-net.comだったらhttps://bonz-net.com/?author=1
どうでしょう。
当サイトは「XO Security」プラグインで無効化しているので、「404エラー」が出たはずですが、
もしも、アドレス欄が
https://~~.com/author/<ユーザーID>/
に変わったとしたら、今までユーザーIDは丸見えだったということですね。
つまり、ブログ上の表示名(ニックネーム)を変更するだけでは不十分なのです。
もう一つ、これもあります。
ドメインに「/wp-json/wp/v2/users」をつけてアクセスしてみてください。
例えば、https://bonz-net.com/wp-json/wp/v2/usersのように。
このように「XO Security」で設定をしていないとユーザーIDなどの情報が見えてしまいますので、ぜひプラグインをインストールしてください。
コメント