[AJUDA] Preciso de dicas de como me proteger de ataques DDOS
Fala galera.
Então, estou precisando do máximo de dicas possíveis sobre proteção contra ataques DDOS que vocês tiverem.
Meu problema está sendo o seguinte: eu crio servidores na Linode/Digital Ocean/Vultr para hospedar sites de clientes e os domínios deles estão usando a Cloudflare, mas mesmo assim alguns sites estão sofrendo ataques DDOS e eu não sei como resolver.
A princípio comecei com a Vultr, depois fui para a DO por causa da limitação de 5 servidores na Vultr, mas depois que começou aparecer esse tipo de problema migrei para Linode que oferece proteção DDOS sem custo adicional(já que na Vultr são $10 e a DO nem oferece). Como o servidor da Linode tinha proteção DDOS eu pensei que resolveria meu problema...ledo engano.....
Depois de muito quebrar cabeça tentando entender como ou porque isso ainda continua acontecendo mesmo o servidor tendo proteção contra DDOS e o domínio usar Cloudflare, descobri que a possível causa é que o hacker estava atacando o IP diretamente. Então em uma pesquisa no tio Google encontrei o site https://search.censys.io/ que através dele é possível descobrir o IP de um dominio.
Fiz alguns testes com domínios de clientes e consegui encontrar o IP do servidor, aparentemente porque eu nomeei eles na Linode/Vultr/DO com o proprio dominio do cliente. Então, parei de usar o dominio do cliente para nomear os servidores testei novamente no site da Censys, e mesmo assim continuo encontrando alguns IP's de um ou outro cliente(não mais de todos como antes).
Tambem descobri que na Cloudflare não devo desativar a opção Proxy Status(nuvem laranja) para evitar a descoberta do IP real do servidor. Mas recentemente criei um servidor para um site meu em Wordpress, segui todos esses aprendizados que tive, e mesmo assim encontrei o IP do meu servidor no site da Censys.
Resumindo, não sei mais o que fazer para impedir que meus clientes sejam alvos faceis de ataques DDOS, então, quem puder me dar dicas do que posso fazer para resolver este problema seria de grande ajuda; até porque futuramente pretendo tirar idéias do papel para criar um ou mais Saas e até lá eu preciso aprender o máximo possível sobre DDOS para tomar todas as precauções.
Opa, antes de tentar ajudar na solução, é importante entender de que modo esse DDOS é feito. É um UDP flood ou simplesmente um request no dominio do seu cliente? Ou até mesmo um flood direto na porta? Que tipo de request é esse que o cloudflare deixa passar? É um GET, u, POST? De novo, pq a cloudflare nao cacheia isso? Seu cliente espera requests vindo dessa região onde esse servidor está? Geralmente um datacenter possui seu bloco de IPs.
Agora vamos lá, caso seu DDOS seja um UDP flood voce pode desativar as portas altas e liberar somente algumas pra sua aplicação.
É um GET ou POST? Ou qualquer outro método? Esse método é esperado no dominio/path do seu cliente? Se não, no cloudflare voce ja cria uma regra pra dar um 405.
Caso seja um método esperado, pq a cloudflare não está cacheando? São requests com query string randomica? Voce espera isso na sua aplicacao? Se nao, outra regra que voce pode criar na cloudflare.
Caso ele esteja chamando a mesma coisa e a cloudflare nao ta cacheando, tem algo errado em alguma regra que ta bypassando tudo isso.
Voce disse que achou o IP desse servidor, ele é de alguma regiao que seu cliente nao espera acessos? Como Asia, sei la? Voce pode colocar um geo block mas isso é muito abrupto. Outro caso seria bloquear uma subnet desse IP, pois provavelmente esse datacenter detem um /16, /8 seja o que for. Bloquei aos poucos, do /24.
--
Bom essa sao algumas dicas, sem saber de fato como esse ddos é feito. Dando detalhes das perguntas acima, fica mais fácil bolar uma solução.
No caso, se o ataque estiver diretamente para o IP de seu server, não está passando pela cloudflare. Você poderia bloquear tráfego que não viesse dos IPs da cloudflare. Tive um problema similar a alguns anos, e devido ao fato de não ter mais recebido reclamações deste meu ex-cliente, parece ter funcionado...
As faixas de ip da Cloudflare você confere aqui: https://www.cloudflare.com/ips/
Salve vergilSparda! Todo DataCenter possui estratégia de proteção contra ataques DDoS, mas isso não impede de você possuir um droplet/vps/virtual machine (seja qual serviço utiliza para hospedar um site/aplicação), que possa sofrer ataques diretos.
CloudFlare sem dúvida é provavelmente a melhor solução pronta para uso. Mas vai umas dicas adicionais para você configurar em seus servidores e diminuir e evitar que esses ataques aconteçam:
- Configure o Firewall, libere apenas as portas que vc utiliza;
- Desative as solicitações de ping via firewall, vc evita requisições em massa desse tipo, evita dor de cabeça do seu site cair ou seu droplet ser suspenso por algum sistema de segurança e ficar fora até vc resolver;
- Quando vc recebe um ataque DDoS, utilize o firewall para bloquear os intervalos de IP. Isso você pode pesquisar de como monitorar logs no seu servidor e coletar esses dados;
- A maioria dos provedores desses serviços que citou, possuem balanceamento de carga ou Load Balance, se seu site/serviço é muito requisitado para uso ou tem muito acesso simultâneo, vale a pena configurar um balanceamento de carga para não sobrecarregar;
- E por último, analise bem a viabilidade do projeto, se ele possui expectativa de acesso/uso simultâneo constante e pesado, isso serve como item de base para definir qual serviço de hospedagem escolher.
Uma dica extra, dê uma estudada em AWS, GCP(Google Cloud Platform) e Azure, são as gigantes em infraestrutura, possuem planos de baixo custo e capacidade de atender qualquer tamanho de aplicação. Um site pequeno a médio porte, encaixa bem em serviços da AWS por exemplo, usando um TierFree(Tipo um pacote grátis de uso), mas a curva de aprendizado é grande, AWS é complexa e precisa ter domínio básico do que quer fazer lá.
Fora isso, se tiver "bala na agulha", contrate uma consultoria de Penteste(Hacker Ético), para descobrir vulnerabilidades e aplicar correções para se proteger desse tipo de ataque.
E nunca se esqueça: Não há nesse planeta, algo que seja 100% seguro.
Abraço e espero ter ajudado.
Olá vergilSparda! A Azion oferece suporte nativo a ataques DDoS com proteção de escudo (Origin Shield) para seus servidores. https://www.azion.com/pt-br/lp/protecao-contra-ddos-para-sites-aplicacoes-redes/
Verifique se estas soluções utilizadas oferecem proteção DDOS em nivel de infraestrutura e não apenas em nível de software. Pode resolver. Foi o que funcionou para mim.
É uma pena que esteja passando por isso, o TabNews também passou e passa por ataques DDoS.
No nosso caso, nós rejeitamos qualquer conexão que venha de fora do range de IPs da Cloudflare (então se alguém bater direto no IP, vai ser rejeitado). Isto foi implementado aqui:
E fazemos esta conferência no Middleware (que roda na Edge da Vercel):
Assim pelo menos temos algum controle.
Se descobrir formas melhores, por favor, não deixe de vir atualizar esta publicação.
O grátis da Cloudflare é bem limitado! Você pode usar o Tunel da Cloudflare para esconder por um tempo o IP original!
https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel/ Quem sabe a linode tenha tuneis tbm!
Achei interessante esse site https://search.censys.io/ como faz para gente pesquisar pelos dominios? Abraços!