WordPress

【WordPress】サイトが表示されないのはWAFをONしたのが原因だった

【WordPress】サイトが表示されないのはWAFをONしたのが原因だった
WordPressのカスタマイズやプラグインに関する情報です。

今回はカスタマイズではなくて、サーバーのWAF機能についてのメモです。

WAF機能があるサーバーを選んだのに

WordPressのセキュリティー対策のひとつとして、WAF(Web Application Firewall)が利用できるサーバーを選ぶのがよいと思います。でも、WAFをONにしたためにサイトが表示されないという現象があったのでお伝えします。

利用したサーバー

WAF機能のほか、ファイル・データベースの自動バックアップ(復元も可能)、無料SSLがあり、1ヶ月1000円ちょっとでそこそこ速い!で、調べた結果こちらになりました。

  • wpX Speed W1
  • エックスサーバー(XSERVER) X10

どちらもエックスサーバー株式会のサービスです。

wpX Speed W1

WordPress専用クラウド型レンタルサーバー
  • プラン:wpX Speed W1
  • 初期費用:無料
  • 月額:1,200円(税抜)
  • 無料お試し期間:15日間

2円/時という従量課金制なのですが、W1プランで上限1,200円(税抜)を超えた請求をされることはなく、1日の訪問者数が200人以内ぐらいのサイトで問題なく使えています。

サブフォルダにインストールできない

ひとつ困ったことが・・・WordPressをインストールする際によく「wp」とか「web」とかサブフォルダにインストールしますよね。
wpX Speedはこれができません。ドメイン直下のインストール限定になります。
また、1ドメイン内に複数のWordPressをインストールすることもできません。

エックスサーバー(XSERVER) X10

高速・安定の圧倒的ハイスペックサーバー
  • プラン:XSERVER X10
  • 初期費用:3,000円
  • 月額:1,200円(税抜)
  • 無料お試し期間:10日間

こちらは、1ドメインに複数のWordPressをインストールすることができます。

1.サイトが表示されなかった例:wpX Speed

  • サーバー:wpX Speed W1
  • WordPressテーマ:Ashe
  • ページビルダープラグイン使用:Elementor

サーバーの管理パネルからWAFを設定する

「wpX 管理パネル>インストール済 WordPress一覧」へと進み、該当ドメインから「設定」を押します。

wpX Speed:管理パネルからWAFを設定する

「セキュリティ設定>WAF設定>設定する」へと進みます。

wpX Speed:管理パネルからWAFを設定する

「WAF設定」ページで全ての対策項目をONにします。

wpX Speed:管理パネルからWAFを設定する

403 Forbiddenが表示される

WAFをOFFにしていた時に表示されていたサイトが、表示されなくなりました。

403 Forbiddenが表示される

403 Forbidden
アクセスしようとしたページは表示できませんでした。
このエラーは、表示するページへのアクセス許可がなかったことを意味します。

以下のような原因が考えられます。
アクセスが許可されていない(パーミッション等によって禁止されている)。
デフォルトドキュメント(index.html, index.htm 等)が存在しない。

WAFを1項目ずつOFFにしてみた結果

wpX Speed:管理パネルからWAFを設定する

以下のWAF設定でサイトが表示されるようになりました。

WAFの設定変更:wpX Speed
  • XSS対策:OFF
  • SQL対策:OFF
  • ファイル対策:ON
  • メール対策:ON
  • コマンド対策:ON
  • PHP対策:OFF

2.サイトが表示されなかった例:XSERVER X10

  • サーバー:エックスサーバー(XSERVER) X10
  • WordPressテーマ:Exponent
  • ページビルダープラグイン使用:Tatsu(Exponentオリジナル)

サーバーの管理パネルからWAFを設定する

「XSERVER サーバーパネル>セキュリティ>WAF設定」へと進みます。

エックスサーバー(XSERVER):サーバーパネルからWAFを設定する

該当ドメインから「選択する」を押します。

エックスサーバー(XSERVER):サーバーパネルからWAFを設定する

上記1「wpX Speed」と同様、WAFが全てONの場合「403 Forbidden」が表示されてサイトが表示されませんでした。

WAFを1項目ずつOFFにしてみた結果

エックスサーバー(XSERVER):サーバーパネルからWAFを設定する

上記1「wpX Speed」と同じWAFの設定でサイトが表示されるようになりました。
WAFの設定変更は反映までに1時間程度かかります。1つずつテストしたら地道な作業・・・

WAFの設定変更:XSERVER X10
  • XSS対策:OFF
  • SQL対策:OFF
  • ファイル対策:ON
  • メール対策:ON
  • コマンド対策:ON
  • PHP対策:OFF

どちらのサーバーもエックスサーバー株式会社なので、よく見たら対策内容の文言が同じでした。せっかくWAF機能があるサーバーを選んだのに、使えないパターンもあるんですねぇ。

カスタマーサポートに問い合わせてみた

サーバーのカスタマーサポートにこの現象を説明して、問い合わせしてみました。以下、回答です。

恐れ入りますが、ご利用のWordPressの構成によりWAF設定がご利用いただけないケースは往々にしてございますので、その場合は該当の機能をOFFにしてご利用いただく他ありませんことをご了承くださいますようお願いいたします。

結論

WAFの設定はON・OFFを個別に検証するしかありません。WordPressテーマやプラグインが影響するものだと思いますので、試してみるしかないというのが結論かなぁ。
そして、怪しいアクセスがないかどうかサーバーの管理パネルなどからログをこまめにチェックすることが必要になりますね。
WAF以外でも、最低限しておいた方がよいWordPressのセキュリティ対策があるので、また別の記事でまとめようと思います。

この記事は、2021.2.13時点の情報です。
ABOUT ME
モンキー
モンキー
福岡県在住。社内SEとしてkintoneでシステムを開発したりWordPressでサイトを制作したりしてます。もともとは20年ほどシステム会社で働いていて趣味でネットショップを構築・運営していました。 ある日突然英会話に興味を持ち国際交流が好きになりました。その影響で留学生に日本語を教えてみたいと思い、日本語教師の資格を取るために週末は日本語教師養成講座420時間コースに通っています!