本記事では「ブログ開設手順⑥」と題して、非Webエンジニアでもできたセキュリティ対策を紹介します。
具体的にはセキュリティ対策プラグイン「SiteGuard WP Plugin」の導入手順を紹介します。
過去記事でもセキュリティ対策を扱っているので、気になったら読んでみてください。
HTTPSの設定編
WordPressのユーザー名(管理者名)を守る編
セキュリティ対策が必要な理由
WordPressは世界で一番使われているから狙われやすい
WordPressは、ブログを含むWebサイトを作れるオープンソースのCMS(Contents Management System)です。
そして、WordPressは約40%で利用されている非常に人気のあるCMSです。
そのため、攻撃者にとっては大きな攻撃対象となります。
また、WordPressには既知の脆弱性(弱点)があるため、攻撃者はそれらを悪用してWebサイトにアクセスして、乗っ取りやデータを盗んだりすることができてしまいます。
このような理由からWordPressは攻撃者の標的になりやすいのです。
「標的になりやすい」で終わってしまうとWordPressが人気な訳がありません。
既知の脆弱性に対して守り方も確立できているため、人気を保てている訳です。
本記事ではその一端を紹介できたらと思います。
読者・利用者を守る
HTTPSの設定編で紹介したSSL設定がないと、通信が攻撃者から丸見えです。
もし、ECサイトの通信が丸見えだったら、決済に使用したカード情報が盗まれ、悪用されかねません。
また、サイトが乗っ取られると問い合わせフォームに入力された連絡先などの個人情報が盗まれてしまいます。
このように読者・利用者を守るためにもセキュリティ対策は必要です。
自分の財産を守る
ブログ開設手順で紹介した通り、Wordpressで自分のサイト(財産)を築くということは、サイトの生殺与奪の権を自分で握ることになります。
言い換えると、「はてなブログ」や「アメブロ」のようにブログサービスの運営元に守ってもらうのではなく、自衛が大切になります。
セキュリティ対策を怠り、自サイトの乗っ取られると、自分が作ったコンテンツを削除されたり、築き上げたイメージを壊すようなコンテンツで上書きされたりします。
それによって、大切な思い出や収益源を失った日には悲しみにくれてしまいますね。
だから、セキュリティ対策が必要なんです。
実体験:無名ブログでも攻撃される
上記3つの理由は一般論ですが、セキュリティ対策が大切だと私自身が思ったきっかけは、自サイトへの攻撃を目の当たりにしたためです。
私がブログを作って2週間程度で181回も攻撃を受けていました。

「アクセス数1桁の無名ブログでも攻撃対象になるんだ!」と驚きました。
おそらく、Googleがサイトを検索にかかるようにするのと同じように機械的に無差別攻撃しているのだと思います。
ちなみに、攻撃者のIPは海外ばかりでした。
実際に中国が多いのか、単に中国を経由して攻撃者が多いはわかりませんが、次の図のような国からサイトを乗っ取ろうとする攻撃を受けていました。

このような経験で、WordPressのユーザー名(管理者名)を守る編で行ったセキュリティ対策を実施していて安心した半面、他の対策もした方が良いなと危機感を持ちました。
初心者がやるべきセキュリティ対策
さて、セキュリティ対策をすると言っても何からやるといいでしょうか?
初心者でも簡単にできて、効果がありそうだと思った対策と概要をまとめてみました。
2~4の対策は過去記事で紹介しているので、まだだったらリンクから参照してみてください。
今回紹介する「SiteGuard WP Plugin」では、多機能なため一部重複しますが3~7と初心者では思いつかない所をカバーしてくれます。
| No. | 対策 | 説明 |
|---|---|---|
| 1 | 複雑なパスワードを使用する | アカウントの乗っ取りを狙った攻撃への基本的な対策です |
| 2 | SSLの設定を行う | 通信を盗聴されても内容を理解できないよう通信を暗号化します |
| 3 | WordPressのユーザー名を隠す | デフォルト設定では簡単にユーザー名がバレてしまうので隠しましょう |
| 4 | ログイン試行回数を制限する | 「数打ちゃ当たる」を地でいく総当たり攻撃に対して、数を制限して防御しましょう |
| 5 | 画像認証を追加する | ユーザー名とパスワード以外の要素が加わり攻撃しにくくなります |
| 6 | WordPressのログインページを変える | デフォルトの設定ではログインページが同じため、標的が丸わかりなので隠しましょう |
| 7 | ログイン時に通知を出す | もし、不正ログインされた時に気付いて対処できるように準備しましょう |
| 8 | スパム対策 | コメントや問い合わせフォームを荒らされないように。 |
| 9 | バックアップを取っておく | お金はコピーできないけど、Webサイトのコンテンツはコピーして取っておけます。最後の頼みの綱に用意しましょう。 |
| 10 | 不要なプラグインの削除 | 脆弱性がある可能性があり、攻撃対象にされる可能性があります。 |
| 11 | 最新に保つ | WordPress、プラグインともに脆弱性に対する修正がなされたら更新しましょう |
SiteGuard WP Pluginの導入
SiteGuard WP Pluginのインストール
まずは「SiteGuard WP Plugin」をインストールしていきましょう。
管理者ログインして、プラグイン>新規追加 を開きましょう

