
Archwiki apresenta um artigo com sugestões para umfirewall iptables com estado. Eles recomendam algunsregras para enganar scanners de porta, mas avisam que eles abrem uma vulnerabilidade para ataques DoS. Em particular, ao negar acesso a IPs que tentam continuamente acessar portas fechadas, um invasor em potencial poderia enviar esses pacotes com um IP falsificado para que meu firewall bloqueasse usuários legítimos.
As regras TCP sugeridas são as seguintes:
# iptables -I TCP -p tcp -m recent --update --rsource --seconds 60 --name TCP-PORTSCAN -j REJECT --reject-with tcp-reset
# iptables -A INPUT -p tcp -m recent --set --rsource --name TCP-PORTSCAN -j REJECT --reject-with tcp-reset
Minha pergunta é: posso limitar a eficácia do referido ataque DoS se adicionar o TTL do pacote às regras? De acordo compágina de manual do iptables:
--rttl:[···] isso restringirá a correspondência para que aconteça apenas quando o endereço estiver na lista e o TTL do pacote atual corresponder ao do pacote que atingiu a regra --set. Isso pode ser útil se você tiver problemas com pessoas falsificando seus endereços de origem para causar DoS através deste módulo, impedindo o acesso de outras pessoas ao seu site, enviando pacotes falsos para você.
Funcionaria ou estou faltando alguma coisa?
Responder1
Existem alguns problemas ao usar a opção TTL para essa finalidade. Você está propondo essencialmente o uso de TTL como um componente adicional de identificação ao identificar endereços.
Entretanto, assim como os invasores podem falsificar IPs para bloquear clientes legítimos, eles também podem falsificar os valores TTL dos pacotes; qualquer pessoa pode gerar pacotes com valores TTL arbitrários, eles não estão limitados a começar com o valor inicial assumido.
Além disso, naturalmente, à medida que a infraestrutura de rede muda, o número de saltos entre você e o invasor mudará com o tempo, limitando a utilidade prática do TTL como identificador exclusivo.
O problema final com esta técnica é que é inteiramente possível que um invasor tenha o mesmo número de saltos entre ele e você que há entre muitos hosts legítimos e você. Portanto, mesmo sem qualquer falsificação de TTL, eles provavelmente poderiam atingir algum nível de ataque DoS.
Responder2
Isso realmente não responde à sua pergunta porque é algo fora do iptables, mas se você deseja se proteger contra varreduras de portas, o PSAD é uma opção melhor. Você pode configurá-lo para bloquear qualquer IP que verifique a porta do seu sistema. http://cipherdyne.org/psad/
Isso usa iptables, mas não é necessariamente apenas uma regra de iptables