【WordPress】絶対に不正ログインさせたくない!でも簡単に設定したい!という人が必ず行いたいセキュリティ対策

インストールも簡単でレンタルブログよりも機能的なサイトが作れて、しかもカスタマイズできる「テーマ」や「プラグイン」も充実している、まさにいうことなしなサイト作成ツールであるWordpress。簡単故に潜む危険をご存じですか?

未対策のまま使い続けているとしたら「このサイトを乗っ取ってください」と言っているようなものかもしれません。サイトが勝手に改変されたり乗っ取られたりする前に、簡単かつ最低限やっておきたいセキュリティ対策についていくつか紹介したいと思います。

まずはなぜWordpressのログインまわりで不正対策が必要なのかということを説明すると・・・

WordPressはご存じの通り、世界でたくさん使われているCMS(サイト作成ツール)です。簡単にインストールできるし、プラグインの追加やテーマの変更なども簡単にできることが人気の要因なのですが、実はこれが非常に危険なんです。

なぜかというと、
簡単にできる=ドメイン(URL)が違うだけでファイルの構造も基本プログラムも一緒
ということで、Wordpressのサイトであることが分かってしまえば構造は全員が分かるので、不正な処理をしようと思えばできてしまうともいえるからです。

試しに、あなたのサイトの管理画面のURLは何ですか?

当然ながら「http://サイトのURL/wp-admin」ですよね?
正確には「http://サイトのURL/wp-admin/index.php」なのですが、/index.phpなしでも開くようになっています。

そして、ユーザーログイン画面は「http://サイトのURL/wp-login」ですね。そして、「wp-admin」にアクセスしてログインしていないことが分かると自動でログイン画面になる(リダイレクトされる)という機能もWordpressは持っています。便利ですね、でも・・・。

汎用のプログラムだから当然の話です。では、不正を行おうとする人はどういう行動をすると思いますか?そうです!いろいろなサイトで試しに「http://サイトのURL/wp-admin」へアクセスしてみるのです。それでログイン画面が出れはWordpressで作られたサイトだということがバレバレ!!となるのです。

WordPressは初期状態では「ユーザー名」と「パスワード」でログインするようになっています。上記の段階でWordpressであることが分かってしまえばあとはこの「ユーザー名」「パスワード」が不正ログインを防ぐ壁になります。でも・・・。

この先はこれから順を追って解説しますので、初期状態のまま何の気なしに使っている方は絶対&最低限これらの設定を行ってください

スポンサーリンク

WordPress標準の設定でこれだけはやっておきたいこと2つ

ここではWordpress標準で備わっている機能を使ってできるセキュリティ対策を2つ紹介します

インストール時に何気なく設定してしまう「admin」というユーザー名は使わない

 Wordpressはインストールが他のツールと比べて非常に簡単です。最近のレンタルサーバーでは自動インストール機能を備えているものもあります。

初めてWordpressをインストールするとき、セキュリティ意識のあるレンタルサーバーの自動インストール機能を除き、インストール時に自動入力されている管理者ユーザーのユーザー名は「admin」になりますね。

訳が分からないからそのままでいいや!!としてしまっている方、非常に危険です。

前述したようにWordpressで作成しているサイトであることが分かってしまうとあとは「ユーザー名」と「パスワード」が最後の砦。そのユーザー名が標準のままの「admin」だとすると・・・あとはパスワードだけが頼みの綱となってしまいます。

必ず「admin」というユーザー名は使用しないか削除するようにしましょう。

WordPressには

標準の機能を使って定期的にパスワードの変更をされている方は多いと思いますがそれだけでセキュリティ面は決して万全とは言えません。「Username Changer」は管理者権限を持つユーザーがユーザー名を任意に変更できるプラグインで、セキュリティの保持に役立ちます。

というユーザー名を変更するプラグインもありますが、この際なのでそれを使わずに「admin」ユーザーを削除しましょう。
手順は

  1. 「admin」ユーザーでログインする
  2. ユーザーの新規作成を行う(権限は「管理者」にする)
  3. 2で作ったユーザーでログインする
  4. 「admin」ユーザーを削除する

です。

※ユーザーの削除ができない場合は、作成した新しいユーザーが「管理者」の権限でないことが要因です。もう一度「admin」ユーザーでログインして、新しいユーザーの権限を管理者に変更しましょう。

