本記事では非Webエンジニアの私が実施した「ブログ開設手順④」と題して、私自身が設定を失敗した経験をもとに、WordPressのユーザー名(管理者名)を投稿者名と変える手順、および、ソースやautherを特定するクエリでユーザー名を隠す手順を紹介します。
まだWordPressでのブログ開設をしていない方は、過去記事から読んでみてください。
ブログ作成環境の選択編
レンタルサーバー契約・サイト開設編
HTTPSの設定編
なぜ、ユーザー名を守るのか?
あなたがこれから書く、もしくは、これまで書いてきた記事(財産)を守るためです。
ユーザー名が分れば、総当たり攻撃(ブルートフォースアタック)を受けやすくなり、サイトを乗っ取られ、内容を変更されたり、削除されてしまう可能性があります。
総当たり攻撃とは、3桁のダイヤル式の南京錠に例えると000から999まですべて試し開錠する攻撃です。
管理者ログインの場合、ユーザー名、パスワードに対していくつものパターンを試すことになります。
2つの組み合わせの場合、そのパターン数は膨れ上がります。
しかし、ユーザー名がばれてしまうと、残るパスワードだけを特定すればよいので、2つに比べると圧倒的にパターン数が減ります。
それでも人手では難しいですが、プログラムを書いて機械的に総当たり攻撃をされる可能性があります。
そのため、ユーザー名を守る必要があります。
脱線:パスワードの複雑さも重要
ユーザー名を中心に扱う本記事では脱線になりますが、パスワードも複雑であることに越したことはありません。
日本を含む30か国で使われているパスワードのランキング上位に載るものは避けた方が良いです。
あなたのWordPressのユーザー名は安全でしょうか?
ユーザー名を守る必要性が分かったところで、あなたのユーザー名が安全か確認していこうと思います。
次のいずれかでYesとなる場合は、誰でもあなたのユーザー名を知ることができます。
- ユーザー名が「admin」か
- 投稿者名とユーザー名が一緒か
- https://[自分のドメイン]/?author=1にアクセスした時に、「404 NOT FOUND」が表示されない
1を2,3,4…のように変えた場合でも、同様か確認してください。 - https://[自分のドメイン]/wp-login.phpで何回パスワードを間違ってもロックがかからない
それぞれの詳細な確認手順と対策を説明します。
どれも該当しなかった方は、安全に対する知識が私以上です。
(まだまだ経験が浅いので、他に対策があればぜひ教えてください)
確認①ユーザー名が「admin」か
レンタルサーバー契約時にWordPressの設定で入力したユーザー名が「admin」ではないでしょうか?

もしくは、自分でWordpressをインストールした際にadminを残したままにしていないでしょうか?
どちらの記憶もない場合は、
「https://[自分のドメイン]/wp-login.php」から管理画面にログインしてください。
ログイン後、左端のメニューからユーザー>ユーザ一覧をクリックしてください

ここで表示されるユーザー名に「admin」がないことを確認してください。
なぜ「admin」がダメかというと、WordPressのデフォルトのユーザー名であるためです。
攻撃したい人は、セキュリティ対策されていないことを期待してデフォルトの値やよくある名前を試してくる可能性が高いです。
そのため、「admin」以外にもよくある「root」や「Administrator」なども危険です。

確認②投稿者名とユーザー名が一緒か
確認①で表示されたユーザー名に「admin」がなければ、表示されたユーザー名をクリックします。

表示されたプロフィールでユーザ名とニックネーム、ブログ上の表示名が同じではないでしょうか?

同じになっていた場合、記事を投稿した時に下記のような名前が載った時にユーザ名が晒されてしまいます。
(Cocoonテーマを使用、かつ、設定がデフォルトの場合、記事の最後ブログ上の表示名が載ります)

確認③https://[自分のドメイン]/?author=1にアクセスした時に、「404 NOT FOUND」が表示されないか
下記のように404 NOT FOUNDのようになれば問題ありません。
author=1の1を2,3,4…と試しても同じか念のため確認しましょう。

次のようなページが表示される場合は、URLからユーザー名がバレてしまします。

