BE

Como parar pequenos ataques?

Por Beeki, 12 de jul. de 2013 em Tutoriais de Infraestrutura

6
2.1k
BeekiB
12 de julho de 2013 às 22:55

E aí, esse é meu primeiro tutorial após assumir a moderação da sessão de Infraestrutura, bom, vou estar aqui ensinando o basicão pra vocês.

 

O que vou ensinar?

 

  • Limitar conexões simultâneas vinda de um único/same IP.
  • Identificar o IP ataquente (noob).
  • Matar conexões TCP com TCP Kill.
  • Usar o Cutter para matar conexões em qualquer porta ou interface de rede.
  • Bloquear qualquer IP pelo IPTables.
  • Salvar e Restaurar regras no IPTables.
  • Parar/Ligar IPTables.

 

Para iniciar é necessário estarmos conectados com o usuário "root". Essas primeiras regras limita o numero de conexões em uma porta vindo de um mesmo IP, prevenindo um possível "attack" mitigando o mesmo.

iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP

Tais regras acima verificam conexões vindas de tal IP, e se o pacote enviado pelo IP for muito alto a conexão é cancelada.

 

Bom, e como identifico o IP atacante?

netstat -ntu | awk '{print $5}' | cut - -f1 | sort | uniq -c | sort -n

Esse comando mostra o IP com mais conexões em seu servidor.

 

Exemplo:

1 127.0.0.1
1 Address
1 servers)
132 201.119.167.193

O IP 201.119.167.193 fez 132 conexões em seu servidor, possivelmente pode ser o atacante.

 

Como faz pra desconectar clientes das minhas interfaces de internet? Simples! Tal façanha pode ser feita utilizando o utilitário TCPKill.

apt-get install dsniff

Depois

tcpkill host xxx.xxx.xxx.xxx

onde xxx.xxx.xxx.xxx.xxx é o IP a ser desconectado.

 

Como eu bloqueio IP's utilizando o IPTables no Linux? Fácil, só usar essa regrinha aqui.

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP

Algumas façanhas podem ser feitas, por exemplo, bloquear um IP de acessar tal porta, como mostra no comando abaixo.

iptables -A INPUT -s 163.235.144.110 -p tcp --destination-port 25 -j DROP

Bom, e agora? como salvo tudo isso que eu fiz para que não seja perdido no próximo server restart? fácil.

iptables-save > /etc/iptables.up.rules
iptables-restore < /etc/iptables.up.rules

Antes de reiniciar, execute o comando de -save, após o shutdown utilize o comando de -restore.

 

Ligar e desligar o IP Tables.

service iptables stop
service iptables start

Basicão pra vocês, pode ser útil.

 

Em breve, tutoriais mais avançados sobre segurança.

Editado Julho 12 por Beeki

GabrieltxuG
12 de julho de 2013 às 23:05

Opa Bem legal em beeki! vai ajudar muitas pessoas que ainda não tem esse tipo de conhecimento xD. vlw pelo Topico

BeekiB
12 de julho de 2013 às 23:06

de nada cara. ^^

13 de julho de 2013 às 03:46

Bom, eu não sabia quase nenhuma dessas ip tables, aguardando os tópicos mais avançados sobre segurança!

3 meses depois...
ariiussA
22 de outubro de 2013 às 17:20

Foi mal por reviver o tópico, mas estou realmente precisando de ajuda...meu OT tem 50 online e um cara fica derrubando não sei como, tirou realmente a internet de TODOS MEUS PCS não sei como para o OT cair.....Não entendi a parte que tenk estar conectado a uma conta root...seria mysql? Não entendi....

Jakson SouzaJ
23 de outubro de 2013 às 02:37

legal, parabéns