※「admin」ユーザーとして投稿などのコンテンツを作成している場合、ユーザー削除時に作成済みのコンテンツをどのユーザーに紐づけるかを聞かれます。この場合は新しく管理者にしたユーザーを選択すればOKです。

※マルチサイト環境の場合「特権管理者」としての設定も必要ですがここでは省略します。

※ユーザーをいくつか作り、ある程度ID番号の増えた段階のユーザーを管理者にしておき、「admin」を含めて不要なユーザーをすべて削除することをおすすめします。この作業は後述する「ID」の項にも絡んできますから、この方法がおそらくベストだと思います。

ちょっと意地悪な方法
不正アクセスを行う人が一番がっかりするのは・・・と考えたときに思いついたのが、「admin」や「ID=1」のユーザーをわざと残しておいて、権限を「購読者」にするという手法。「やった!!これでサイトを乗っ取れた!!」と思った矢先に何もできないことが分かったとき・・・楽しい想像をしてしまいます(笑)。ダメージ大きいでしょうね・・・。

ニックネームは必ず設定する

記事の作者として表示される名前が「ユーザー名」になっているなんてセキュリティ意識ゼロ!と言わざるを得ません。Wordpressの標準セキュリティ機能としてこれを別名にするための設定項目がありますから、必ず設定しましょう。

  1. ダッシュボードから「ユーザー」をクリック
  2. ユーザーの一覧から、ニックネームを設定するユーザー名の「編集」をクリック
  3. 出てくるプロフィールの中の「ニックネーム」に別名を入力
  4. その下の「ブログ上の表示名」で設定したニックネームを選択
  5. 「更新」をクリック

たったこれだけの手順で、表示上の作者名をユーザー名から別名に変更できますから、必ず行うようにしましょう。

便利なプラグインで設定するセキュリティ対策

IDからスラグを引くことで便利になったWordpress。以前は完全にURLが一致しないとリンク切れとなってしまっていたのですが、あるバージョンから、
アクセスされたらまずはIDを調べる
IDを元に今のURLを調べる
ページを表示する
という手順でページの表示が行われるようになりました。これによって投稿タイプを変更したときやパーマリンクを変更したときにいちいちリダイレクトしなくてもよくなりました(環境によっては必要な場合があります)。

この機能によってコンテンツの管理という部分では非常に便利になったのですが、ユーザーの管理となると話は別です。

ユーザーにも「ID」があり、最初に登録したユーザーから順番に連番が振られます。つまり1から順番に番号が付くわけです。当然インストール時に登録したユーザーは「ID=1」ですから、これも不正ログインしたい人にとっては格好のネタになります。先に書いた通り、IDからスラグ(この場合はユーザー名)が分かってしまうのですから、少なくとも「ID=1」の状態は避けたいところです。

そしてこの「IDからスラグを引く」ことを悪用してユーザー名を知る方法があるのです。

WordPressでは投稿などのコンテンツを追加したとき、自動で「カテゴリー一覧」「タグ一覧」「全体の一覧」などの一覧が作成され、追加されるのはご存じですよね?この仕組みを使って記事の「カテゴリー名」をクリックしたときにはカテゴリー一覧が表示されるといった便利な機能なのですが、問題は同じ仕組みで「ユーザーの作成した投稿一覧」も作られてしまうということです。

別に「ユーザーの投稿一覧」が作成されるのは問題ありません。でも、ユーザーIDがユーザー名に変換されるのですから・・・もうお分かりですね?ユーザーの投稿一覧のURLに「ユーザー名」がばっちり出てしまうのです。

不正アクセスを行おうとする人は機械的に行われることがほとんどですからいちいちサイト訪問してユーザーの投稿一覧を開いて・・・なんてことはしません。最初からユーザーIDを挿入したURLを開いてユーザー名を知るのが一般的です。

試しに
「http://サイトのURL/?author=1」
と入力してみてください。出てきたURLの末尾にユーザー名が出ていませんか??とても危険ですね。

ユーザーごとのアーカイブでユーザー名が丸裸になるのを防ぐプラグイン

対策方法がないわけではありません。

「Edit Author Slug」は単純にフロントエンドでのユーザー投稿一覧で表示されるURLを任意のものに変更し、ユーザー名の類推を防ぐことができるプラグインです。

というプラグインを使うことで、元のユーザーIDはそのままで、表示されるユーザー名を別名にしてしまうプラグインです。ユーザープロフィール上で「別名」を設定するだけの簡単プラグインなのですぐに導入しましょう。

