特定のページ内容でのエラー
ページに特定のコードを入力すると、サーバーが「エラー 403 — 禁止されている」「エラー 406 — 受理できない」「エラー 503 — サービス利用不可」等を返します。 何が問題なのでしょうか?
Webサーバー(通常は mod_security です)に設定された制限が過度に厳しいセキュリティポリシーやアプリケーションレベルのファイアウォール(Sophos Firewall Webapp Control には問題があることが知られています)に起因する一般的な問題です。
DokuWiki 自体に起因する問題ではないので、DokuWiki 中でこれを修正する方法はありません。
問題のルールを確定し、そのルールを無効化するために、Web サーバやアプリケーションファイアウォールの監査ログを確認する必要があります。
一般的に問題のある言葉は、以下のような SQL 文、メールコマンド、UNIX コマンドの一部です:
- select … from
- drop …
- to: …
- wget …
特定のパラメータが URL で渡された場合、lib/exe/fetch.php
内の DokuWiki 画像キャッシュシステムから読み込んだ外部画像を使用する場合のような、外部 URL が含まれている場合は特に問題が発生します。
可能な解決策
apacheの場合、ユーザーやドメインホストレベルで mod_security
を無効化できます。
[home_directory]/public_html
ディレクトリに保存する .htaccess
ファイル内に次の二行を追加して下さい:
SecFilterEngine Off SecFilterScanPOST Off
–Chris Freyer 7/23/09
これは、セキュリティと利便性との間のトレードオフである可能性があります。
他の解決策
.htacces
ファイルの mod_security
オプションを無効化できない場合もあります。
プロバイダに連絡して、ルールの無効化を要求する必要があります。
私の場合には:
- Rule 340009:
ModSecurity: Access denied with code 403 (phase 2). Pattern match "(?:/(?:etc|proc|var/tmp|usr|opt|s?bin|dev|tmp|kern|[br]oot|sys|windows|winnt)/|(?:\\/|\\\\)+inetpub|localstart\\.asp|boot\\.ini)" at ARGS:suffix. [file "/etc/apache2/modsec2/10_asl_rules.conf"] [line "215"] [id "340009"] [rev "26"] [msg "Atomicorp.com WAF Rules:Protected Path Access denied in URI/ARGS"] [data ""] [severity "CRITICAL"]
- Rule 300001:
ModSecurity: Access denied with code 403 (phase 2). Matched phrase "home.arcor.de" at REQUEST_BODY. [file "/etc/apache2/modsec2/30_asl_antispam.conf"] [line "38"] [id "300001"] [rev "8"] [msg "Atomicorp.com WAF Rules: Blacklist Spam Domain"] [data ""] [severity "CRITICAL"]