Proibir permanentemente após N conexões em um minuto com iptables

0

Estou tentando criar algumas regras do iptables que farão isso:

Se um ip de origem tentar 3 ou mais conexões em menos de um minuto, então bangue esse ip até novo aviso.

Eu não estou muito familiarizado com o iptables e isso é mais difícil de implementar do que eu pensava que seria. A maioria dos exemplos eu encontrei apenas bloquear por 60 segundos. Se alguém pudesse me mostrar como fazer isso, eu realmente aprecio isso.

    
por zallik 26.07.2017 / 17:22

3 respostas

2

Parece que o módulo ipset pode ser a maneira mais direta de realizar o que estou tentando fazer. No entanto, é necessário criar um ipset primeiro.

Isso é o que eu criei e parece funcionar:

iptables -A ENTRADA -p tcp --dport 80 -m state --state NOVO -m recente --set

iptables -A INPUT -p tcp --dporta 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j SET --add -set bloqueado src

iptables -A ENTRADA -p tcp --dport 80 -m set --maparado-set bloqueado src -j DROP

    
por 26.07.2017 / 22:18
3

Você pode usar o fail2ban para gerenciar automaticamente seus iptables. Ele monitora arquivos de log e executa ações com base em critérios que você pode configurar. Ele pode manipular vários tipos de conexão diferentes por padrão. Usando este framework, tenho certeza que você pode bloquear qualquer comportamento que você queira.

link

DO README:

Fail2Ban scans log files like [file:///var/log/pwdfail pwdfail] and bans IP addresses that make too many password failures.  It updates firewall rules to reject the IP address.  These rules can be defined by the user.  Fail2Ban can read multiple log files such as sshd or Apache Web server ones. This README is a quick introduction to Fail2Ban.  More documentation, FAQ, HOWTOs are available on the project website.

    
por 26.07.2017 / 21:31
1

Existe uma opção --hitcount que especifica o número de tentativas falhadas. Eu sugiro que você teste isso em um computador de teste ou algo do tipo, não SSH-ing para um servidor remoto como você pode ficar bloqueado. A menos que você tenha acesso ao console KVM.

Uma resposta semelhante é dada aqui: Negar automaticamente tentativas de hackers no CentOS?

Por mais segundos, basta especificar seu valor e ele deve funcionar.

Sempre tenha em mente que as regras DROP devem estar no final das regras. Normalmente o arquivo de regras do iptables está localizado em / etc / sysconfig / iptables

Para outras opções, você pode verificar o link . Você pode encontrar quase tudo na página linux.die.net. Inclui as páginas man do linux e mais.

Para verificar a lista de IPs proibidos, você pode executar: iptables -L INPUT -v -n Verifique isso para mais: link

E o que eu pessoalmente achei útil é este guia: link

    
por 26.07.2017 / 19:14

Tags