これでユーザーIDからユーザー名が分かってしまう事も、サイト表示上からユーザー名(ニックネーム)をクリックして表示される一覧からユーザー名が分かってしまう事もなくなります。

おまけ やらない方がいいこと

複雑なセキュリティ系プラグインは使用しない

WordPressにはいろいろなセキュリティ系のプラグインが配布されています。検索すると実にたくさん出てきて、中には「ここまでする?」という複雑な機能を持つものもあります。

これは私の体験も含まれる話ですが、こうしたセキュリティプラグインには大抵プラグイン削除を行う際に設定をデフォルト(プラグイン導入前の状態)へ戻す機能が備わっています。そしていざデフォルトに戻してプラグインを停止したはずが・・・ログインできない、ログイン画面が表示されない・・・という状態になることがあります。

ネット上のQ&Aサイトなどでも出てくるので、これでアクセス不能になったサイトがたくさんあるのだろうと想像できます。

環境によっては・・・という要素が強いのは確かですが、Wordpressに限らず実生活でも「完全に元に戻す」ことは結構難しいと思いますから、できればこうしたプラグインの使用はやめた方がいいと思います。

また、任意で削除する場合でなくても、

  1. サーバーに何等かの不具合があって機能が停止した場合
  2. FTPで誤ってセキュリティプラグインのフォルダを削除してしまった場合
  3. 元に戻さずにプラグインを停止した場合
  4. プラグインそのものに不具合が起きた場合

など、不測の事態が起こらないとは限りませんので、やはり避けたほうが無難だと思います。

WordPressで作ったサイトでWordpressについての記事を書かない

これだけいろいろとWordpressに関する記事を書いておいて言うのは・・・と思いましたが、使っているツールで使っていることが分かるような内容の記事を掲載するのはやはり避けた方がいいと思います。

とはいえ、「書かない」と決めていても、使っていて便利だなと思う事などは知らず知らずのうちに触れてしまったりするでしょうから、そんなときのためにも前述したいろいろな対策は施しておいたほうがいいと思います。

おまけ2 セキュリティに役立つ簡単・単純なプラグイン

上記の設定以外でもセキュリティアップに役立つプラグインがたくさんあります。その中からおすすめのものをいくつか紹介します。

「Stealth Login Page」はWordpress標準のログインパスワードとは別にもう1つパスワードを設けることでセキュリティ向上を図るプラグインです。ログインURLを他のURLへ変更するタイプのセキュリティプラグインと比べて、安心、安全にセキュリティ対策を図ることができます。
Wordpressはログイン時にエラーが出たときには「○○が間違ってます」と親切に理由まで説明するメッセージが表示されます。親切ではありますが、無断なヒントが表示されることで、ユーザーIDやパスワードなどを類推するヒントを与えることにもつながる懸念もあります。「Hint」はこれらのメッセージを1本化して理由を表示しないようにするプラグインです。
recaptcha機能というと難しい用語ですが、「Are you robot? google recaptcha for wordpress」はWordpressのコメントスパム防止のため「私はロボットではありません」という項目にチェックをいれてもらうようにするプラグインです。recaptcha(リキャプチャ)という言葉は知らなくても、きっとどこかで見たり実際にチェックを入れて送信した経験もあるのでは?
「Only one device login limit」は1つのユーザーIDでログインできるデバイスを1つに制限することができるプラグインです。例えば会社でログインしたまま自宅でログインするということを防止して情報漏えいなどを防止することができます。
「Math Captcha」はログインなどのセキュリティによく使われる画像認証とは異なり、数字の計算式を表示して□の中に数字を入力して正しければ認証が完了するというユニークなプラグインです。
汎用ツールのWordpressで泣き所となるログインセキュリティ。「Spirits and Goblins」はメールで送信されるワンタイムパスワードを入力して認証することによる2段階認証機能を追加することでセキュリティアップを行うプラグインです。

さいごに

5000文字オーバーの長い記事にもかかわらず、最後まで読んでいただきありがとうございました。

いかがですか?結構簡単に、また、より確実に不正ログインに対するセキュリティ対策を紹介したつもりですが参考になりましたか??

WordPressは汎用ツールですからどんな対策をしても無駄!ということがあるかもしれません。それに対して無策で臨むよりは、「やれることはやっておく、しかも安全に、簡単に、単純に」の方がいいと思いこの記事を書きました。

他に単純でいい方法などありましたら是非コメントお寄せ下さい。

トップへ戻る