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文字以上のパスワードを設定するようにしたら、非常に強固なセキュリティとして機能するでしょう。記号も使えば完璧です!
もしお困りごとがありましたら、お問い合わせフォームよりご相談ください。