ich kriege seit einiger Zeit GET Anfragen nach folgendem Muster:
Code: Select all
http://myhost.tld//index.php?_SERVER[DOCUMENT_ROOT]=http://www.otherhost.tldDas mod_security diese Anfragen blockt, bezweifel ich, denn der apache spuckt dabei öfters gerne mal ein "200" aus, und die Logs von mod_security sind diesbezüglich auch nicht gerade aufschlussreich.
Also habe ich mir die apache Direktive "SetEnvIf" mal näher angesehen. Dazu habe ich zwei Möglichkeiten ausprobiert:
- einmal in Kombination mit der allow, deny Direktive
- und die Reject Direktive
Das sieht dann in der config so aus:
Code: Select all
        <Directory /var/www/>
        AuthzDefaultAuthoritative On
        SetEnvIf Request_URI ".*_SERVER[DOCUMENT_ROOT]=http://*" drop_them
#       Reject env drop_them
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                deny from env=drop_them
                RewriteEngine on
                RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
                RewriteRule .* - [F]
        </Directory>- authz_default
- authz_host.load
- authz_user.load
Die Möglichkeit mit der Reject Direktive verlangt das "authz_core" Modul, welches ich aber nirgends finden kann. Also bieb mir die Deny Direktive.
Das scheint aber nicht zu funktionieren, denn bei Selbsttests lässt der Browser diese Anfragen durch.
Ich habe das Gefühl, das einfach nur die Regex ( SetEnvIf ...) falsch ist.
Hat jemand einen Tip?


