Proteger o Apache ao usar mod_proxy_http e mod_rewrite

3

Temos um servidor Apache que funciona como um proxy para aplicativos executados em portas diferentes. Por exemplo:

domain.com/app1/service1  >  localhost:101
domain.com/app1/service2  >  localhost:102
domain.com/app2/service1  >  localhost:201

As regras para determinar a porta do aplicativo são bastante complexas, então eu uso um script para fazer isso usando mod_rewrite:

RewriteEngine On
RewriteMap mapper prg:/foler/rewriteUrl.sh
RewriteRule ^(.*)$ ${mapper:%{REQUEST_URI}} [P]

O problema que estou tendo é que, olhando para os logs, há muitos pedidos de bots recebendo conteúdo de outros sites. Eu testei se eu poderia proxy de conteúdo de outros servidores e eu poderia:

telnet domain.com 80
GET http://www.yahoo.com/ HTTP/1.1
Host: www.yahoo.com

Aqui recebo conteúdo do Yahoo, o que significa que qualquer pessoa pode se conectar ao meu servidor e começar a fazer solicitações para outros servidores.

Eu vi que o Apache recomenda proteger seu proxy conforme indicado aqui:

link

Mas o problema é que eu não sei o que os IPs usarão o meu servidor em avançado, então minha pergunta é como resolver esse problema e, ao mesmo tempo, qualquer um pode solicitar meus aplicativos?

Algumas informações adicionais:

  • Todos os meus aplicativos estão na mesma máquina do meu servidor Apache
  • Se eu precisar mover meus aplicativos para servidores diferentes, eles ainda estarão no meu Intratet
  • Eu tenho mod_proxy, mod_proxy_http e mod_rewrite ativado

Obrigado

    
por dgaviola 30.07.2013 / 04:47

1 resposta

0

Se eu entendi corretamente o que você está fazendo, você não precisa de um proxy de encaminhamento, mas um gateway, porque tudo o que você está fazendo proxy são solicitações da WAN para a intranet, ou seja, um reverse proxy , por que não basta desativar ProxyRequest ?

ProxyRequest Off

ProxyRequests Directive

This allows or prevents Apache httpd from functioning as a forward proxy server. (Setting ProxyRequests to Off does not disable use of the ProxyPass directive.)

In a typical reverse proxy or gateway configuration, this option should be set to Off.

    
por 30.07.2013 / 19:59