Como eu faço o Iptables bloquear um ip que realiza mas de 30 conexões com o servidor?

13. Re: Como eu faço o Iptables bloquear um ip que realiza mas de 30 conexões com o servidor?

roberto santos
roberto1saa

(usa Outra)

Enviado em 22/07/2012 - 04:44h

Infelizmente teve que fechar o servidor devido a ataques
Mas gostaria de agradecer a todos que mim ajudaram


  


14. Re: Como eu faço o Iptables bloquear um ip que realiza mas de 30 conexões com o servidor?

wellington
wellington_a

(usa Debian)

Enviado em 27/07/2012 - 16:21h

É necessário mesmo essa porta ficar aberta para todos?




15. Re: Como eu faço o Iptables bloquear um ip que realiza mas de 30 conexões com o servidor?

roberto santos
roberto1saa

(usa Outra)

Enviado em 28/07/2012 - 01:21h

wellington_a escreveu:

É necessário mesmo essa porta ficar aberta para todos?



Para meu servidor funcionar tenho que deixar 3 portas abertas

9987
10011
30033


16. Re: Como eu faço o Iptables bloquear um ip que realiza mas de 30 conexões com o servidor?

Carlos Roberto M. Medeiros junior
medeiros64

(usa Slackware)

Enviado em 28/07/2012 - 02:55h

# Create a reject-and-log-SSH-Bruteforce chain to forward things to.

iptables -N REJECT-SSH
iptables -A REJECT-SSH -j DROP
-m recent --rcheck --name SSH --seconds 60 --hitcount 10
iptables -A REJECT-SSH -j LOG --log-prefix SSH-Bruteforce:
iptables -A REJECT-SSH -j REJECT -p tcp --reject-with tcp-reset
iptables -A REJECT-SSH -j REJECT
# Kill SSH brute-force attacks. Allow only three connections per minute
# from any source.

iptables -A INPUT -p tcp --dport 22 -m state --state NEW
-m recent --update --name SSH --seconds 60 --hitcount 4
-j REJECT-SSH

iptables -A INPUT -p tcp --dport 22 -m state --state NEW
-m recent --set --name SSH

Traduzindo a página de explicação para quem não tem a mínima noção de inglês:

"Esta é uma solução parcial para ataques remotos de dicionário usando iptables no Linux. Ela funciona baseada no fato de ataques de dicionário criarem conexões repetidamente em um pequeno espaço de tempo, enquanto usuários típicos e legítimos somente se conectam poucas vezes no mesmo espaço de tempo.

Esta regra assume que o seu kernel seja compilado com CONFIG_IP_NF_MATCH_RECENT.

Você pode ajustar este script de acordo com suas necessidades. Como escrito acima, as três primeiras conexões em um período de 60 segundos serão bem sucedidas e a quarta irá falhar com mensagem de "Connection reset by peer." Se o atacante persistir, os seus pacotes serão ignorados sem nenhuma mensagem, a partir da décima tentativa.

Se acontecer de um usuário válido tentar se conectar várias vezes e começar a receber "drops", tudo o que ele tem que fazer é esperar um minuto ou dois e ele estará apto a tentar se conectar novamente. Os usuários que tentarem se conectar repetidamente continuarão sendo "dropados' indeterminadamente".

Agradecimentos ao usuário FuzzyFox pela contribuição para a comunidade. Se ele não morasse tão longe, convidava ele pra tomar uma cerva por minha conta.



de os creditos ao criador do artigo
http://www.vivaolinux.com.br/artigo/Bloqueio-de-repetidas-tentativas-de-login-ao-seu-Linux/?pagina=2


17. Re: Como eu faço o Iptables bloquear um ip que realiza mas de 30 conexões com o servidor?

roberto santos
roberto1saa

(usa Outra)

Enviado em 30/07/2012 - 10:56h

medeiros64 escreveu:

# Create a reject-and-log-SSH-Bruteforce chain to forward things to.

iptables -N REJECT-SSH
iptables -A REJECT-SSH -j DROP
-m recent --rcheck --name SSH --seconds 60 --hitcount 10
iptables -A REJECT-SSH -j LOG --log-prefix SSH-Bruteforce:
iptables -A REJECT-SSH -j REJECT -p tcp --reject-with tcp-reset
iptables -A REJECT-SSH -j REJECT
# Kill SSH brute-force attacks. Allow only three connections per minute
# from any source.

iptables -A INPUT -p tcp --dport 22 -m state --state NEW
-m recent --update --name SSH --seconds 60 --hitcount 4
-j REJECT-SSH

iptables -A INPUT -p tcp --dport 22 -m state --state NEW
-m recent --set --name SSH


medeiros64,

Primeiramente gostaria de te agradece pela ajuda, essa regra vai ser muito útil para meu servidor, mas eu crio que não vai surti efeito nesse tipo de ataque, porque pelo que eu analisei pelo video os ip´s atacante não se repetem ele apenas mandão um pacotes manipulado de 0 bytes, fazendo com que meu servidor acreditasse estar recebendo requisições ICMP de vários ips distintos e o meu servidor respondia a todos

Obs. Bloqueei a entrada e a saida de pacotes ICMP, mas não sutio efeito

--------------------------------------------------------------------------------------------------------
Uma duvida sobre essa regra que você mandou
ela funciona em qual quer porta?
se ela funciona em qualquer porta, o que devo fazer para aplica nas portas TCP Ports: 10011, 30033 UDP Ports: 9987



18. Re: Como eu faço o Iptables bloquear um ip que realiza mas de 30 conexões com o servidor?

Isac
isacborgert

(usa Debian)

Enviado em 20/09/2013 - 10:39h

neltavares escreveu:

Bom dia
Imagino q vc queira algo +- assim:

iptables -A INPUT -p tcp --dport <porta> -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport <porta> -m state --state NEW -m recent --update --seconds 120 -
-hitcount 5 -j DROP


Com esta regra se o cara tentar conectar, na porta especificada, mais de 5 vezes será bloqueado. Mas por apenas um periodo de tempo, nao permanente.
É uma boa regra pra minimizar força bruta, agora se quiser limitar eh pings disparados contra seu servidor. Esta regra é melhor:

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 3/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP



Abraço
Espero ter ajudado.


Muito obrigado.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts