PR

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

今回は、WordPressのセキュリティのお話です。

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

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

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

 

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

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

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

 

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

確認したいサイトURLの後ろに「/?author=1」をつけてアクセスをします。
当サイトだと「https://www.ice-military.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://www.ice-.military.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をコピーしました