2020/10/3 このブログを更地に戻しました。過去にもらったコメントはいずれ復元します。
レンタルサーバー

Xserverで501 Not Implementedエラーを避けるWAF設定

レンタルサーバー

当Webサイトのこのワードプレスで 501 Not Implemented という見かけないエラーが発生し、公開・下書きとして保存・更新・プレビューの表示ができなくなった。

原因は利用しているレンタルサーバーのXserver(エックスサーバー)で不正アクセス対策として設定したWAF(Webアプリケーションファイアウォール)だった。投稿テキストやスラッグに特定の文字が含まれていると、それらを不正として検知し遮断してしまったようだ。

501 Not Implemented

501
Not Implemented

501
Not Implemented
アクセスしようとしたページは表示できませんでした。
このエラーは、実装されていないメソッドでのアクセスがあったことを意味します。

以下のような原因が考えられます。
対応していないメソッド(MOVE/COPYなど)を使用した。

今回いくつか試した結果、発生したエラーは以下の4パターンだった。

※2021/1/20 5パターンめ追記
投稿テキスト内に「$_session」がある場合もエラーが発生。まだ調べてないけど恐らく『PHP対策』が反応している。とりあえず「$<!– –>_session」と書いて一時的に回避している。

 501 Not Implemented エラーの発生条件

投稿テキスト内に特定の文字が存在する場合

投稿テキスト内に下記の文字列があったときに501 Not Implemented エラーが発生した。アルファベットは小文字でも大文字でもエラーに。

  • 半角の「/etc/」という記述に『ファイル対策』が反応
  • 半角の「;(セミコロン)」の後ろに「cc」があると『コマンド対策』が反応
  • 半角の「cd」という記述に『コマンド対策』が反応

スラッグURLに特定の文字が存在する場合

  • カテゴリーのスラッグに「etc」を設定し、「example.com/category/etc/」にアクセスすると501 Not Implemented エラーが発生。タグのスラッグに「etc」を設定し、「example.com/tag/etc/」にアクセスしても同様にエラー。

これで解決 501 Not Implemented エラーにならないWAF設定

WAFの設定を上から順にON、ON、OFF、ON、OFF、ONにしたらエラーが出なくなった。

設定項目 対策内容 エラー原因 設定
XSS対策 javascriptなどのスクリプトタグが埋め込まれたアクセスについて検知します。 ON
SQL対策 SQL構文に該当する文字列が挿入されたアクセスについて検知します。 ON
ファイル対策 .htpasswd .htaccess httpd.conf等、サーバーに関連する設定ファイルが含まれたアクセスを検知します。 「/etc/」 OFFにする
メール対策 to、cc、bcc等のメールヘッダーに関係する文字列を含んだアクセスを検知します。 ON
コマンド対策 kill、ftp、mail、ping、ls 等コマンドに関連する文字列が含まれたアクセスを検知します。 「cd」
「;」+「cc」
OFFにする
PHP対策 session、ファイル操作に関連する関数のほか脆弱性元になる可能性の高い関数の含まれたアクセスを検知します。 ON

解除したWAFのかわりにBBQプラグインで防御

投稿テキスト内に「cc」や「cd」と書けないのは不便なので、XserverのWAF設定を一部解除する代わりにファイアーウォール機能を持つ Block Bad Queries (BBQ) プラグインで不正アクセス対策をする。

Block Bad Queries (BBQ) is a simple, super-fast plugin that protects your site against malicious URL requests. BBQ checks all incoming traffic and quietly blocks bad requests containing nasty stuff like eval(, base64_, and excessively long request-strings. This is a simple yet solid solution for sites that are unable to use a strong .htaccess firewall.

BBQ Firewall – Fast & Powerful Firewall Security
The fastest firewall plugin for WordPress. Protect against a wide range of threats with minimal performance impact.

コメント

タイトルとURLをコピーしました