Logging atrás de um proxy reverso?

2

No momento, estou executando o Varnish como um proxy reverso em frente ao nosso website de desenvolvimento, testando antes da implantação na produção. Uma das coisas que tive que enfrentar é o registro: em um mundo de acesso direto, o Apache registra o endereço IP do cliente em access_log e error_log . Isso é um pouco menos útil quando todas as conexões do cliente são da nossa caixa de verniz.

Fiz algumas personalizações com SetEnvIf e LogFormat e agora nosso access_log registra de maneira inteligente o IP apropriado de REMOTE_HOST ou X-Forwarded-For , dependendo da origem da conexão de entrada. Isso não faz nada para error_log embora. Tanto quanto eu posso dizer, eu não posso substituir o IP do cliente neste log.

Então, quais são suas soluções para fazer login em um mundo de proxy reverso? Devo muito bem escrever o log padrão do Apache e concentrar meus esforços em outro lugar, ie. em código? Estou interessado em estatísticas de uso e auditoria de segurança aqui.

    
por Annika Backstrom 09.06.2009 / 12:44

3 respostas

5

Dica:

mod_rpaf - rpaf é a abreviação de add forward de proxy reverso.

Ele altera o endereço remoto do cliente visível para outros módulos do Apache quando duas condições são satisfeitas. A primeira condição é que o cliente remoto seja, na verdade, um proxy definido no httpd.conf. Em segundo lugar, se houver um cabeçalho X-Forwarded-For de entrada e o proxy estiver em sua lista de proxies conhecidos, ele pega o último IP do cabeçalho X-Forwarded-For de entrada e altera o endereço remoto do cliente na estrutura da solicitação.

link

    
por 09.06.2009 / 13:17
0

Eu registro tudo em verniz ( varnishlog em um arquivo, girado de hora em hora por alguns dias). Permite-me correlacionar exatamente o que está acontecendo em verniz com o que está acontecendo nos bastidores.

Suas estatísticas de uso, como você diz, são cobertas principalmente pelo registro criterioso de X-Forwarded-For , embora você também possa usar varnishncsa para fazer um registro de acesso mais completo (para saber todos os hits do seu site). "Auditoria de segurança" é muito ampla para ser capaz de fazer recomendações concretas.

    
por 09.06.2009 / 12:55
0

O error_log é um erro de relatório entre o Varnish e o Apache, quaisquer erros que ocorram entre o cliente e o Varnish serão registrados no final do Varnishs, não no Apaches. Seu error_log deve estar vazio, pois você tem controle sobre os dois pontos de extremidade. Qualquer coisa que apareça nesse registro deve ser considerada séria.

    
por 10.06.2009 / 16:42