検索窓に「SiteGuard」と入力して、「SiteGuard WP Plugin」が表示されたら、「今すぐインストール」ボタンをクリックしましょう。
インストールが終わると、「有効化」ボタンに変わるので、有効化しましょう。

有効化すると、管理者ログインページが変更され、「ドメイン名/wp-login.php」からはログインできなくなります。
代わりログインページは、有効化した時に表示される次のような案内からアクセスできます。
「新しいログインページURL」をクリックして、ブックマークしておきましょう。

有効化すると管理者画面のサイドバーから追加設定ができるようになります。
デフォルトの設定でもある程度守られますが、次の設定・確認も行うと良いでしょう。

ログインページ変更の設定
ここでは、オプションの「管理者ページからログインページへリダイレクトしない」にチェックを入れます。
デフォルトのままでは、「ドメイン名/wp-login.php」だけ変更され、「ドメイン名/wp-admin」は変更されていません。
そのため、チェックを入れておきましょう。

また、ここではプラグインの有効化で変更されたログインページのURLを再変更できます。
自動生成されたものじゃ不安、覚えにくいと思ったり、
実際に攻撃を受けたりした時に見直すと良いでしょう。
ちなみ、このURL変更は過去記事で紹介した「Login Lockdown」のPRO版でも可能です。
画像認証の確認
画像認証はデフォルトで有効になっていると思います。
ONになっていなければ、ONにしておきましょう。
有効になっていれば、次回ログイン時には次のような画面になります。

過去記事で紹介した「Login Lockdown」の設定で「キャプチャ」でも画像認証は追加できるので好みで使い分けてください。
ログインロックの設定
ログインロックの設定ページでは、次のように一番厳しい設定を選びましょう。
高速な攻撃のみ有効なので、ゆっくりな攻撃も防ぎたい場合は、過去記事の「Login Lockdown」をご検討ください。

ログインアラートの確認
デフォルトで有効だと思いますが、ONになっているか確認しましょう。
ONになっていれば、ログイン時に管理者のメールアドレスに通知が飛びます。
XMLRPC防御の設定
初心者には「XMLRPCって何?」って感じですよね。(僕はそうでした)
簡単に言うとWordPressを遠隔から操作して、ブログ記事やコメントの投稿、取得、編集などが行える機能です。
XMLRPC には脆弱性があり、悪用されるとユーザ名/パスワードを推測されたり、サーバーに負荷をかけてダウンさせられたりします。
そんなXMLRPCはWordPressのバージョン3.5以降で機能が有効になっています。
「XMLRPC防御」で次のように設定すると無効化できるので無効化しておきましょう。

※注意点
プラグインによってはXMLRPCを利用しているものがあります。
サイトが正しく動かなくなった場合は、XMLRPC防御を無効化するか原因となるプラグインの見直しを行ってください
ユーザー名漏えい防御の設定
過去記事でも実施した”/?author=数字” のアクセスによるユーザー名の漏えいを防止します。
オプションでREST APIの無効化もできるので、必要に応じて実施しましょう。
導入効果の確認
ログイン履歴
不正ログインを試みた形跡があるかは、ログイン履歴から確認できます。

2週間ほど「Login Lockdown」と「SiteGuard WP Plugin」の両方を入れた状態で様子を見ようと思います。
追記:2週間後
全く攻撃されなくなりました!
SiteGuard WP Plugin導入直前に見たときは183回でした。1回増えてますが、「test」でログインした時の失敗なので、実際は0回でした。ログインURL変更の効果の高さが判明しました。

まとめ・感想
「SiteGuard WP Plugin」だけで色々なセキュリテイ対策ができました。
2要素認証でのログイン、スパム対策など、まだまだやっておくと良さそうなことがあります。
調べる中で、他にも良さそうなプラグインがあったので、いつかセキュリテイ対策プラグインの比較記事なんかも書いてみようと思います。



コメント