対策
ここまでで確認した①~④それぞれの対策を紹介します。
対策①ユーザー名をadminにしない
残念ながら、ユーザ―名は変えられません。
そのため、新規ユーザーを追加し、「admin」というユーザーを削除する必要があります。
まず、管理メニューのユーザー>新規追加をクリックします。

「新規ユーザーを追加」という画面が表示されたら、各項目を入力していきます。
この時、ユーザー名をよくある管理者名や投稿時の名前にしないようご注意ください。
そして、権限グループで「管理者」を選択し、「新規ユーザーを追加」をクリックします。

これで新しい管理者が作れたので、古い管理者を消していきます。
まず、一度ログアウトして、新しいユーザー名でログインし直します。
そして、ユーザー一覧を表示して、消したいユーザーにマウスカーソルをあて、「削除」をクリックします。

既に何か投稿している場合は下記のような注意が選択肢が表示されます。
「すべてのコンテンツを以下のユーザーのものにする」を選んで、新しく作ったユーザーに付け替え、「削除を実行」をクリックしましょう。

対策②ユーザー名と投稿者名を変える
確認②を実施した時点で、対策に入った方もいるかと思いますが、一応説明します。
ユーザー名>ユーザー一覧からユーザーを選択し、プロフィールを表示します。
ユーザー名と異なる名前をニックネームとブログ上の表示名に設定します。

もし、ユーザー名にニックネームやブログ上の表示名として使いたかった名前を使っていた場合は、対策①に記載しているように新規でユーザーを追加して、古いユーザーを削除しましょう。
(私はやってしまった失敗はコレです)
対策③Edit Author Slugを使ってauthorを変える
「自分のドメイン/author/ユーザー名」のユーザー名部分を変えるには、Edit Author Slugというプラグインが使えます。
プラグイン>新規追加をクリックし、検索窓に「Edit Author Slug」と入力します。
「今すぐインストール」ボタンをクリックします。
クリックしたボタンが「有効化」ボタンに変わったら、再度クリックします。

プラグインの有効化後、ユーザー>プロフィールにアクセスして、1番した付近までスクロールします。
投稿者スラッグ編集という項目でニックネームかカスタム設定を選択します。
洗濯後、1番下までスクロールし「プロフィールを更新」をクリックすると、authorの変更完了です。

効果確認は、ブラウザのシークレットモードを開く、または、ブラウザのキャッシュを削除してから、下記のようなURLにアクセスしてみてください。
https://[自分のドメイン]/?author=1
その時に表示されるURLが上記で設定したものに変わっていればOKです。
他にこんな確認方法もできます。
- 適当な記事を開く
- 「Ctrl + U」でソース表示する
- 「Ctrl + F」でページ内検索窓を表示する
- 「/author/」で検索する
- 「/author/」に続く文字列が設定した文字列になっている(=ユーザー名でないこと)を確認する
対策④ログイン回数制限を設ける
対策①~③までは、総当たり攻撃の対象を減らさないための対策でした。
ここでは、総当たり攻撃のチャンスを減らす対策を実施します。
具体的には「Login Lockdown」というプラグインを使います。
対策③と同様にプラグインを検索、インストール、有効化を実施します。
デフォルトの設定では、3回間違えると1時間ロックされ、下記のようなエラー分が表示されるようになります。

Login Lockdownでなくとも、All-In-One Security (AIOS) – Security and Firewall や SiteGuard WP Pluginなどでも代替可能です。
これらアプリはログイン回数の制限以外のセキュリティ機能を有しており、それだけで別記事が書けそうなため、取り扱いませんでした。
まとめ
WordPressでは無料のブログサービスと異なり、自分の財産は自分で守る努力が必要でした。
本記事では、総当たり攻撃からブログを守るためにWordPressのユーザ名(管理者名)を隠す、ログイン回数を制限することを紹介しました。
追記:
セキュリテイ対策に興味をお持ちの方は、後日談と追加対策を記載したコチラもご参照ください。



コメント
WordPress初心者です。管理人の名前を記事下部から消せないか検索してこちらにたどり着きラッキーでした。早速対策を講じて一安心です。書いて下さって本当にありがとうございました。(o*。_。)oペコッ
木村さん、コメントありがとうございます
本ブログ初めてコメント、かつ、お役に立てたようなので、とても嬉しいです!
これを励みにまた次の記事を書きますね