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.
Deixa eu tentar dar um contexto melhor de como eu estruturo os servidores atualmente.
. Servidores basicos na Linode utilizando CyberPanel . Não fiz nenhum tipo de configuração adicional relacionado a segurança . Os dominios sao adicionados na Cloudflare e crio um registro A com o IP da Linode . Os sites dos clientes sao sistemas em Laravel
A maioria dos clientes nao tem esse problema com ataques, mas um em especifico esta sendo o alvo principal. Ele ate me disse que o responsavel pelo ataque falou com ele, mostrou uma tela de prompt com o bot que faz o ataque(nao achei mais o print pra anexar aqui), e disse que esta fazendo de proposito para chantagear ele(e algumas outras pessoas com sites similares) e tambem por ele ter um site do mesmo tipo que nao e popular(leia-se: inveja).
Então minha dúvida é, existe uma configuração de segurança que precise ser feita? Com relação a permitir apenas requisições dos IP's da CF, eu acredito que deve ser feito diretamente no Firewall da Linode, mas a questão é sobre quais portas bloquear, pois fico na duvida com relação as portas dos serviços internos: banco de dados(3306), email(443/587) e redis(6379) por exemplo.
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.
Esse é o ponto que eu fico curioso, pois se o atacante achou o IP do servidor, a request não vai passar pela Cloudflare. Como nesse caso você faria um geoblock ou qualquer outro controle do tráfego?