Conexão de bloqueio baseada no cabeçalho HTTP

1

Estou executando algumas configurações exclusivas de firewall usando várias coisas que o rackspace oferece (balanceador de carga e nuvens, e instalei o squid para solicitações HTTP de proxy através das nuvens). Minha configuração praticamente bloqueia todos os ataques além de inundações HTTP. O problema é que não tenho acesso SSH ao Balanceador de Carga para avisar que ele bloqueia IPs de ataque e, quando chega à nuvem, o IP de conexão é o balanceador de carga. No entanto, o loadbalancer envia o IP do cliente em um cabeçalho. Existe alguma maneira de configurar meu firewall para ler (e bloquear) ips do cabeçalho?

Usando o CentOS6.0 no balanceador de carga

    
por Rob 18.02.2012 / 05:28

1 resposta

2

Você não pode fazer com que o sistema de firewall do iptables leia o conteúdo e o bloco da camada HTTP. Existem alguns módulos de correspondência "camada 7" disponíveis, mas geralmente não são boas escolhas nem razoavelmente suportáveis.

Parte do problema é que o cabeçalho é provável de três a cinco pacotes abaixo da linha da conexão inicial, e você tem que manter um monte de estado para começar a trabalhar de onde veio. (A menos que o balanceador de carga o coloque em uma opção de IP ou algo assim, o que provavelmente não acontece.)

Você ficaria melhor com uma das muitas ferramentas, como fail2ban , que processam registros em busca de ofensas conteúdo, em seguida, adicionar regras iptables ou - utilmente - executar alguma outra ação, como fazer o que for possível para obter bloqueio a montante do ataque.

Se você não pode bloquear o ataque fora do seu sistema, o melhor que você pode fazer é colocar algum tipo de proxy em seu sistema entre o servidor web e o balanceador de carga e fazer isso - mas somente se o ataque não for hostil.

Isso ainda custa substancialmente, mas pelo menos protege seu servidor de aplicativos das solicitações incorretas e oferece um sistema muito mais simples para operar.

    
por 18.02.2012 / 08:30

Tags