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:
- 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:
- 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:
- 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:
- 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