【WordPressのセキュリティ対策】ユーザーIDを隠そう!

WordPressセキュリティ対策ユーザーIDを隠そう

こんにちは。IT系ワーママのりょうこです。

ブロガーさん

WordPressでブログを書いているんですが、知らない人が私のユーザーIDを知っていたんです。怖い!

りょうこ

WordPressの初期設定では、管理画面ログインするためのユーザーIDは誰にでもわかってしまいます
パスワードがわからなければログインはできませんが、不正アクセスを防ぐためにはユーザーIDは秘密にしておきたいですね。

WordPressでブログを作成するかたが増えています。

手軽にと言うにはちょっと難しい部分もありますが、解説サイトや動画もたくさんあり、IT技術職ではなくても自分のサイトを立ち上げ運用できるようになりました。

一方セキュリティ的な観点で言うと、使っている人が多いということは悪い人に狙われやすいということ。

WordPressの管理ツールを使ってブログを作成していると思いますが、もし自分以外の人が管理画面にログインしてしまったらと想像してください。苦労して作った記事も画像も削除し放題、変更し放題。なんとも怖いです。

管理ツールに他の人にログインされないための手段はいくつもあります。例えば、

  • ユーザーIDを知られないようにする
  • パスワードを複雑にする
  • 他で使用していないパスワードにする
  • ログイン画面を見つけにくくする
  • 何度もログインに失敗したらアカウントをロックする
  • 人間の操作以外からのログイン試行を防ぐ

など

本記事では、そのうちの一つ「ユーザーIDを知られないようにする」ための方法を解説していきます。

この記事でわかること
  • 表示される投稿者名の変更方法(ニックネームの設定)
  • ユーザーIDをWordPress標準機能で確認する方法(投稿者アーカイブの表示)
  • ユーザーIDを確認する機能を無効にする方法(投稿者アーカイブの無効化)
目次

投稿者名の変更

投稿した記事に投稿者名が表示されている場合、初期状態では管理画面へログインする際に使用するユーザーIDになっています。

例えば、WordPressテーマCocoonでは初期設定では記事投稿者名が記事の末尾に表示されています(画像はニックネームに変更後)。その他、コメントやコメントの返信を投稿した場合も投稿者名が表示されます。

cocoon投稿者

まずは、この表示をログイン時に使用するユーザーIDではない別の名称に変更しましょう。

投稿者名の変更方法:ニックネームを設定

  1. 「ユーザー」⇒「プロフィール」をクリック
  2. 「ニックネーム」を入力
  3. 「ブログ上の表示名」に入力したニックネームを選択
  4. 画面下の「プロフィールの更新」をクリック
ニックネーム

ニックネームの設定だけでは十分ではありません。

下の「投稿者アーカイブの無効化」設定も必ず実施して下さい。

投稿者アーカイブの無効化

投稿者アーカイブの無効化

WordPressの標準機能である、投稿者アーカイブとその無効化について説明します。

投稿者アーカイブとは

投稿アーカイブとはWordPressの標準機能で、投稿者のユーザーIDごとの投稿がまとめて表示されるページのことです。

ログインするためのユーザーIDがわからなくなってしまったときにも使われる便利機能でもあります。

次のURLにアクセスすると、自動的にユーザーIDが含まれるアドレスに自動的に変換(リダイレクトと言います)されユーザーIDごとの投稿がまとめられたページが表示されます。

https://[サイトのドメイン]/?author=1

↓↓↓ リダイレクト ↓↓↓ 

https://[サイトのドメイン]/author/[ユーザID]

具体例で見てみましょう。

test.com というドメインに、testuser というユーザーIDでログインして記事を投稿している場合

https://test.com/?author=1

にアクセスすると

https://test.com/author/testuser/

というURLにリダイレクトされ、testuserが投稿した記事一覧が表示されます。

URLにはユーザーIDが含まれています。

つまり、

WordPressで管理しているサイトのドメインさえわかっていれば、?author=1 をURLにつけるだけで誰でもあなたが管理画面にログインしているときのユーザーIDがわかってしまう

ということです。

もちろん、ログインするにはユーザーIDとパスワードの組み合わせが必要になるのでこのまますぐに不正アクセスということにはなりません。ですが、ログインに必要な情報のうちの1つが簡単にばれてしまいました。

パスワードが簡単なものならば総当たり攻撃(ブルートフォースアタック)で破られてしまいますし、同じユーザーID・パスワードの組み合わせが、パスワードリストとして出回っていたら第三者の不正ログインは簡単に成功ということになります。

※ユーザーID・パスワードの組み合わせリストは今や売買される対象です。

なお、?author=1の「1」は一人目のユーザという意味で、複数人のユーザで運営しているサイトの場合、2, 3と数字を変更することで他のユーザーのIDも表示されます。

投稿者アーカイブ無効化の方法

投稿者アーカイブが何かわかったところで、投稿者アーカイブを無効化して表示させないようにする方法を紹介します。

方法はいくつかありますが、ここでは子テーマのfunctions.phpに下記の関数を追加する方法を説明します。

この関数を追加すると、投稿者アーカイブのURLにアクセスすると404エラーページ(ページが存在しない場合に表示されるページ)が表示されるようになります。

☆右上のボタンを押すとコピーできるよ!

/* 投稿者アーカイブページの無効化 */
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の管理画面での操作手順を解説します

  1. 「外観」をクリック
  2. 「テーマファイルエディター」をクリック
  3. テーマ選択で「子テーマ」を選択(CocoonならばCocoon Child、SWELLならばSWELL Child など)
  4. テーマファイル選択で「function.php」を選択
  5. 上のコードをコピーして貼り付け
  6. ファイルを更新ボタンをクリック
投稿者アーカイブ無効化

成功すると「ファイルの編集に成功しました」というメッセージが出ます。

最後にご自身のサイトの

https://[サイトのドメイン]/?author=1

にアクセスし、404 Not Foundが表示されるようになっていることを確認してください。

404notfound

まとめ:ユーザーIDは隠しておこう

WordPressの管理画面にログインするためのユーザーIDは、他の人に教える必要はありませんよね。

必要がなければ、隠しておくのが一番です。

ユーザIDを隠す方法
  • ニックネームの設定
  • function.phpを編集して投稿者アーカイブページの無効化

により隠すことができます。

一度設定しておけばその後は気にする必要がなくなるので、ぜひやってみてください。

たっくん

上記設定をすると万が一ユーザーIDを忘れたときに、投稿者アーカイブページを使用した確認ができなくなるよ。
忘れないように気をつけてね!!

\この記事が役に立ったと思われたら、ぽちっとクリックお願いします/
にほんブログ村 子育てブログへ

コメント

コメントする

CAPTCHA


目次
閉じる