web-dev-qa-db-ja.com

REQUEST_METHOD HTTP / 1.1およびGETに関連するModSecurityエラー

ホストにログファイルをオンにするように依頼しましたが、それ以降、ログファイルは大幅に増加しています。先週は700 MBで増加しています。 Mod Securityに関連するエラーメッセージが表示されます。

それらのほとんどは次のようになります。

[Thu Jun 20 16:49:01 2013] [error] [client 157.55.33.88] ModSecurity: Warning. Match of "within %{tx.allowed_methods}" against "REQUEST_METHOD" required. [file "/etc/httpd/conf.d/modsecurity-crs/base_rules/modsecurity_crs_30_http_policy.conf"] [line "30"] [id "960032"] [msg "Method is not allowed by policy"] [data "GET"] [severity "CRITICAL"] [tag "POLICY/METHOD_NOT_ALLOWED"] [tag "WASCTC/WASC-15"] [tag "OWASP_TOP_10/A6"] [tag "OWASP_AppSensor/RE1"] [tag "PCI/12.1"] [hostname "www.url.se"] [uri "/page-pr-2317.html"] [unique_id "UcMWXcCoEXsAAE4QF8QAAAAh"]

[Thu Jun 20 16:49:01 2013] [error] [client 157.55.33.88] ModSecurity: Warning. Match of "within %{tx.allowed_http_versions}" against "REQUEST_PROTOCOL" required. [file "/etc/httpd/conf.d/modsecurity-crs/base_rules/modsecurity_crs_30_http_policy.conf"] [line "77"] [id "960034"] [msg "HTTP protocol version is not allowed by policy"] [data "HTTP/1.1"] [severity "CRITICAL"] [tag "POLICY/PROTOCOL_NOT_ALLOWED"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A6"] [tag "PCI/6.5.10"] [hostname "www.url.se"] [uri "/page-pr-2317.html"] [unique_id "UcMWXcCoEXsAAE4QF8QAAAAh"]

[Thu Jun 20 16:49:02 2013] [error] [client 95.211.116.112] ModSecurity: Warning. Match of "within %{tx.allowed_methods}" against "REQUEST_METHOD" required. [file "/etc/httpd/conf.d/modsecurity-crs/base_rules/modsecurity_crs_30_http_policy.conf"] [line "30"] [id "960032"] [msg "Method is not allowed by policy"] [data "GET"] [severity "CRITICAL"] [tag "POLICY/METHOD_NOT_ALLOWED"] [tag "WASCTC/WASC-15"] [tag "OWASP_TOP_10/A6"] [tag "OWASP_AppSensor/RE1"] [tag "PCI/12.1"] [hostname "www.url.se"] [uri "/images/image.jpg"] [unique_id "UcMWXsCoEXsAACkYfrAAAAAN"]

[Thu Jun 20 16:49:02 2013] [error] [client 95.211.116.112] ModSecurity: Warning. Match of "within %{tx.allowed_http_versions}" against "REQUEST_PROTOCOL" required. [file "/etc/httpd/conf.d/modsecurity-crs/base_rules/modsecurity_crs_30_http_policy.conf"] [line "77"] [id "960034"] [msg "HTTP protocol version is not allowed by policy"] [data "HTTP/1.1"] [severity "CRITICAL"] [tag "POLICY/PROTOCOL_NOT_ALLOWED"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A6"] [tag "PCI/6.5.10"] [hostname "www.url.se"] [uri "/images/image.jpg"] [unique_id "UcMWXsCoEXsAACkYfrAAAAAN"]

[Tue Jun 25 20:18:18 2013] [error] [client 85.224.51.23] ModSecurity: Warning. Match of "within %{tx.allowed_methods}" against "REQUEST_METHOD" required. [file "/etc/httpd/conf.d/modsecurity-crs/base_rules/modsecurity_crs_30_http_policy.conf"] [line "30"] [id "960032"] [msg "Method is not allowed by policy"] [data "GET"] [severity "CRITICAL"] [tag "POLICY/METHOD_NOT_ALLOWED"] [tag "WASCTC/WASC-15"] [tag "OWASP_TOP_10/A6"] [tag "OWASP_AppSensor/RE1"] [tag "PCI/12.1"] [hostname "www.url.se"] [uri "/images/image2.gif"] [unique_id "Ucne6sCoEXsAAHXDKMwAAAA9"]

[Tue Jun 25 20:17:58 2013] [error] [client 81.234.144.108] ModSecurity: Warning. Match of "within %{tx.allowed_methods}" against "REQUEST_METHOD" required. [file "/etc/httpd/conf.d/modsecurity-crs/base_rules/modsecurity_crs_30_http_policy.conf"] [line "30"] [id "960032"] [msg "Method is not allowed by policy"] [data "POST"] [severity "CRITICAL"] [tag "POLICY/METHOD_NOT_ALLOWED"] [tag "WASCTC/WASC-15"] [tag "OWASP_TOP_10/A6"] [tag "OWASP_AppSensor/RE1"] [tag "PCI/12.1"] [hostname "www.url.se"] [uri "/page2-p-500.html"] [unique_id "Ucne1sCoEXkAAE@LBx8AAABK"]

ホストに尋ねたところ、エラーメッセージの一部は、訪問者がプロトコルHTTP/1.1を持たない古いブラウザを使用していることに依存している可能性があると言われました。

彼らはまた、mod_securityの設定がGET、HEAD、POSTおよびOPTIONSを許可するはずであると言いましたが、何らかの理由でとにかくこれについてエラーメッセージが表示されます。理由を教えていません。調査中のようではありません。IPの1つがBingbotのものであることがわかりました。

実際のサイトで自分でエラーメッセージに遭遇したことはありませんが、エラーログで自分のIPを確認できます。

Mod_securityについてよく知らないので、ガイダンスが必要です。 https://serverfault.com/questions/394052/broken-urls-after-enabling-mod-security で同様の質問を見つけました

ただし、共有ホストのImなので、設定を変更することはできません。オンにできるのはmod_securityのみです。

だから誰も私にこれらのエラーマッサージを引き起こすかもしれないものを教えてもらえますか?

Mod_securityをオフにする必要がありますか?

1

ModSecurity-CRSルールは、要件に従ってルールを微調整するまで機能しません。ログエントリは3つの情報を提供します。

  1. tx.allowed_methods
  2. tx.allowed_http_versions
  3. modsecurity-crs/base_rules/modsecurity_crs_30_http_policy.conf

だから何ですtx.allowed_methodsおよびtx.allowed_http_versionこれらは、アプリケーションに許可されたHTTPメソッドとバージョンを定義するために使用しているトランザクション変数であり、modsecurity_crs_30_http_policy.confは、ポリシーの実装にこれらの変数を使用します。

これらの変数を初期化する必要があり、次のルールでこれらの変数を定義します

SecAction "phase:1,t:none,nolog,pass, \
setvar:'tx.allowed_methods=GET HEAD POST OPTIONS', \
setvar:'tx.allowed_request_content_type=application/x-www-form-urlencoded
multipart/form-data text/xml application/xml', \
setvar:'tx.allowed_http_versions=HTTP/0.9 HTTP/1.0 HTTP/1.1', \
setvar:'tx.restricted_extensions=.asa .asax .ascx .axd .backup .bak .bat
.cdx .cer .cfg .cmd .com .config .conf .cs .csproj .csr .dat .db .dbf .dll
.dos .htr .htw .ida .idc .idq .inc .ini .key .licx .lnk .log .mdb .old .pass .pdb .pol .printer .pwd .resources .resx .sql .sys .vb .vbs .vbproj
 .vsdisco .webinfo .xsd .xsx', \
setvar:'tx.restricted_headers=Proxy-Connection Lock-Token Content-Range 

2番目のルールは、これらの定義変数をルールで使用します。

SecRule REQUEST_BASENAME "\.(.*)$" \
    "chain,\
    capture,\
    setvar:tx.extension=.%{tx.1}/,\
    phase:2,\
    t:none,\
    t:urlDecodeUni,\
    t:lowercase,\
    block,\
    msg:'URL file extension is restricted by policy',\
    severity:'2',\
    rev:'2',\
    ver:'OWASP_CRS/2.2.9',\
    maturity:'9',\
    accuracy:'9',\
    id:'960035',\
    tag:'OWASP_CRS/POLICY/EXT_RESTRICTED',\
    tag:'WASCTC/WASC-15',\
    tag:'OWASP_TOP_10/A7',\
    tag:'PCI/6.5.10',\
    logdata:'%{TX.0}'"
    SecRule TX:EXTENSION "@within %{tx.restricted_extensions}"
        "t:none,\
        setvar:'tx.msg=%{rule.msg}',\
        setvar:tx.anomaly_score=+%{tx.warning_anomaly_score},\
        setvar:tx.%{rule.id}-OWASP_CRS/POLICY/EXT_RESTRICTED-%{matched_var_name}=%{matched_var}"
3
Ali Ahmad

ModSecurity は一種のWebレベルのファイアウォールです(少なくとも、少なくとも マニュアル と主張しています)。その目的は、特定のアプリケーションに合わせて調整された要求に対してフィルターを設定できるようにすることです。オンとオフを切り替えることはできますが、構成を変更するためにしないと、その利点は失われます。だから私のアドバイスはそれを無効にすることです。それはあなたの家に鋼鉄のドアを持っているようなものですが、あなたに相談することなく、いつ開いているか、いつ閉じているかを決めるドアキーパーに鍵を与えます。

あなたの状況では、ModSecurity構成の「何か」はそれを不快にしますが、warningsを出力する点までのみであり、これによりログが増大しますが、リクエストをブロックしない-ブラウザーから、問題がないように見える理由を説明します。

2
Thomas Pornin

あなたの質問から、この質問はApacheサーバーに関するもののようです。私はIISの専門家ですが、Apacheを知らないので、ここでいくつか推測することができます。多くのことは同じです。

Thomasがすでに指摘したように、ModSecurityはある種のファイアウォールです。そして、あなたはあなたが設定を変えることができないと言いました。まあ、正確な構成を提供するようにプロバイダーに依頼できます。その情報を使用して、このルールセットが適切かどうかを判断できます。そうでない場合は、オフにします。

ログファイルから、多くの誤検出が検出されているようです(サイトの負荷が不明)。これらはすべて攻撃であるか、ルールセットが完全に間違っており、多くの正当な要求をブロックしています。

正確な構成を取得し、各構成行の正確な意味を理解するようにしてください。エラーを見つけた場合は、プロバイダーに相談してください。彼らはおそらく、他のクライアントの間違った設定も修正したいでしょう。

実際、この種の質問はセキュリティにあまり関係していません。serverfaultなどに適していると思いますが、同じ質問がすでに投稿されており、「オフトピック」として閉じられていました(保留中)。再構成できない場合は、管理に関連するものではありません。 (私はそれに完全に同意しませんが、とにかく。)

0
http