Como mitigamos um ataque DoS usando iptables em um servidor Linux
Recentemente, tivemos que lidar com uma situação delicada em um ambiente de produção. Uma aplicação web começou a apresentar lentidão e, poucos minutos depois, ficou praticamente indisponível. Ao analisar os logs e o tráfego de rede, percebemos um volume anormal de conexões vindas de diversos IPs. Não era um ataque DDoS massivo, mas um DoS simples focado em esgotar as conexões do serviço.
O ambiente não utilizava WAF nem serviços avançados de mitigação na borda, então a solução mais rápida foi atuar diretamente no firewall do servidor. A decisão foi aplicar uma regra usando iptables para limitar a quantidade de novas conexões por IP dentro de um intervalo de tempo.
Segue um exemplo muito próximo do que utilizamos:
INTERFACE=ens33
IPTABLES=/sbin/iptables
ACTION="DROP"
# Max connection in seconds
SECONDS=60
# Max connections per IP
BLOCKCOUNT=250
# Clean
$IPTABLES -F
# Rules
$IPTABLES -I INPUT -p tcp -m multiport --dports 80,443 -i $INTERFACE -m state --state NEW -m recent --set
$IPTABLES -I INPUT -p tcp -m multiport --dports 80,443 -i $INTERFACE -m state --state NEW -m recent --update --seconds ${SECONDS} --hitcount ${BLOCKCOUNT} -j ${ACTION}
A ideia é simples: se um mesmo IP tentar abrir mais de 250 novas conexões em 60 segundos, o firewall bloqueia automaticamente. Depois de aplicar a regra, o servidor estabilizou em poucos instantes e o tráfego voltou ao normal.
Alguns pontos de atenção
-
Esse tipo de mitigação não substitui soluções mais completas (WAF, CDN, rate-limit na aplicação etc.).
-
Dependendo do tráfego real da aplicação, os valores de BLOCKCOUNT e SECONDS podem precisar ser ajustados.
-
Em ambientes com containers ou balanceamento de carga, talvez seja mais eficiente atuar em outra camada.
Não estou dizendo que essa seja a melhor solução para todos os cenários, mas naquele momento foi o que manteve o serviço online até aplicarmos medidas definitivas.
Este conteúdo foi escrito por Alex Hinckel, fundador da Proactus Tecnologia, empresa especializada em infraestrutura de TI e segurança corporativa.