Apache, use o X-Forwarded-For para permitir


13

Como usar os cabeçalhos X-Forwarded-For (meu proxy ip 10.1.1.x) para permitir a consulta HTTP?

Respostas:


23

Você pode usar SetEnvIf e Allow:

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

1
Lembre-se de que é realmente fácil forjar o cabeçalho X-Forwarded-For.
Olli

Também é razoavelmente fácil se proteger de cabeçalhos X-Forwarded-For forjados (removendo esse cabeçalho nos pontos de entrada do seu ambiente).
Larsks

1
encontrou esta postagem enquanto procurava informações sobre como se proteger contra cabeçalhos encaminhados por x forjados, você se importaria em apontar para um documento relevante?
Pete

2

Você pode usar o mod_rpaf para fazer o Apache tratar o IP X-Forwarded-For como o IP do cliente.


7
Para quem encontra o caminho aqui do Google: observe que mod_rpafsó é possível tornar seus registros úteis; na verdade, não afeta o endereço usado nas decisões de controle de acesso. Observe também que no Apache 2.4, a mod_rpaffuncionalidade é fornecida nativamente pelo mod_remoteip .
Larsks

1
@ Larsks: Isso não é verdade. Eu tentei e funcionou para mim!
Confiq

2

Você pode escrever uma regra de reescrita para redirecionar para a resposta 403.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-For} !(1.1.1.1|2.2.2.2)
RewriteRule .* - [F]
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.