3

一部の悪意のあるボットまたはユーザーがリクエストでリファラーを偽造しているため、ステートメントからの拒否をバイパスしていると思います。

私のhtaccessには、他のスニペットの中でも、次のものがあります

    ErrorDocument 403 "Nothing Interesting Here"
    order allow,deny
    deny from .eviluser.org
    allow from all

そして私はまた私のhtaccessに持っています:

    RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?eviluser.*$ [NC]
    RewriteRule .* - [F,L]

しかし、私のログは次のように表示されています。

    wnode1.eviluser.org - - [14/Nov/2012:18:21:44 -0500] "GET /some-document.html HTTP/1.0" 200 68584 "http://myoriginaldomain/some-document.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"

質問:1)wnode1.eviluser.orgが拒否された場合でも200コードを取得する可能性はありますか?2)私のサイトのドキュメントであるリファラーを偽造することでこれを回避していますか?

ありがとう。

4

1 に答える 1

0

mod_authz_hostに関するApacheのドキュメントでは、allow fromステートメントでホスト名を使用すると、逆引き参照が実行されることが示されています。については何も言及されてdeny fromいませんが、これは同じように機能すると思います。このブログ投稿は、仮定が正しいことを示唆しています。

deny fromこれを考えると、少なくともステートメントについては、元のホスト名を偽造することはできないはずです。これを行う唯一の方法は、パケットレベルで発信元IPアドレスを偽造することですが、それが役立つ可能性がある状況は非常に限られています。一方、あなたRewriteCond %{HTTP_REFERER}は明らかに偽造の対象です。

私はApacheの構成でコードを調べて問題があるかどうかを確認するのに十分ではありませんが、上記は、Apacheの制限ではなく構成の誤りである可能性があることを示唆しています。

IPアドレス(例)に基づいて拒否してdeny from 100.100.0.0、より良い結果が得られるかどうかを確認します。ちなみに、自分のホスト名をテストしましたか?(たとえばdeny from localhost)、またはあなたが制御する有効な逆引き参照でマシンを拒否しようとしましたか?

于 2012-11-15T03:00:01.090 に答える