Portal SAMP
[Tutorial] Medidas para evitar ataques DDoS - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Guias e Tutoriais (https://portalsamp.com/forumdisplay.php?fid=7)
+--- Tópico: [Tutorial] Medidas para evitar ataques DDoS (/showthread.php?tid=421)



Medidas para evitar ataques DDoS - Chainksain - 03/12/2020

Medidas para evitar ataques DDoS


Introdução:

Os ataques DoS/DDoS tem vindo a aumentar bastante nos últimos meses, e com isso é preciso implementar medidas para evitar que seu servidor seja atacado. Se você é daqueles caras que prefere ter um servidor hospedado no seu computador para evitar gastar dinheiro e está aguardando algum milagre, então já pode fechar este tutorial.
Não há nenhuma forma de evitar um ataque DDoS a 100% e muito menos num servidor online cujo o protocolo é 17 (UDP), o que podemos fazer é implementar medidas para reduzir a probalidade disto acontecer.



Ingredientes:

⦁ Virtual Private Server (VPS) Linux.
⦁ Cérebro.



Procedimentos:

Em primeiro lugar devemos proteger a máquina de ataques RANDOM que são feitos através de portas aleatórias que estejam abertas, é muito frequente atacarem a porta 22. Este tipo de ataque atualmente é muito perigoso, principalmente nos servidores da OVH, em que a proteção dos servidores dedicados em Layer 4 é quase perfeita, mas quando se trata de VPS a história é outra, há vários metódos RANDOM que fazem bypass aos planos básicos da OVH.


Solução:

Configuramos algumas regras no iptables para permitir somente o seu IP a estabelecer uma conexão à porta 22.

PHP Code:
Código:
iptables -F
iptables -A INPUT -s SEUIP -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP 

Em "SEUIP" deve modificar pelo seu IP público, se você não sabe o seu IP pode verificar-lo neste site.

Se utilizar um servidor mysql, deverá fazer o mesmo procedimento para a porta 3306.

PHP Code:
Código:
iptables -A INPUT -s SEUIP -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP 

Se você utilizar alguma conexão remota para o mysql, por exemplo, um UCP terá de permitir o IP da máquina em que está hospedado o mesmo.

Em segundo temos de proteger contra os ataques ICMP que já são velhos mas continuam a funcionar e bastantes empresas Hosting continuam vulneráveis. Este tipo de ataque são os mais perturbadores, na minha opinião. Eu já explorei esta vulnerabilidade muito a fundo, desenvolvi um script em línguagem C em que mandava milhares de requisições a um servidor e o mesmo deixava de responder. Vou deixar abaixo um metódo de proteção.

PHP Code:
Código:
iptables -A INPUT -p ICMP --icmp-type echo-request -m length --length 60:65535 -j ACCEPT
iptables -A INPUT -p ICMP --icmp-type echo-request -m pkttype --pkttype broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m limit --limit 3/s -j ACCEPT
iptables -A INPUT -p ICMP -f -j DROP 

Em terceiro, há os ataques UDP Flood que a maioria das empresas de hospedagem games oferece uma mitigação. Vou deixar abaixo algumas regras.

PHP Code:
Código:
iptables -N UDP-FLOOD 
iptables -A INPUT -p udp --dport 7777 -m ttl --ttl-eq=128 -j UDP-FLOOD
iptables -A UDP-FLOOD -p udp --dport 7777 -m length --length 17:604 -j DROP 

Quarto e terminando, não façam igual muitas pessoas que estou vendo... Muitos colocam o servidor e o UCP na mesma máquina, isso é um erro extremo. Ao fazerem isto, a probalidade de receberem ataques triplica e não é recomendável ter um servidor web e game na mesma máquina.

Há outros métodos para derrubar um servidor, tal como exploits e também falhas nos gamemodes. Este tutorial o foco é somente DoS e DDoS, para as outras formas farei um tutorial diferente.

Qualquer dúvida, deixem nos comentários.

Autor: Koplan


RE: Medidas para evitar ataques DDoS - Hazard - 03/12/2020

otimas dicas


RE: Medidas para evitar ataques DDoS - willttoonn - 03/12/2020

Um dos tópicos mais importantes e úteis do fórum. TODO dono de servidor deveria ler ao menos 1 vez por dia.

Obrigado Chain por compartilhar e obrigado Koplan por idealizar!