Apache, benutze X-Forwarded-For für allow


13

Wie kann ich X-Forwarded-For-Header (meine Proxy-IP 10.1.1.x) verwenden, um HTTP-Abfragen zuzulassen?

Antworten:


23

Sie können SetEnvIf und Allow verwenden:

    <Location "/only_proxy/">
            SetEnvIf X-Forwarded-For ^10\.1\.1\. proxy_env
            Order allow,deny
            Satisfy Any
            Allow from env=proxy_env
    </Location>

1
Denken Sie daran, dass es wirklich einfach ist, X-Forwarded-For-Header zu fälschen.
Olli

Es ist auch einigermaßen einfach, sich vor gefälschten X-Forwarded-For-Headern zu schützen (indem Sie diesen Header an Eintrittspunkten in Ihre Umgebung entfernen).
Larsks

1
Ich habe diesen Beitrag gefunden, als ich nach Informationen zum Schutz vor gefälschten x-weitergeleiteten Headern gesucht habe. Würde es Ihnen etwas ausmachen, auf ein relevantes Dokument zu verweisen?
Pete

2

Sie können mod_rpaf verwenden , damit Apache die X-Forwarded-For-IP als Client-IP behandelt.


7
Für diejenigen, die sich hier bei Google zurechtfinden: Beachten Sie, dass mod_rpafIhre Protokolle nur nützlich sein können. Dies hat keinen Einfluss auf die Adresse, die für die Zugriffssteuerungsentscheidungen verwendet wird. Beachten Sie auch, dass in Apache 2.4 die mod_rpafFunktionalität nativ von mod_remoteip bereitgestellt wird .
Larsks

1
@ Larsks: Das ist nicht wahr. Ich habe es versucht und es hat bei mir funktioniert!
Confiq

2

Sie können eine Umschreiberegel schreiben, um zur Antwort 403 umzuleiten.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-For} !(1.1.1.1|2.2.2.2)
RewriteRule .* - [F]
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.