【WordPress】必ずやるべきセキュリティ対策!ログインユーザー名の特定を防ぐ

 2019年9月11日
WordPress
この記事のURLとタイトルをコピーする
今回は、WordPressのセキュリティのお話です。

多くの方が運用しているWordPress。
実はログイン情報であるユーザー名は、誰でも特定できてしまうのではご存知でしょうか?

WordPressの標準設定では、第三者からユーザー名が丸見えの状態です。
パスワードは様々なツールで解析することができるので、万が一悪意のある他人に標的とされてしまった場合、運用しているサイトが乗っ取られてしまう可能性もあります。

今回はユーザー名の特定方法と、その対策方法の備忘録です。

ユーザー名の特定を防ぐ方法(author情報 編)

「第三者にユーザー名が特定される状況」と言われても、初めは何とも信じがたいですよね。

「author」とは、投稿者のアーカイブページのこと。
アーカイブページを表示することで、ユーザー名の特定をすることができます。

一度、自分のサイトで確認してみましょう。

author情報でユーザー名を特定する

確認したいサイトURLの後ろに「/?author=1」をつけてアクセスをします。
当サイトだと「https://otamunote.com/?author=1」です。

TOPページへリダイレクトされれば、そのサイトは既に対策がされている状態です。
第三者にユーザー名を特定されることはないので安心して大丈夫でしょう。

もし投稿者のアーカイブページが表示され、URLが「/author/ログインユーザー名/」と切り替わった場合、第三者にユーザー名が見えている状態です。

もし404エラーになった場合、「/?author=1」の最後の数字を順に増やしてみてください。
WordPewssに登録している、全ユーザーの投稿者アーカイブページを見ることができます。

対策方法

ユーザー名を特定されないために対策をします。
テーマ内にあるfunction.phpを直接編集するので、必ずバックアップをとってから行いましょう。

以下のコードを、function.phpに追加します。
ファイルをアップ後、再度「/?author=1」でアクセスし、TOPページにリダイレクトされれば完了です。

ユーザー名の特定を防ぐ方法(REST API 編)

WordPress4.7以降から本格的に導入された「REST API」。
「REST API」とは、WordPressのサイトのコンテンツを簡単に取得できるAPIです。

こちらもまた、標準でサイト情報が簡単に取得できるような状態になっています。
その確認方法と対策について確認しましょう。

REST APIでユーザー名を確認

サイトのURLの後ろに「/wp-json/wp/v2/users」をつけてアクセスします。
当サイトだと「https://otamunote.com/wp-json/wp/v2/users」です。

アクセスをすると、画面に英数字の文字列が表示されます。
これがAPIで取得したデータです。

中身を確認すると、「link:」と「slug:」の項目があります。
link:
author情報で表示されたURL
「/author/ログインユーザー名/」
slug:
ログインユーザー名
この2項目で、ユーザー名を特定することできます。

もし上記の項目が表示されず、文頭に「code:rest_no_route」とある場合、そのサイトは既に対策をされている状態です。
第三者にユーザー名を特定されることはないので安心して大丈夫でしょう。

対策方法

ユーザー名を特定されないために対策をします。
テーマ内にあるfunction.phpを直接編集するので、必ずバックアップをとってから行いましょう。

以下のコードを、function.phpに追加します。
ファイルをアップ後、再度「/wp-json/wp/v2/users」でアクセスします。
文頭に「code:rest_no_route」と表示されれば完了です。

さいごに

author情報REST APIは、標準設定で簡単にユーザー情報を確認することができます。
悪意のある方だとユーザー名/パスワードの特定をし、運用しているサイトにアタックしてくる可能性もあります。

直接コードに触れることに不安があれば、プラグインで設定する方法もあります。
(今回はプラグインでの方法は割愛します…。)

WordPressを運用する際は、ユーザー名が特定されないように、必ず何かしらの対策をしておくと安心でしょう。

この記事のURLとタイトルをコピーする