Usando IPtables para impedir que usuários em seu servidor digitalizem outros servidores

2

Alguns de nossos usuários estão iniciando varreduras de portas em servidores da Internet. Esses usuários se conectam aos nossos servidores usando ssh e openvpn. Obviamente, suspendemos as contas quando necessário, mas gostaríamos de encontrar uma solução técnica que impeça ou impeça a verificação (por exemplo, diminuindo a velocidade).

A melhor solução que tenho é a (que é destinada a varredura SYN):

# Log suspected port scanners 
iptables -A Limit_Pscan -p tcp --syn -m state --state NEW -m recent --name port_scan --rcheck --seconds 10 --hitcount 30 -j LOG --log-prefix 'PORT SCANNER(?): '

# Drop connections where packets > 29 in 10 second period.
iptables -A Limit_Pscan -p tcp --syn -m state --state NEW -m recent --update --name port_scan  --seconds 10 --hitcount 30 -j DROP

# Allow and add the source address of the packet to the port_scan list
iptables -A Limit_Pscan -p tcp --syn -m state --state NEW -m recent --set --name port_scan 

No entanto, isso obviamente captura muito tráfego legítimo. Nos meus testes, se eu reiniciar meu navegador com algumas dúzias de abas, ele abre conexões suficientes que a maioria das timeout de abas. Eu não consigo encontrar um equilíbrio e estou pensando que talvez haja uma maneira melhor. Alguma idéia?

    
por Michelle 09.04.2013 / 20:04

1 resposta

1

Parece-me que uma varredura de portas pode ser melhor excluída do tráfego legítimo, procurando por uma verificação de programa > 5 portas em uma única máquina ou verificando a mesma porta em algum número de máquinas. O segundo é mais complicado porque há muitos aplicativos que legitimamente conversam com vários hosts na mesma porta em um curto período de tempo (como no problema do navegador da Web).

Eu também procuraria por um grande número de pacotes TCP RST ou erros ICMP (para verificações UDP, geralmente ICMP inacessível).

Embora não seja possível acessar o site no momento, psad (detector de ataque de varredura de porta) também pode oferecer um grau maior de flexibilidade, embora eu não tenha certeza de como ela reage a ser um detector no sistema de origem. Geralmente é executado nos hosts de destino para parar as varreduras.

    
por 09.04.2013 / 20:16

Tags