WordPressのログインユーザー名は丸見え!?

ヘッダ画像

WordPressのログインユーザー名は丸見え!?

WordPressのセキュリティ対策で必ずいわれるのが、ユーザー名を「admin以外に変更しよう」です。
たしかにadminというユーザー名は変える必要があるでしょう。
しかし、実はadminであってもなくても、デフォルトの状態ではさして労力をかけずにアカウントIDは分かってしまいます。
総当たり攻撃といわれるブルートフォースアタックから守らなければならないのは「ユーザー名」と「パスワード」のふたつですが、そのうちユーザー名はいともたやすく突破されてしまうのです。

ニックネームは必ず変更する

基本的なことですが、管理者がコメント欄に入力を行った場合などにニックネーム(author)が表示されます。テーマによっては記事にも投稿者名として表示されますね。

表示テーマ:Twenty Twelve

表示テーマ:Twenty Twelve

また、ブラウジング状態でニックネームが表示されていなくてもソース内(body内HTMLタグなどのclass属性名)にニックネームが使われていることもあります。

このニックネームは管理画面の「ユーザー」→「プロフィール」で設定しますが、デフォルトではニックネーム=ユーザー名となってしまいます。

nickname

つまり、ニックネームを未定義の場合、すでにユーザー名を公表していることになります。
このことを認知していないユーザーが多いのか、WordPress構築サイトはニックネーム=アカウント名のものが意外に多いです。
最低でも任意のニックネームを設定して、ブログの表示名にこのニックネームを選択しましょう。

投稿者アーカイブからもユーザー名が分かる

WordPressでは投稿者アーカイブというものが作成されます。
ユーザー名がadminならば、https://example.com/author/adminでアクセスできます。
投稿者アーカイブへのリンクを作らなければ、閲覧者に知られることはないのではと思われますが、実はサイトURLに?author=ユーザーIDを付けることでユーザー名の投稿者アーカイブにリダイレクトされます。

https://example.com/?author=1でアクセスすると
https://example.com/author/adminにリダイレクトされます。

?author=1の数字はユーザーIDになるわけですが、一番始めに作られるユーザーが1となり、アカウントがひとりの場合は通常は1です。
2つ目以降のユーザーはauthor=2となっていきますので、1から順番にアクセスしてみればよいということになります。(ちなみにこのサイトでは一度初期アカウントでログイン後、新規で作成し直しているので、author=2となっています)

ランダムにブルートフォースアタックを仕掛ける場合、ひと工程手間が掛ることになるので、ユーザー名の変更がまったくの無意味ということではないとは思いますが、その気になれば、速攻で見破られてしまいます。

投稿者アーカイブのURLを変更する

「Edit Author Slug」というプラグインを使うことで投稿者アーカイブのURLを変更することができます。

プラグインを追加して有効にすると前述の管理画面の「ユーザー」→「プロフィール」に下記のような設定が追加されます。

editauthorslug

Customの項目でauthor/の後ろのURLを任意に指定できます。
この例ではユーザー名adminに対して、下記のような投稿者アーカイブのURLとなります。
https://seous.info/author/D6zfpGN8yI7f7xRXH3n0

投稿者アーカイブにアクセスさせない

複数の投稿者で運営しているサイトであれば、投稿者アーカイブは有用な場合もあるかと思うのですが、個人ブログやホームペジ運用など、ひとりの管理者が管理しているのであれば、他のアーカイブページと内容が重複することとなります。
こういった場合はそもそも投稿者アーカイブそのものが不要でしょう。
下記をfunctions.phpに下記を追記することで404を返すことができます。

<?php
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
wp_redirect( home_url( '/404.php' ) );
exit;
}
}
add_action('init', 'disable_author_archive');
?>

※WordPressでのユーザー名の漏洩についての対策を書きましたが、ブルートフォースアタックに最も有効なのはやはり管理画面にIP制限を掛けることです。ホワイトリスト方式であれば、指定環境以外からは管理者画面にアクセスすることすらできません。


「WordPressのダッシュボードをブルートフォースアタックから守る」

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Contact Form 7の送信完了画面がでない

お手軽にお問い合わせフォームなどを設置できるContact Form 7 添付ファイルも送信でき、シ […]

3分で設置できる!?CSS3の角丸グラデーションボタン

CSS3と対応ブラウザの登場により、角丸やグラデーションを使ったリンクやフォームの送信ボタンが画像な […]

超簡単!アイコンフォント Font Awesomeの使い方

ひと昔前なら画像で表現していたようなアイコン。 ウェブフォントの登場によって、描画速度が速く手軽に挿 […]

Contact Form 7で403エラー

メールフォーム定番プラグインのContact Form 7で新規フォームの作成や既存データの編集を行 […]