ワードプレスでのサイト運営を始めて、いくつか記事も書き、アフィリエイトやAdSenceの数値に日々一喜一憂していることだと思う。しかしあなたは、ワードプレスのセキュリティ対策について考えたことがあっただろうか。
と偉そうなことを言っている場合ではない。私こそが、セキュリティにノータッチでサイト運営を進めていた張本人だ。
AdSenseに合格するとそれだけで大丈夫、みたいな気にはなるよね~
幸いにも、つい最近Twitterで「あなたのサイト見たけどこんな運営していて大丈夫?」(意訳)という連絡をいただき、さらにその概要まで教えていただいた。その後自分でも調べたところ、非常にマズい状態であることに気が付いた。
おそらくベテランのブロガーさんは、すでに対応済だと思うけど、私がちらちら見たところ、この設定をしていないサイトはまだ多い。
「まだ何の対策もしてないわ」という方は、この機会にぜひセキュリティ対策について考えてみて欲しい。
コンテンツ内容
ワードプレスにはどんなリスクがあるのか?
ワードプレスのように世界中の人が使うツールは、様々な攻撃の標的になりやすい。IDやパスワードを解析してサイトを乗っ取ったり、ウイルスを仕込んだりする人もいる。また情報を抜き取って販売したり、悪質なメールをばらまいたりする人もいる。
誰もが無料で簡単に扱える「ワードプレス」だからこそ、セキュリティ対策がとても重要だったのだ。
情報を取り扱うサイトはリスクはつきものだが、銀行やショッピングサイトなどは、ログインするPCやスマホを認識する機能がついていたり、2段階認証が必要だったり、ログイン連絡が来たりする。
しかし初期設定のままのワードプレスには、セキュリティ面でのリスクが高い。
それではどんなリスクがあるのか具体的に紹介していこう。
ログインIDが簡単にわかる
まず1つ目の問題は、ログインIDが簡単にわかるという、非常に重要な問題だ。個人で運用している場合も、複数で運用している場合もわかってしまう。
ワードプレス導入時に、ユーザ登録画面で「ニックネーム登録」や「ブログ上の表示名」をID以外の名前で登録している方は、比較的ページ内に表示される心配がないが、登録していない場合は記事の上部にID表示されていることがある。「ブログ上の表示名」を再確認しよう。
さらに、ここが大きな問題。ページ内に表示されなくても、自身のワードプレスのサイトURL末尾に「/?author=1」を付けて開くと、「ニックネーム」一覧ページにリダイレクトされる。(ちなみにユーザが複数いる場合は、数字の「1」部分を変更すると別のIDが表示される。)
https://サイトURL/author/●●●/
このようなURLにリダイレクトされ、●●部分がIDになるのだ。
このページは、管理者ページ、投稿者アーカイブ、投稿者ページといろいろな名前で呼ばれているが、ここでは「管理者ページ」としておく。
「管理者ページ」でログインIDが簡単に手に入れば、あとはパスワードを解析するだけでよい。サイトが乗っ取られる可能性は高くなり大変危険⚠だ。
ログインページがすぐわかる
2つ目の問題は、ワードプレスのサイトURL末尾に「/wp-login.php」を付けるとログインページとなることである。ワードプレス共通の仕様と言える。
これはこれで便利だと思う人もいるかもしれないが、悪意のある人にとっては好都合、乗っ取りしやすい作りでしかない。銀行やショッピングサイトなどの入り口であれば、広く周知される必要があるが、個人のサイトの入り口などは、見えなければ乗っ取られる可能性は下がる。
できればログインページも個別に用意する方がよい。
どんなセキュリティ対策をすればよいのか
では、ワードプレスサイトにおけるリスクがわかったところで、どんなセキュリティ対策をすればよいだろのか。忙しい人も多いので簡単な順に並べてみた。
また、 プラグインインストールの際は念のためバックアップを取った方が良い。大切なデータが消えてしまうこともあるので。
レベル1 パスワードを変更する
レベル1は、すぐにでも実行できるセキュリティ対策だ。IDがばれていても、パスワードが分かりにくければ、攻撃対象にはなりにくい。だからパスワードを複雑にするというのは対策としては一番簡単だ。
また、定期的にパスワードを変えるというのも金融系サイトなどでよく言われている。今は時間がないという方には、まずはこちらをお勧めする。
レベル2 管理者ページのURLを無効にする
レベル2は、とにかく管理者ページでログインIDを表示させないようにするというもの。ログインIDは外にでない方がよい。
プラグインが必要だけど、操作は簡単。ユーザ登録画面から簡単に変更できる。
レベル3 ログインページのURLを変更する
レベル3もプラグインが必要な作業だ。
ただし、ログインページのURLを変更すれば、設定してからは自身も間違えないようにアクセスしなくてはいけない。ブックマークを変更したり、ログインページURLを忘れないようにしなくてはならない。共同でサイトを管理している人は、少し手間かもしれない。
それでも、IDやパスワードが流出したとしても、ログインページがわからなければ乗っ取られるリスクは下がる。他にも、プラグインによれば、ログインページへのアクセスをIP制限したり、ログイン通知設定ができたりと色々対策は可能のようだ。
まずはできるところから!私の現状は…
まずは、今できそうなところから対策をしてみてほしい。私は、この記事を書きながらの対策だったので、なかなか時間が取れなかったが、レベル2の対策とスパムメール対策だけはやっておいた。
私が入れたプラグインは「Edit Author Slug」。比較的実績があって、最近更新されたものだったので。
まだログインページのURLは変更していないが、「Login rebuilde 」を入れようかなと考えている。
また、スパムメールには困っていたので、後述する「GoogleのreCAPTCHA」を使った対策を試みた。結果は上々。
それでは、今回のセキュリティ対策に関連するプラグインを紹介する。
管理者ページのURLを変更するプラグイン
問題なのは、ログインIDが管理者ページのURLや投稿画面から見えること。なので、ログインIDと投稿者名がイコールでなければよい。
Edit Author Slug
ワードプレスの公式を見ると比較的人気があるプラグイン。管理者ページのURLを変更できる。
インストールして「有効」にするだけで、ユーザ一覧に新しい項目ができ、表示される投稿者名を変更することができる。
公式ページ:Edit Author Slug
1.まずはプラグインをインストールして有効に
2.ユーザ画面に「投稿者スラッグ」ができる
3.「test」と入れてみる
4.表示名「test」に変更完了
普段使っているブラウザだと、キャッシュが残っていてすぐにタイトルやURLが更新されないので、別のEdge、IE、Chromeなどのブラウザで変更確認を行うとよい。
Disable Author Pages
ワードプレスの公式によれば、2年間くらい更新されていないようだが、使用者は多い。
公式ページ:Disable Author Pages
使い方
Disable Author Pages:投稿者ページ(/author=?)へのアクセスを無効にできる
ログインページを変更するプラグイン
同じことができてもプラグインの種類がたくさんある。それぞれやりたいことに合ったプラグインを見つけてほしい。
All In One WP Security & Firewall
全部英語で、かなり難易度の高いプラグイン。以前さくらインターネットで紹介されていたとか。
.htaccessに変更を加えるタイプ。
注意点:.htaccessをバックアップすること
Hide My WordPress Ghost
色々なワードプレス上のURLを変更できるプラグイン、多機能すぎるかも。解説ページはあるけれど、日本語表示ではないかもしれない。
参照:WordPressの様々なデフォルトのURLを変更できる:Hide My WordPress Ghost
Login rebuilde
ログインページ名変更プラグインとして、最初に教えてもらったもの。扱いやすそうな印象がある。 最新バージョンは(2019.04.22 Login rebuilder 2.6.0)
ログインページを独自の名前のページ変更し、標準のログインページwp-login.phpを使用できないようにするプラグイン。ユーザ情報の画面で、ログインページの名称を簡単に変えられる。
注意点:wp-login.phpファイルは削除しない
作成者の顔が見えるので安心感がある。
最新情報はこちらから↓
参照:Login rebuilder:プラグイン作ってみました
SiteGuard
日本で開発された総合的なセキュリティ系のプラグイン。ログインページ名変更のほか、管理ページアクセス制限、画像認証、ログインロック、ログインアラート機能がある。
公式:SiteGuard
その他のセキュリティ対策プラグイン
これも、まったく存じ上げなかったセキュリティ以外でも使える 多機能なプラグイン。
Jetpack
セキュリティがらみで知ったプラグインだけれど、他にも色々機能がある。
まず、ライティングチェック機能、SNS連携、アクセス解析。これだけでもインストールしてよい気がしたが、表示高速化機能、そして本命のセキュリティ機能もすばらしい。
公式:Jetpack
問い合わせフォームからのスパムの投稿対策
クリックしなければ、リスクはないと思われるスパムメール。しかし、本来のお問い合わせ機能以外で使われてしまうのは残念だ。
まだ対策をしていないのなら、簡単なのでこれを機にぜひ対策を。
こちらは新たにプラグインをインストールするのではなく、Googleからキーを発行してもらって、お問い合わせフォーム設置で使用した 「contact form 7」 というプラグインに設定するという仕組み。
ざっと説明するとこんな感じだ。
- GoogleのreCAPTCHAページにアクセス
- サイトを登録して、キーを発行
- ワードプレスにキーを設定
まだ設定していない人は、こちらの記事をどうぞ。
普通の人はもう設定してるよね~
セキュリティ対策を終えて
全くノーガードだった当サイト。
しかし、ちょっとアドバイスをもらっただけで、3日に1度は来ていたスパムも来なくなったし、ログインIDも表示されなくなった。
まだまだ足りないのだろうけど、一応はざっとセキュリティ対策できたのではないかな。さらに記事も書けたので、誰かの役に立てるかもしれない。
助言いただいた方に感謝を、そしてまだ対策していない方にはエールを送りたい。