WooCommerceを使ったECや、fluentCRMを使ったMAなど、WordPress内で個人情報を扱うことが、あたりまえになってきました。個人情報をWordPress内で管理するわけですから、セキュリティーには十分注意したいところです。
WordPressはオープンソースとして広く使用されていますので、標的となりやすい条件を備えています。ここで紹介する対策は、技術的なスキルがなくても、ポチポチっとするだけで出来る方法をご案内します。これまで、対策を考えたことがなかった方も、是非、このタイミングで、対策をしましょう。
セキュリティ対策は、サーバーに依存する部分も大きいので、今回の記事は、WordPress専用プランもある人気のXserverを例にご案内します。
本体とプラグインのアップデートは常に行い、最新の状態を維持できるようにしてください。最新のバージョンのWordPressでは、自動でアップデートできるようにできますので、問題が無いようであれば、自動更新をONにしておくのが良いかと思います。
アップデートをするとファイルが書き変わりますので、万が一表示に不具合ができることも考えられます。アップデートする際には、バックアップは確実にとっておきましょう。
プラグインによっては、1年以上アップデートが行われていないものも多く存在します。プラグインを最新に保つだけでは、万全とは言えません。次に、WAF(Webアプリケーションファイアウォール)についてご案内します。
Webアプリケーションの脆弱性を悪用した攻撃から保護する機能がWAFです。Xserverの場合は、以下のように管理画面から簡単に設定できます。基本的には全てONにすれば良いのですが、利用しているアプリケーションの動作に不具合が出るような場合は、部分的に解除してください。
WordPressはオープンソースで、利用者も常に多く、攻撃側からすると攻撃先の予測がつけやすいということがあります。SiteGuardはWordPressのそんな弱点を保護してくれます。プラグインページに「just install」と書いてあるように、インストールが完了すると下の図のように、設定がほぼ完了しています。
説明がシンプルすぎるので、少し補足します。
管理ページアクセス制限
管理画面(wp-admin以下)への攻撃から守るための機能です。管理ページにログインしていない接続元IPアドレスからのアクセスに対しては、404(Not Found)を返します。ログイン時には、接続元IPアドレスを記録し、そのページへのアクセスを許可します。24時間以上ログインしない接続元IPアドレスは、順次削除されます。この機能を除外するURL(wp-admin以下)を指定することもできます。
ログインページ変更
ブルートフォースアタックやパスワードリスト攻撃などの不正なログイン試行に対する脆弱性を低減する機能です。
ログインページ名(wp-login.php)を変更します。初期値は「login_<ランダム5桁>」ですが、好きな名前に変更することが可能です。
画像認証
ブルートフォース攻撃やパスワードリスト攻撃など、不正なログインを試みる攻撃に対する脆弱性を低減する機能です。コメントスパムの受信を減らすこともできます。CAPTCHAの文字は、ひらがなと英数字を選択することができます。
ログインロック
自動化された攻撃を防止する機能。接続元IPアドレスのうち、ログイン失敗の回数が多いものを、指定された期間内に指定された数だけ、指定された時間ブロックします。各ユーザーアカウントはロックされません。
なんと、以上です。
いかがでしょうか。難しいことを考えること無しに、セキュリティー対策が完了したのではないでしょうか。もちろん100%安全な対策なんて存在しませんが、信頼性はグッと高まったはずです。
もし、技術的なことが分かるようであれば、以下の対策も検討してください。
・管理画面に基本認証をつける
・WordPressの各ファイルのパーミッションを変更する
・wp-config.phpとwp-cron.php にアクセス制限をかける