iptables - voltar para a filtragem sem estado

3

É possível fazer com que o iptables caia na filtragem stateless sob carga, durante um ataque etc, quando as tabelas de controle de conexão estão cheias e as novas conexões estão prestes a serem descartadas?

Estou ciente de que isso teria algumas implicações de segurança sérias, e as regras de fallback devem, portanto, ser selecionadas de forma muito conservadora. Além disso, o NAT inevitavelmente quebraria ao desabilitar o rastreamento de conexão, mas isso não é um problema aqui (o host em questão é um firewall real).

Qualquer solução provavelmente teria duas partes:

  • Reagir a uma tabela de estados completa dentro do iptables (ou seja, sem analisar logs e modificar regras por meio de uma tarefa cron ou daemon)
  • Desative todas ou algumas regras com estado ou adicione novas regras de prioridade mais altas que aceitem pacotes antes que o acompanhamento de estado seja aplicado

Isso pode ser feito? Se não, existe uma maneira melhor do que detectar um estouro de tabela através de algum tipo de análise de log e reagir por inserção ou exclusão de regras, ou descarregamento do módulo de rastreamento de conexão?

    
por lxgr 28.01.2013 / 12:46

2 respostas

2

Se você estiver executando uma tabela de acompanhamento de conexão completa, basta ampliá-la.

Defina o seguinte em /etc/sysctl.conf ou um arquivo que inclua:

net.ipv4.netfilter.ip_conntrack_max = 131072

(Levante o número até ter espaço suficiente.)

Em servidores Linux mais antigos, você deve usar o sysctl antigo obsoleto equivalente:

net.ipv4.ip_conntrack_max = 131072

Para aplicar a alteração, reinicialize ou execute:

sysctl -p
    
por 28.01.2013 / 19:10
1

Sob carga alta, especialmente com muitas conexões, sim, ele começará a desacelerar. Então, ir sem pátria é uma boa ideia.

Infelizmente, não há como recorrer à filtragem sem informações em tempo real. No entanto, você pode simplesmente ignorar os estados para tráfego intenso: udp, porta 80, ... usando o destino NOTRACK .

Com uma carga muito alta, recomendo que você fique totalmente sem estado, se possível.

    
por 29.07.2013 / 18:20