Um proxy reverso na frente do servidor da Web melhorará a segurança?

14

Um profissional de segurança de terceiros recomenda que executemos um proxy reverso na frente do servidor da Web (todos hospedados na DMZ) como uma medida de segurança de práticas recomendadas.

Sei que essa é uma arquitetura típica recomendada, pois fornece outro nível de segurança na frente de um aplicativo da Web para impedir hackers.

No entanto, como um proxy reverso está transportando HTTP de um lado para o outro entre o usuário e o servidor da web interno, ele não fornecerá nenhuma medida de prevenção de hackers no próprio servidor da web. Em outras palavras, se seu aplicativo da Web tiver uma falha de segurança, o proxy não fornecerá nenhuma quantidade significativa de segurança.

E, considerando que o risco de um ataque a um aplicativo Web é muito maior do que o de um ataque ao proxy, há realmente muito ganho com a adição de uma caixa extra no meio? Não estaríamos usando nenhum dos recursos de cache de um proxy reverso - apenas uma ferramenta idiota para transportar pacotes de um lado para outro.

Há algo mais que estou perdendo aqui? A inspeção de pacotes HTTP de proxy reverso ficou tão boa que pode detectar ataques significativos sem grandes gargalos de desempenho ou esse é apenas mais um exemplo do Security Theatre?

O proxy reverso é o MS ISA fwiw.

Darren
fonte

Respostas:

9

O Apache possui mod_security, que detectará ataques de segurança comuns. Há também mod_cband, que pode restringir a largura de banda usada. Eu não ficaria surpreso se o ISA tivesse algo semelhante. Sem que algo realmente faça verificações no tráfego HTTP à medida que ele atravessa o proxy, tudo isso é um pouco inútil do ponto de vista da segurança.

O que um proxy reverso fornecerá a você é balanceamento de carga, failover, cache, SSL e descarregamento de arquivamento, deixando seus servidores da Web fazendo o que eles são bons: servindo HTML.

David Pashley
fonte
8

O ISA Server pode procurar e impedir várias explorações HTTP e impedir que elas cheguem ao servidor da Web. Embora a maioria dos servidores HTTP modernos não seja mais explorável por isso, ela possui o benefício adicional de não enviar esse tráfego ao servidor da Web.

Além disso, o ISA pode facilitar a execução de ações como adicionar aceleração SSL e pré-autorização de usuários a vários URLs. Ele pode até atuar como um balanceador de carga para você, para que você possa adicionar facilmente mais servidores da Web sem usar um balanceador de carga de hardware separado.

Certifique-se de considerar os profissionais que essa pessoa está oferecendo no ISA e ponderá-lo em relação à quantidade de custos adicionais que custará para gerenciar e executar o ISA em comparação aos benefícios.

Aaron Weiker
fonte
8

Um proxy reverso na frente do servidor da Web melhorará a segurança?

Um proxy reverso fornece algumas coisas que podem tornar seu servidor mais seguro.

  • Um lugar para monitorar e registrar o que está acontecendo separado do servidor da web
  • Um local para filtrar ou firewall separado do servidor da Web, se você souber que alguma área do seu sistema é vulnerável. Dependendo do proxy, você poderá filtrar no nível do aplicativo.
  • Outro lugar para implementar ACLs e regras se você não puder ser expressivo o suficiente por algum motivo em seu servidor da web.
  • Uma pilha de rede separada que não será vulnerável da mesma maneira que o servidor da web. Isso é particularmente verdadeiro se o seu proxy for de um fornecedor diferente.
    • Usar a instalação do Apache como proxy na frente do servidor Apache provavelmente não é tão útil quanto algo como o Squid na frente do Apache.

Um proxy reverso sem filtragem não o protege automaticamente contra tudo, mas se o sistema que você precisa proteger for de alto valor, a adição de um proxy reverso poderá valer os custos de suporte e desempenho.

Zoredache
fonte
6

Ele poderia proteger seu servidor de aplicativos contra ataques baseados em solicitações HTTP ruins ... Especialmente se for possível no proxy reverso (e não no servidor de aplicativos) configurar exatamente como é uma boa solicitação e não permitir solicitações ruins. Se você precisar dizer como são os pedidos ruins, quase certamente será inútil. Em outras palavras, ele pode proteger de ataques de estouro de buffer, mas não de injeção de SQL.

Principalmente, parece teatro de segurança. Você contratou um consultor de segurança e eles precisam lhe dizer algo para melhorar sua segurança. É muito improvável que um invasor invada o proxy reverso e, se simplesmente ignorá-lo, pode sempre culpar você; então é uma recomendação segura.

freiheit
fonte
3

Basicamente, os proxies reversos ocultarão sua infraestrutura do mundo. Portanto, é principalmente um caso de segurança por obscuridade, a menos que seu servidor da Web seja realmente incontrolável e não seguro.

Ele também pode proteger seus servidores da Web de algum tipo de DOS (negação de serviço distribuída), especialmente se o site for "pesado", atuando como uma camada de cache.

Ele também tem algumas dicas: ele esconde da sua aplicação o IP real do cliente. Isso fará com que você consuma mais energia do servidor e adicione uma camada de coisas que podem quebrar. Lembre-se de que seu proxy reverso precisará lidar com mais conexões (geralmente duas vezes mais: conexões com clientes e conexões com o servidor da web).

No final do dia, um proxy reverso não o poupará de ter um site seguro.

Xavier Nicollet
fonte
0

Eu acho que o Zoredache deu uma resposta muito boa quanto aos benefícios que um proxy reverso pode oferecer. Eu usei Pound, que é um proxy reverso, balanceador de carga e front-end HTTPS.

http://www.apsis.ch/pound/

ChrisNZ
fonte
0

Um benefício que eu acho que ninguém falou sobre o fato é que você não precisa abrir nenhuma porta / IP externo por meio de seu firewall externo. Um bom sistema de proxy reverso iniciará a comunicação de dentro da sua rede para o servidor na DMZ, protegendo as redes contra ataques diretos. Isso, no entanto, e como outros já disseram, não o protegerá contra um aplicativo mal escrito.

user2259963
fonte