Hikosachi 開発チームです。
個人や中小企業のWordPressサイトの多くは、エックスサーバーやさくらのレンタルサーバ、コアサーバーといった共有レンタルサーバーで動いています。
共有サーバーは手軽な反面、サーバーの設定を自由に変えられないという制約があります。
この記事では、その制約の中でWordPressを守るための考え方と、具体的な対策を整理します。
Hikosachi 自身もこの環境でサービスを運用しており、その経験も交えてご紹介します。
共有レンタルサーバーで「できること・できないこと」
| 共有レンタルサーバー | VPS・専用サーバー | |
|---|---|---|
| ファイアウォール(通信の遮断) | サーバー会社が提供する範囲で利用(自由な設定は不可) | 自由に設定できる |
| WAF | 多くのサーバー会社が管理画面でオン・オフできる機能を提供 | 自分で導入・設定する |
| 特定IPの遮断 | .htaccess やプラグインで行う | ファイアウォールで行える |
| OS・ミドルウェアの更新 | サーバー会社が行う | 自分で行う |
つまり共有サーバーでは、サーバー全体の守りはサーバー会社に任せ、WordPressの中(アプリケーション側)の守りを自分で固めるという役割分担になります。
対策1:サーバー会社のWAFを有効にする(誤検知に注意)
多くのレンタルサーバーでは、管理画面からWAF(Webアプリケーションファイアウォール)をオンにできます。たとえばエックスサーバーではサーバーパネルの「WAF設定」から、さくらのレンタルサーバでは SiteGuard を使ったWAF機能を設定できます。まずは有効になっているかを確認しましょう。
ただし、WAFは「攻撃らしい文字列」を機械的に遮断するため、記事の保存やプラグインの設定変更が失敗する誤検知が起きることがあります。
その場合は、WAFを丸ごと止めたままにせず、ログで遮断された項目を確認して、必要な部分だけを除外するのがおすすめです。
対策2:WordPressとプラグインを最新に保つ
共有サーバーで実際に起きている乗っ取りの多くは、プラグインやテーマの既知の脆弱性を突かれたものです。サーバー側のWAFは汎用的なルールで守るため、特定のプラグインの弱点までは防ぎきれないことがあります。
自動更新を活用し、使っていないプラグイン・テーマは削除しておきましょう。
対策3:攻撃元IPを入口で遮断する
ログイン画面(wp-login.php)や xmlrpc.php への総当たり、脆弱性を探すスキャンは、毎日のように世界中から届きます。
共有サーバーではサーバーのファイアウォールを自由に設定できないため、WordPressのプラグインで攻撃元IPを遮断するのが現実的な方法です。
Hikosachi Protector はまさにこの用途のためのプラグインです。
ハニーポットや導入サイトで観測した攻撃元IPのリストを自動で取り込み、該当するアクセスをWordPressの処理の早い段階で遮断します。
サーバーの設定変更は不要で、共有サーバーでもそのまま使えます。
対策4:バックアップを「サーバーの外」にも置く
多くのレンタルサーバーには自動バックアップ機能がありますが、保存期間や復元の手順はサーバー会社ごとに異なります。
一度、復元の手順を確認しておくとともに、重要なサイトはプラグイン等でサーバーとは別の場所にもバックアップを保存しておくと安心です。
Hikosachi 自身の運用から
Hikosachi のサービスとこのブログも、共有レンタルサーバー上で動いています。
ブログには顧客の皆さまにお配りしているものと同じ Hikosachi Protector を導入しており、サーバー会社やCDNのWAFと、プラグインによる攻撃元IPの遮断を組み合わせて運用しています。
運用の中で実際に起きたこととして、記事の自動投稿に使っている外部サービスの接続元IPが、たまたま公開されている脅威リストに含まれていて遮断されてしまったことがあります。
IP単位の遮断は強力な反面、こうした誤検知も起こり得るため、Hikosachi では管理者権限で認証された接続を遮断の対象から外すなどの調整を重ねています。
複数の守りを重ねるときは、「何がどこで遮断されたか」を後から確認できるようにしておくことも大切です。
ほかのWordPressセキュリティ対策の記事は WordPressセキュリティ カテゴリにまとめています。

