2018年7月18日から「エックスサーバー、エックスサーバービジネス」でも、全プラン無料で利用できる「WAF設定」機能の提供が開始されました。
この機能は、Webアプリケーションの脆弱性を悪用した攻撃からWebサイトを保護するためのセキュリティ対策であるWAF(Webアプリケーションファイアウォール)を設定できるというものです。
ただし、「WAF設定」の注意事項として次のように明記されています。
WAF設定は厳格なルールに従って不正アクセスを判断するため、ご利用のWebアプリケーションの動作についても影響を与える可能性がありますのであらかじめご了承ください。
この記事では、WordPressからの記事投稿・更新時「エラーページ」が表示されたときの「誰にでもできる簡単な対処法」を紹介しています。
すべての「WAF設定」を “ON” にして試す
「WAF設定」することで、攻撃とみなされるアクセスを検出した場合は、アクセスが拒否されエラーページが表示されます。
WAF設定項目 | |
---|---|
XSS対策 (クロスサイトスクリプティング) |
javascriptなどのスクリプトタグが埋め込まれたアクセスを検知。 |
SQL対策 (SQLインジェクション) |
SQL構文に該当する文字列が挿入されたアクセスを検知。 |
ファイル対策 (ファイル不正アクセス) |
.htpasswd .htaccess等、サーバーに関連する設定ファイルが含まれたアクセスを検知。 |
メール対策 (メールの不正送信) |
to、cc、bcc等のメールヘッダーに関係する文字列を含んだアクセスを検知。 |
コマンド対策 (コマンドアクセス/実行) |
kill、ftp、mail、ping、ls 等コマンドに関連する文字列が含まれたアクセスを検知。 |
PHP対策 (PHP関数の脆弱性) |
session、ファイル操作に関連する関数のほか脆弱性元になる可能性の高い関数の含まれたアクセスを検知。 |
出典:エックスサーバー【サーバーパネル】より
詳細については、エックスサーバー
【サーバーパネル】→「WAF設定」の「各設定項目について」でご確認下さい。
とりあえず、すべての設定を “ON” にして、通常作業に影響がないか様子を見ることにしました。
エラーページが表示され、記事のプレビューや投稿ができない
すべての「WAF設定」を “ON” にしてから数日後、あるカテゴリーの記事を投稿しようとしたところ、初めての「エラーページ」が表示され、サーバーへのアクセスを拒否されました。
エラー番号[501]「アクセスしようとしたページは表示できませんでした。」とのエラーページです。
いきなり記事が投稿できなくなるわけですから、少し焦ります。急ぎの記事ならなおさらです。
早速、エラーの原因を探らなくてはならないのですが、まずは記事を投稿できるようにすることが先決です。
「エラーページ」が表示されたときの「誰にでもできる簡単な対処法」
まず、記事を投稿できるようにするための「誰にでもできる簡単な対処法」です。これは、どの項目に原因があるのか、見当がつかない場合の対処法となります。
記事の投稿が先決問題なので、エックスサーバー【サーバーパネル】の「WAF設定」を一旦すべて “OFF” の設定にしてしまいましょう。
これが一番手っ取り早い方法です。
ただし、これで直ちに投稿できるわけではありません。設定変更が反映されるまで、状況によっては半日以上かかる場合もあるようですので、少し時間を空けてからトライしてみましょう。
とりあえず記事が投稿できたところで、次に「WAF設定」で、一項目ずつ “ON” にしてチェックしていきます。
<対処手順1>でも述べましたが、「WAF設定」の変更が反映されるまで半日から一日かかる場合もあるので、焦らないで一日一項目ずつ “ON” を増やしていくつもりで、のんびりとチェックしましょう。
- 動作チェックは、「エラーページ」が表示されたため “OFF” 設定で “強制的に投稿した記事” を WordPressから【プレビュー】できるかどうかを確認していきます。
-
「エラーページ」が表示されることなく、プレビューすることができたら次の「WAF設定項目」を “ON” にし、半日から一日後に再び WordPressから【プレビュー】できるかどうか確認します。
-
この作業を繰り返していくと、「WAF設定項目」のうちのどれかで「エラーページ」が表示されますので、その原因となった項目を “OFF” 設定にします。
-
この時点で、まだチェック項目が残っている場合は、原因となっている項目が一つとは限らないので全項目のチェックを完了させておきます。
<対処手順2>で、「エラーページ」の原因となった「WAF設定項目」が判明しました。
- 次は、「エラーページ」が表示された記事から “文字列”、“スクリプトタグ” など、アクセスが拒否された原因となったものを探していきます。
-
疑わしい “文字列” を他の文字列に置き換え、設定を “ON” にした状態で「エラーページ」が表示されないかをチェックします。
-
この作業を繰り返し、「エラーページ」が表示されなくなるまで “文字列” を探っていきます。
また、原因となる文字列が判明したとしても、記事やカテゴリーによっては簡単に置き換えられない文字列もあると思います。
その場合は、一旦、エラーの原因となった「WAF設定項目」を “OFF” にし、設定変更が反映されたら記事を投稿します。その後、設定を “ON” に戻すという方法はいかがでしょうか。
一旦投稿してしまえば、通常のアクセスで「エラーページ」が表示されることはありません。ただし、記事を更新する場合は、一旦該当する設定を “OFF” にしないと更新できないので注意してください。
「そんなことやってられない」とか「まったく文字列の予想がつかない」という方は、セキュリティ対策としては不十分になりますが、原因となった項目を “OFF” 設定のまま運用するという方法もありかと思います。
まとめ
私の場合は、あるカテゴリー関連記事のほとんどにエラーの原因となる “文字列” が含まれていたことが判明しました。しかし、置き換えの利かない文字列だったので、それなりに工夫しています。
この記事で紹介した対処法は、あくまでも私が試した方法ですので、他にも方法があるかとは思いますが、「誰にでもできる簡単な対処法」として紹介いたしました。
セキュリティ対策であるWAF(Webアプリケーションファイアウォール)設定を無料で利用できるこのサービス、まずはすべての設定を “ON” にすることをおすすめします。
今がチャンス! 2024年12月4日より2025年1月7日まで、『最大30%オフキャンペーン』実施中!