WordPressのサイトを運営されている方であれば分かると思いますが、管理画面にログインするためには「ユーザー名(author)」と「パスワード」が必要です。
このユーザー名は、サイトを乗っ取られるリスクを避けるため、できればあまり知られないほうが良いのですが、対策をしっかりしていないサイトは、ユーザー名がバレてしまい、ブルートフォースアタック(総当たり攻撃)を受けると、サイトを乗っ取られてしまいます。これってすごく危険です。
今回はWordPressのサイトのユーザー名を特定方法と、その対策を紹介します。
ユーザー名を特定されないように対策しているサイトは少ない
ある会社の部長さんからあった本当の話です。(名称などは仮名を使っています。)
藤本さん、こんにちは。○○株式会社の佐藤です。先日はご挨拶させていただきありがとうございました。
実はちょっと相談があるんですが、お時間もらえませんか?
あっ、先日のあのイベントでご挨拶させていただいた佐藤部長ですね。あの時はどうもありがとうございました。
何かあったんですか?
ウチのサイトの運営担当者の路川っていうのが、実は突然辞めてしまい困っているんですよ。。。
突然の退職とは。。。それは残念ですね。困っているというのはどんなことでしょうか?
突然の退職で、しかも彼と連絡がつかなくて、引き継ぎもしていないから、会社のホームページが更新できないんですよ。
ウチのホームページはWordPressっていうのを使っていて、自社内でコンテンツを管理しているんだけど。
それは大変ですね。
もしかして、困っているというのはそのサイトに関することですか?
ちょっとの沈黙
実は、経理担当の緑川が、WordPressならなんとか運営できるって言っているから、任せようと思うんだけど、緑川がログインするためのユーザー名とパスワードが分からないからどうしようもないって言っているんですよ。
はじめまして、藤本さん。そうなんですよ!管理画面にログインできなきゃ、何もできないですよね。
わたしは管理画面上で、投稿ページや固定ページでHTMLで編集できるぐらいで、そんなにWordPressについて詳しくないんですよ。
WordPressで書籍を執筆したり、セミナーをしている藤本さんなら、こんなことも分かるんじゃないかと思って。
だからといって、なんでも聞けば良いってもんじゃないんだけどなぁー。
佐藤部長、さすがにわたしは魔法使いではないですよー。じゃ、すぐ分かりそうだったら、サポートしますけど、複雑そうだったら制作会社を紹介するので、そっちに相談してくださいね。
1分だけ時間ください。御社のサイトは、○×△○×△○×△.net でしたよね?
あの方法で特定できちゃったら、すぐ終わるから、ちょっとサポートしてあげよう。
あっ、佐藤部長、分かっちゃいました。御社のコーポレートサイトのユーザー名は、「admin」ですね。
おお!さすが藤本さん!ユーザー名が分かっちゃったんですね!パスワードもわかりますか?
そしたら緑川さん、御社サイトの管理画面のログイン画面を表示できますか?
○×△○×△○×△.net/wp-admin
です。
下の方に、「パスワードをお忘れですか?」と表示されていると思うんですが、そこをクリックすると、違う画面になって、さきほどお伝えしたユーザー名を入力して、「新しいパスワードを取得」をクリックすると、メールが届くと思います。
メールが届いたら、メールの指示どおりにパスワードをリセットして、新しいパスワードを設定してくださいね。
あっ、
info@○×△○×△○×△.net
にメールが届きました。パスワードリセットできました。
いやー、助かりましたよ!これでコーポレートサイトの更新ができます。
藤本さん、本当にありがとうございました。
ユーザー名の特定方法
ところで藤本さん、なんでユーザー名が分かったんですか?
この短時間でウチの会社のコーポレートサイトをハッキングとかしたんですか?
WordPress全部のサイトではないんですが、ユーザー名が分かる方法が幾つかあるんですよ。そのうちのひとつをやってみただけです。
セキュリティ対策していないサイトはほとんど分かっちゃうんですよ。
つまりウチのコーポレートサイトはセキュリティ対策がされていないってことなんだな。
藤本さん、これはセキュリティ対策がまったくできていないということなんですね。それはマズイです。
今回いろいろ助けていただきましたし、そのセキュリティ対策を最低レベルは実施したいので、(非公表)円くらいでちょっと仕事としてやっていただけませんか?
お金をもらうほどじゃないけど、せっかくだからしっかり教えてあげよう。
そしてもっとサイトのセキュリティに対する意識をあげてもらおう。
わかりました。じゃ、わたしがユーザー名を特定した方法と、それをブロックする方法をお伝えしますね。
緑川さん、御社のサイトの後ろに「 /?author=1 」 と入力してもらい、エンターキーをおしてもらえますか?
あっ、こういう風にユーザー名が表示されるんですね!
authorの後ろに「admin」っていうのが表示されたのがわかりますか?
さきほどは、御社のサイトの後ろに「 /?author=1 」 と入力してもらい、エンターキーをおしてもらいましたが、
今度は「 /?author=2 」 と入力してエンターキーをおしてもらえますか?」
そう、このサイトのユーザー名は1つじゃなかったんですね。こうやって数字を変えて入力していけば、そのサイトのユーザー名とユーザー数(author数)が推測できるんですよ。
でも、これってセキュリティ的にはあまり良くない状況なんですよ。
ブルートフォースアタックって聞いたことがありますか?これはWordPressのサイトに限ったことではないのですが、パスワードを破られる方法の代表的な攻撃方法で、とにかくパスワードが破られるまで、考えられるパスワード候補の文字列を繰り返し入力する方法です。
あっ聞いたことあります。ブルートフォースアタック。。。
WordPressに限ったことではないですが、ユーザー名が分かるとパスワードを破られる可能性が高くなるので、セキュリティ対策としては、
①ユーザー名が外部流出しないようにする
②パスワードを複雑なものに設定する
③指定IP以外は管理画面へのアクセスを遮断するなど、その他多々。
といったように、対策はいろいろありますけど、
①と②はやっておきましょう。
そうなんですね。藤本さん、ユーザー名をこうやって外部流出させない方法を教えてくださいよ。
いろいろな方法があります。
さきほど「 /?author=1 」 と入力したら、ユーザー名が表示されましたが、それを回避する方法を教えますね。
ユーザー名の特定を回避する方法
結構簡単なんですけど、以下のソースをコピーペーストして、author.phpというファイ名のphpファイルを作成してください。
<?php
wp_redirect(home_url());
exit();
ちょっとわたしはやったことがありませんが、やってみます!
ふむふむ。phpファイルを作成するんですね。
そのファイルが作れたら、FTPを使って、サーバーにアップロードしてください。
アップする場所は、
「wp-content/themes/(使っているテーマ名)」の直下です。
アップしたら先程のように御社のサイトの後ろに「 /?author=1 」 と入力してもらい、エンターキーをおしてもらえますか?
あっ、今度はautorとか表示されなくて、トップページが表示されています。
そうなんです。authorを確認しようとすると、強制的にトップページにリダイレクトされるように設定できました。これでユーザー名の特定を回避できました。
案外あっけないんですね。もっと難しいことなのかと思いました。
佐藤部長、これだけではセキュリティ対策は万全じゃないですよ。ただの対策のひとつなんです。
そもそも、WordPressのユーザー名が「admin」ってのは危険です。管理者(Administrator)の略なので、結構使いがちなんですが、狙われてしまうので、ユーザー名はadmin以外にしましょう。
なるほど。そんなこと意識してなかったな。そもそも「admin」ってユーザー名はダメだな。よし分かりました。ユーザー名は新しく作って、adminは削除しておこう。
佐藤部長、そのとおりです。まずはそれをしましょう。
パスワードの重要性
あとパスワードなんですが、御社は「123456」とか「password」とかにしていないですよね?
あっ、マズイ。何で分かったのかな???
この人、超能力とか使っているんじゃないの?怖い…。
こういう推測されやすいパスワードを使っている人って本当に多いんですよ。
例えばこのサイトに掲載されているようなパスワードとか、会社の電話番号とか、そういう単純なものは絶対に辞めてください。絶対にです。
文字と数字を必ず混ぜたものを使ってください。パスワード生成ツールなんかもネット上にたくさんあるので、それらを使うのも良いです。かなり複雑なものなので。
WordPressならユーザー作成時にパスワードが「強力」と表示されるようなものにして欲しいです。
なるほど!わかりました!推測されにくいパスワードって、このレベルのことなんですね。
確かにコーポレートサイトだから乗っ取られたら大変です。今後はこのような複雑なパスワードにします。
ぜひそうしてください。セキュリティ対策で一番大切なことかもしれません。よろしくお願いします。
今回は良いキッカケになりました。藤本さんどうもありがとうございました。また何かあったらぜひ助けてください。
まとめ
いかがでしたか?ちょっと長文になりましたが、WordPressサイトで無料テーマなどを使っている場合は、この特定方法でユーザー名がバレてしまいます。
ユーザー名がバレてしまうことは、そこまでマズイというわけではないのですが、少し知識がある人なら、ユーザー名から推測していろいろな手段を使えば、パスワード認証に成功され、サイトにハッキングされ、情報を抜き出されたり、サイトを乗っ取られるかもしれません。
(※実はサイトをハッキングされても、普通の人は気づかないことの方がほとんどです。ハッキングする人たちは、足跡を残さないように侵入して、顧客情報などを盗むなどしますが、それに気づく方法はあまりありません。仮に侵入してソースコードを書き換えても、Googleサーチコンソールなどのツールで、サイト運営者がパスワードが破られたことに1ヵ月後に気づくぐらいだと思います。)
企業が運営するサイトで個人情報が抜かれたら、企業の存続に関わる事態になりかねません。
もちろん、個人サイトだって侵入されたら気持ち悪いですよね。
しっかり対策してください。