安心してWordPressを運営するためには、セキュリティ関連のプラグインが必要です。
中でも「Site Guard WP Plugin」は、さまざまな不正アクセスからブログを守る必須アイテムとして、必ず名前の挙がるプラグインと言えるでしょう。
とはいえ、このプラグインをインストールしたのがWordPressを触り始めた初期も初期だったため、いまひとつセキュリティ内容を理解できていなかったところがあります。
そこでサーバー移転をきっかけに、何がどう守られているのかを整理してみることにしました。
Site Guard WP Plugin 出来ること
Site Guard WP Plugin は、管理ページとログインページの保護を中心としたセキュリティ専用のプラグインです。
Site Guard有効化後、ダッシュボードに表示される「設定状況」一覧で内容を確認できます。
SiteGuard の設定項目
ダッシュボードでは、設定状況とログイン履歴が確認できます。
チェックマークが緑色に反転している項目が設定ONの状態です。
上の画像は、初期設定のままをスクショしたものです。
内容を確認し、必要に応じて項目の[ON/OFF]を切り替えます。
【注意!】有効化直後、ログインURLが変更されます!
SiteGuard を有効化すると、
自動的にログインページ(/wp-login.php)のURLが変更されます。
管理ページとログインページは別物
WordPressで作成したサイトは、ログイン画面を開くためのURLが2通りあります。
どちらも、サイトURLの後ろに次のように続けて打ち込みます。
- http(s)://サイトドメイン/wp-admin
- http(s)://サイトドメイン/wp-login.php
2つの違いは、
「/wp-admin」が管理画面(ダッシュボード)を開くのに対し、
「/wp-login.php」はログイン画面を開くURLだということです。
打ち込む文字数が少ないことや、覚えやすいせいなのか、、、
「/wp-admin」を使っている人が多いようですが、ログインしていない状態でこちらのURLにアクセスすると、自動的にログイン画面にリダイレクトされているのです。
ログインURLの変更は、なぜ必要か?
ログインページが開くのは自分のサイトに限りません。
初期設定のまま公開されているサイトは、
他人のものであってもログイン画面までは誰でもアクセスできる! のです。
それはつまり…
ユーザー名とパスワードが漏れてしまえば、簡単に乗っ取られてしまう可能性があるのです!
実際『ブルートフォースアタック(総当たり攻撃)』による被害が報告されています。
理論的にありうるパターン全てを入力し解読する暗号解読法のことを
『ブルートフォースアタック』と言います。
コンピーターで自動化すれば、4桁の暗証番号なら
3秒程度で突破されちゃうらしいブー!
ログイン画面に簡単に辿り着けること自体が無防備な状態でもあるので、
ログインURLを変更しておくことが、対策として有効になります。
【要確認!】 変更後のログインページURL
SiteGuard を有効化すると、自動的にログインページのURLが変更されます。
管理画面の[SiteGuard]→[ログインページ変更]から新しいURLを確認できます。
初期設定では「login_<5桁の乱数>」となっていますが、任意の文字列に変更もできます。
確認、または、変更ができたら、新しいログインページURLをブックマークしましょう。
オプション・・・リダイレクト防止
ログインページ変更画面にある[オプション]では、管理ページ(/wp-admin/)からのリダイレクトを[する/しない]が選べます。
他人が「/wp-admin」と入力してもログイン画面へリダイレクトしないよう、
「管理者ページからログインページへリダイレクトしない」にチェックを入れておきましょう。
設定項目の内容
それでは上から順番に項目の確認をしておきましょう。
管理ページアクセス制限
ログインしていない接続元IPアドレスが、管理ページ(/wp-admin/以降)へアクセスした場合に「404 Not Found」を表示し、管理ページに対する攻撃をブロックします。
ログインページ変更
SiteGuard を有効化した直後に自動的に変更された新しいログインページのURLを確認できます。
画像認証の追加
SiteGuardを有効化すると、ログイン画面で画像認証が求められるようになります。
画像認証の文字は、設定で英数字を選択することもできますが、ロボットや海外からの攻撃にはひらがなのほうが有効なので、変更しないほうが良いでしょう。
ログイン詳細エラーメッセージの無効化
ログイン画面でユーザー名やパスワードなど、どこかで入力項目を間違えてしまった場合には、エラーメッセージが表示されるようになっています。
初期設定のままのメッセージだと、間違っているのはユーザー名なのか、パスワードなのか、あるいは、画像認証なのかが判別できるものになっています。
これではログインを突破しようとする相手にヒントを与えるようなものです。
そこで、何がエラーなのかを推測されないよう、全てのエラーに対して同じメッセージを表示するようにするのがこちらの機能です。
ログインロック
ログインロックは、ログインの失敗を繰り返す接続元を、一定期間ロックする機能です。
設定画面では、期間、回数、ロック時間を指定できます。
ログインアラート
WordPressにログインがあったことを、メールで通知する機能です。心当たりのないログインを監視するのに役立ちます。
フェールワンス
フェールワンスとは、ログインする時に正しい入力を行っても、1回目はログインできなくする機能です。機械的に攻撃を仕掛けてくるブルートフォースアタックに効果的です。
XMLRPC防御
XMLRPC防御では、XML-RPCピンバックを利用したDDoS攻撃や、XML-RPCを利用したブルートフォース攻撃から防御します。
・・・とは書きましたが、
XML-RPCピンバックがわかってないので調べました ( ´艸`)
XML-RPCピンバックとは
ピンバック(Pingback)とは、自分のサイト内の記事に、参考にした他人のサイトのURLを挿入して投稿すると、自動的に相手に「リンクしましたよ」と知らせる機能です。
要するにトラックバックと同じですかね…。
本来なら双方にとって気軽なコミュニケーションツールとして便利なはずの機能ですが、この機能を悪用して、DDoS攻撃の踏み台に利用されるケースがかなりの数、報告されています。
たまにニュースなどで耳にすることがあると思いますが、ある特定のサイトに大量のアクセスを仕掛けて負荷をかけ、ダウンさせるという、あれです。
つまり、自分が知らない間に悪事に加担させられている可能性があるというわけです。
ピンバックがどうしても必要だというケース以外は、無効化しておいたほうが良いようです。
ユーザー名漏えい防止
攻撃相手にユーザー名が漏えいするのを防ぎます。
ユーザー名がわかってしまうと、残りはパスワードを解読するだけだというヒントになってしまいます。そのため、ユーザー名は伏せておいたほうが安全です。
更新通知
WordPress、プラグイン、テーマの更新を、メールで通知してくれます。
WordPressが常に最新の状態に保てるよう、更新通知はONに設定しておきます。
WAFチューニングサポート
WAF(ワフ)とは、Web Application Firewall の略です。
Web Application Firewallとはウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護するセキュリティの一種。
出典: フリー百科事典『ウィキペディア(Wikipedia)』
最近ではレンタルサーバー側でWAFが導入されていることも多く、ロリポップ! やエックスサーバー でも無料提供されています。
WAFは、外部からのアクセスに対して通信を解析・検査し、攻撃と判断した通信を遮断します。
この動作は、ユーザーによる正常な通信を遮断してしまう誤判断を起こすことがあるため、チューニング(調整)する必要があります。
SiteGuard の「WAFチューニングサポート」では、正常なアクセスがWAFによって遮断されてしまう場合に、それを回避するルールを作成することができます。
まとめ
あらためて調べてみると、セキュリティ対策プラグインの Site Guard は、様々な攻撃からサイトを守る機能が豊富に揃っていることがわかりました。と同時に、どんな不正アクセスの手口があるのか、なぜ対策が必要なのかも知ることができました。
安心してサイト運営できるのも、こうしたプラグインのおかげだなぁと感謝する気持ちが湧くのと同時に、機能の「要・不要」を取捨選択するためにも、たまにはこうして見直すことも必要だなと感じました。