CommentOut

WordPressでユーザー名が丸見えに!?アクセス制限を見直そう WordPressでユーザー名が丸見えに!?アクセス制限を見直そう

WordPressでユーザー名が丸見えに!?アクセス制限を見直そう

公開日:  最終更新日:

みなさんはWordPressでホームページを作ったら、ちゃんとセキュリティ設定していますか?

セキュリティプラグインの中には、ログイン試行ログを取得している物があるんですが、見たことあるでしょうか?
あのログを見ると、ログインには失敗しているんですが、なぜかユーザー名は実在するユーザー名が使用されているんです。投稿者情報は表に出していないのにですよ。

これ、ユーザー名が外部から見えてしまう仕組みがあるんですね。

不正アクセスユーザーはどこでWordPressのユーザー名を調べているか

さて、これらの不正アクセスを行う連中はどこでユーザー名を調べているのでしょうか?

一つは構造化データです。

All in one SEO PackなどのSEO関係プラグインは検索エンジンにサイトの情報を伝えるために、表に見えない情報をページ内に埋め込んでいます。それが構造化データです。
構造化データの中には、ユーザー情報が含まれることがあります。
そのユーザー名を見ている可能性があります。

しかし、もっとヤバいデータが丸見えになっている可能性があるんです。

WP REST APIによって、ユーザー情報が誰でも見えてしまう

WordPressには外部から情報を操作できるように、REST設計APIでJSON形式のデータを取得できる仕組みがあります。
例えば、あなたのホームページで以下のURLを入力してみてください。

https://{あなたのホームページドメイン}/wp-json/wp/v2/users

そうすると、何やらユーザーIDやユーザー名など情報がだだ洩れになっていませんか?
そうです。これはWordPressの機能の一つなので、どのサイトであれWordPressで作られていて、対策を施していないサイトには、上記のURLを叩くだけで、ユーザー情報が丸見えなんです。

WP REST APIによるユーザー情報を隠蔽するには?

WP REST APIにアクセスできなくするには、単純に/wp-adminにアクセスできないようにしたら良いのです。

WordPressのユーザー名は外部から見えるものと諦めよう

しかし、/wp-adminへのアクセスを禁止すると、いろいろ不都合があることもあるでしょう。
そこで、ユーザー名はくれてやる!しかし、パスワードは暴かせない!という作戦も良いと思います。

以下の記事によると、現在のコンピュータの処理能力でこのようになっています。

大文字・小文字・数字の組み合わせで6文字 = 1秒
大文字・小文字・数字の組み合わせで8文字 = 1時間程度
大文字・小文字・数字の組み合わせで12文字 = 2千年

なので、大文字・小文字・数字を組み合わせた12文字以上のパスワードを設定するようにしたら、非常に強固なセキュリティとして機能するでしょう。記号も使えば完璧です!

宣伝
WordPressサイトのテンプレート編集やトラブル対応、バグ修正、簡単なJavascriptの作成(カルーセルやバリデーション等)など、小規模なスポット対応を受け付けております。
もしお困りごとがありましたら、お問い合わせフォームよりご相談ください。

この記事を書いた人

uilou

uilou

プログラマー

基本的に、自分自身の備忘録のつもりでブログを書いています。 自分と同じ所で詰まった人の助けになれば良いかなと思います。 システムのリファクタリングを得意としており、バックエンド、フロントエンド、アプリケーション、SQLなど幅広い知識と経験があります。 広いだけでなく、知識をもっと深堀りしていきたいですね。