Config IPTables para descartar / rejeitar IPs com base em tentativas

3

Eu estava lendo algumas das documentações do CentOS com relação à proteção do SSH e notei que havia uma regra que você poderia implementar no IPTables para DROP IP's que tentam acessar sua porta SSH com base em um valor definido dentro de um determinado período de tempo. Parecia algo assim:

iptables -A INPUT -p tcp --dport 22 -m recent --set --name ssh --rsource
iptables -A INPUT -p tcp --dport 22 -m recent ! --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j ACCEPT

Desde então, mudei minha porta SSH, mas implementei essa regra na porta para a qual o SSH foi migrado.

A minha pergunta é, desde que isto é ideal para o SSH, isso não pode ser escrito para outras portas? Deveria? Os ataques de força bruta vêm de qualquer outro meio? Seria loucura dizer que você poderia implementar uma regra para o IPTables que faz isso para toda a caixa?

Suponho que um servidor com alto tráfego poderia quase "atropelar" essa regra, mas eu também acho que os ataques de força bruta chegam a uma quantia tão colossal dentro de um pequeno período de tempo, que poderia haver algum limite lugar para evitar isso.

Muito obrigado SF

    
por RCNeil 27.12.2011 / 16:57

3 respostas

0

Olhe para o sshguard, ele faz exatamente isso. Originalmente escrito apenas para ssh, agora abrange outros serviços também. link

    
por 27.12.2011 / 17:04
3

Você pode fazer isso para o SSH e para outros serviços, mas precisa saber o número esperado de conexões. Caso contrário, você pode acabar negando o tráfego legítimo.

Uma coisa importante a observar é ter uma regra como essa antes das regras recent .

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Caso contrário, você estará limitando todos os pacotes e não apenas as novas conexões.

    
por 27.12.2011 / 17:08
1

Eu pessoalmente uso o DenyHost para essa tarefa. link

    
por 27.12.2011 / 17:38