Em nosso último estudo de caso, mostramos como limpamos um ataque de SEO negativo na Kinsta. Hoje vamos mostrar a você algumas etapas e soluções de problemas que realizamos para interromper um ataque DDoS em um pequeno site WordPress de eCommerce. Os ataques DDoS podem surgir do nada, e os sites menores geralmente são ainda mais vulneráveis, pois não estão preparados para lidar com eles quando acontecem.
Queremos lhe fazer uma pergunta. Se o seu site fosse atacado amanhã, o que você faria? Se não tiver nenhuma ideia, talvez você deva marcar e ler este artigo.
O que é um ataque DDoS?
DDoS é a abreviação em inglês de negação de serviço distribuído. O objetivo principal de um ataque DDoS é simplesmente sobrecarregar seu servidor web e paralisá-lo ou tirá-lo do ar. Um dos aspectos frustrantes desses tipos de ataque é que, em geral, o invasor não ganha nada e, normalmente, nada é hackeado (leia: WordPress Hackeado: O que Fazer Quando seu Site Está com Problemas).
O grande problema com os ataques DDoS é a carga esmagadora associada a eles. Muito provavelmente, você também verá sua largura de banda aumentar em uma quantidade incrível, o que pode lhe custar centenas ou até milhares de dólares. Se estiver em uma hospedagem mais barata ou compartilhada, isso pode facilmente resultar na suspensão da sua conta.
Em 21 de outubro de 2016, ocorreu o maior ataque DDoS (relacionado ao DNS) da História, derrubando grandes empresas como PayPal, Spotify, Twitter, Reddit e eBay. Alguns até o chamaram de DNS Doomsday da internet. Como a web continua a crescer, não é de surpreender que os ataques DDoS estejam aumentando em um ritmo alarmante. Na verdade, segundo os dados fornecidos pela easyDNS, os ataques DDoS ao longo do tempo estão piorando muito. Para muitos sites, pode ser apenas uma questão de tempo até que você seja atingido.
Aqui na Kinsta, geralmente conseguimos evitar mais ataques do que provedores de hospedagem mais baratos, simplesmente devido às precauções de segurança adicionais que temos em vigor, como a implementação do firewall de nível empresarial do Google Cloud Platform. Mas também recomendamos que você utilize empresas que tenham grandes infraestruturas e softwares criados especificamente para impedir ataques DDoS.
Sempre apoiaremos o fato de você deixar os especialistas fazerem o que sabem fazer melhor. O Cloudflare e a Sucuri são duas empresas que recomendamos para usuários de WordPress ou de qualquer tipo de plataforma. Investir em uma proteção decente contra DDoS pode poupar seu tempo, dinheiro e frustração no futuro. Se seu site estiver hospedado na Kinsta, você não precisará passar pelo processo de configuração do Cloudflare ou da Sucuri. Todos os sites hospedados na Kinsta são automaticamente protegidos por nossa integração com o Cloudflare, que inclui um firewall seguro com proteção DDoS gratuita.
Interrompendo um ataque DDoS em um pequeno site de EDD
Neste estudo de caso, tínhamos um pequeno site WordPress de eCommerce que estava executando o Easy Digital Downloads. Normalmente, o site gerava apenas de 30 a 40 MB por dia de largura de banda e algumas centenas de visitantes por dia. Em junho, começou a usar muita largura de banda do nada, sem que o Google Analytics mostrasse qualquer tráfego adicional. O site passou instantaneamente a usar de 15 a 19 GB de transferência de dados por dia! Isso representa um aumento de 4650%. Isso não é bom. E definitivamente não se trata apenas de um pequeno aumento no tráfego de bots. Felizmente o proprietário conseguiu identificar isso rapidamente nas Análises da Kinsta.
Depois de ver o aumento, era importante verificar os registros do servidor para investigar o que estava acontecendo. Esse tipo de coisa pode facilmente sair do controle. Os últimos sete dias mostraram que a página /account/ do site foi solicitada 5.110.00 vezes e produziu um total de 66 GB de tráfego. Isso em um site que normalmente gera pouco mais de 1 GB de dados totais em um mês inteiro. Então, imediatamente soubemos que algo estava acontecendo.
A análise dos 10 principais IPs dos clientes do site nos 7 dias anteriores revelou imediatamente algumas atividades suspeitas. A maioria desses IPs tinha mais de 10.000 solicitações, e eram vários. Lembre-se, este é um site pequeno que deveria receber apenas algumas milhares de solicitações por mês.
Você sempre pode contar com o Google para fornecer dados. Ao inserir alguns dos principais IPs na pesquisa, pudemos ver facilmente que a maioria eram endereços de proxy, o que significa que alguém provavelmente estava querendo ocultar seu tráfego.
Alteração das URLs
A primeira coisa que fizemos foi alterar a URL da página /account/ para algo diferente. Essa é sempre uma boa primeira medida. No entanto, isso só interrompeu o ataque por um curto período de tempo, até que eles descobriram a nova URL. Lembre-se de que, por se tratar de um site de eCommerce, ele deve ter uma página de conta pública.
Obviamente, em um simples blog, alterar a URL de login do WordPress e ocultá-la completamente interromperá muitos desses tipos de ataques, mas isso não funcionaria nesse caso. Chamamos isso de segurança por obscuridade no WordPress.
Tentativas de hacking ou de força bruta?
Outra coisa que você pode confirmar nessas situações é se não se trata de uma tentativa de hacking, o que não era o caso. O WP Security Audit Log é um ótimo plugin para rapidamente monitorar e ver se há tentativas de login inválidas em uma página.
Você também pode verificar seus registros para ver se há alguma ação POST acontecendo em grande quantidade. Esse parecia ser um ataque DDoS clássico, no qual eles simplesmente enviam um monte de tráfego para uma parte do site para tentar sobrecarregá-lo.
Bloqueio de IP
Se você estiver executando em seu próprio servidor, a próxima etapa provavelmente será instalar um plugin de bloqueio de IP ou firewall, como o WordFence. Para sites executados na Kinsta, não recomendamos esse método por alguns motivos.
Em primeiro lugar, os plugins de segurança e firewall podem ter um grande impacto no desempenho, especialmente os recursos de escaneamento. Em segundo lugar, utilizamos balanceadores de carga com o Google Cloud Platform, o que significa que, na maioria das vezes, a funcionalidade de bloqueio de IP não funcionaria como pretendido.
Por isso, criamos nossa própria ferramenta. Agora você pode facilmente bloquear endereços IP manualmente usando a ferramenta IP Deny no painel MyKinsta. Ou você sempre pode entrar em contato com nossa equipe de suporte, pois também oferecemos bloqueio geográfico.
No entanto, dependendo do tamanho e da escala do ataque, pode ser um processo interminável colocar IPs na lista negra, o que, na maioria dos casos, não resolve o problema com rapidez suficiente. Muitos ataques DDoS, quando bloqueados em uma área, simplesmente aparecem em outra, ou mudam os IPs e os endereços de proxy.
Portanto, nesse caso, faz sentido aproveitar uma solução de DDoS que ajude a automatizar o processo com suas regras já incorporadas, compiladas a partir de anos de dados.
Mover o site para o Cloudflare não ajudou
Muitas vezes o Cloudflare faz um bom trabalho ao interromper algum tráfego básico de bots, mas quando se trata do plano gratuito, sua proteção contra DDoS não é das melhores. De fato, mudamos o site para o Cloudflare e isso resultou em um tráfego ainda mais suspeito no site.
Porém, acreditamos que isso se devia simplesmente ao fato de o ataque ter aumentado seus esforços. Como pode ver abaixo, o site estava chegando ao ponto de receber quase 50.000 solicitações por hora. A parte do CDN funciona muito bem, mas se você precisar de mais, provavelmente terá de pagar.
Então, implementamos a limitação de taxa (“Rate limiting”) no site. Ela permite criar tráfego baseado em regras que corresponda a uma URL e, em seguida, o bloqueie ou limite com base na atividade. Isso pode ser ativado no plano gratuito e custa US$ 0,05 por 10.000 solicitações. No entanto, no ritmo em que estávamos vendo as solicitações, seriam cerca de 36 milhões de solicitações por mês, o que, por si só, custaria US$ 180 por mês. Assim, obviamente essa não era a solução para resolver o problema. E, sim, tentamos todos os tipos de regras de padrão.
Observação: o Rate Limiting é cobrado com base no número de solicitações boas (não bloqueadas) que correspondem às regras definidas por você em todos os seus sites. Mas, nesse caso, isso não estava funcionando.
A próxima etapa, que já sabíamos que estava chegando, foi procurar um firewall de aplicativos web real. Muitos usuários não sabem disso, mas o plano gratuito do Cloudflare não inclui esse recurso. E isso é quase obrigatório para impedir ataques DDoS hoje em dia. Portanto, a próxima opção seria fazer o upgrade para o plano Pro do Cloudflare por US$ 20/mês. No entanto, aqui você deve dedicar algum tempo para comparar com outras soluções de terceiros.
Comparando Cloudflare com Sucuri
Em nossa opinião, duas das melhores soluções que existem atualmente para firewalls de aplicativo web e que são fáceis de implementar para qualquer tipo de site são o Cloudflare e a Sucuri. No entanto, se você realmente analisar essas soluções, verá que a Sucuri talvez seja muito mais vantajosa pra você (se o seu site não estiver hospedado na Kinsta). Vamos dar uma olhada, já que ambos têm planos de US$ 20/mês.
Cloudflare
Com o plano Pro do Cloudflare, você só obtém proteção avançada contra DDoS nas Camadas 3 e 4 (leia mais sobre ataques DDoS nas camadas 3 e 4). Isso ajudará a interromper automaticamente os ataques TCP SYN, UDP e ICMP em seus servidores de edge, para que nunca cheguem ao seu servidor de origem.
Para obter a proteção de camada 7, você precisa fazer upgrade para o plano de US$ 200/mês. Lembre-se de que este é um site de eCommerce muito pequeno, portanto, US$ 200/mês seria bastante caro, além das taxas de hospedagem.
Sugestão de leitura: Como Configurar o Cloudflare APO para WordPress.
Todos os sites na Kinsta são equipados com uma integração gratuita com o Cloudflare, que inclui um CDN habilitado para HTTP/3 de alto desempenho e um firewall de nível empresarial com proteção DDoS integrada. Ao contrário de outros provedores de hospedagem que cobram taxas exorbitantes por certificados SSL, a Kinsta oferece certificados SSL gratuitos de nível empresarial com suporte para domínios wildcard através do Cloudflare.
O melhor de tudo é que nossa integração com o Cloudflare não exige que você tenha sua própria conta no Cloudflare. Isso significa que você pode aproveitar a velocidade e a segurança adicionais sem ter que se inscrever e gerenciar outro serviço de assinatura mensal.
Como parte de nossa integração com o Cloudflare, o Edge Caching salva o cache do seu site/página da Kinsta em qualquer um dos 260+ centros de dados da rede global do Cloudflare.
O Edge Caching está incluído gratuitamente em todos os planos da Kinsta, não requer um plugin separado e reduz o tempo necessário para servir HTML WordPress em cache em uma média de mais de 50%!
Sucuri
Com o plano de US$ 20/mês da Sucuri, você obtém proteção avançada contra DDoS nas camadas 3 e 4, juntamente com a camada 7. Isso ajuda a detectar automaticamente mudanças repentinas no tráfego e protege contra inundações de POST e ataques baseados em DNS, para que nunca cheguem ao seu servidor de origem. Portanto, logo de cara, você provavelmente verá uma melhor mitigação de DDoS com a Sucuri. E, nesse caso, queríamos a camada 7 para ataques de inundação HTTP.
Um ataque de inundação de HTTP é um tipo de ataque de aplicação da camada 7 que utiliza as solicitações GET/POST válidas padrão usadas para buscar informações, como em recuperações típicas de dados de URL (imagens, informações etc.) durante sessões SSL. Uma inundação de HTTP GET/POST é um ataque volumétrico que não usa pacotes malformados, falsificação ou técnicas de reflexão. – Sucuri
A Sucuri também oferece balanceador de carga em seu plano de US$ 70/mês, enquanto o Cloudflare tem várias taxas associadas a diferentes aspectos do seu recurso de balanceamento de carga, como preços baseados no uso, se você deseja balanceamento de carga geográfica, etc.
Ambos têm recursos semelhantes, como a possibilidade de adicionar desafios a determinadas páginas, colocar IPs na lista negra, etc. Entretanto, no que diz respeito à proteção contra DDoS, a Sucuri oferece mais. Também gostamos muito da interface do usuário de lista negra de IPs da Sucuri e de como certas coisas são configuradas em comparação com o Cloudflare.
E lembre-se, nenhuma empresa pode prometer a você 100% de proteção contra DDoS; tudo o que podem fazer é ajudar a mitigá-lo automaticamente.
Transferindo o site para a Sucuri
Mover seu site para a Sucuri é muito fácil. Assim como o Cloudflare, tecnicamente não há nada que você precise instalar, pois ela atua como um serviço de proxy completo. Isso significa que você está apontando seu DNS para eles, e eles estão apontando para o seu provedor de hospedagem. Basicamente, o firewall de aplicativos web (ou WAF) fica no meio.
Em nossa opinião, o painel de controle deles não é tão chamativo ou moderno quanto o do Cloudflare, mas quando se trata de um WAF, você deve se preocupar apenas com o seu bom funcionamento. Como você pode ver abaixo, basicamente ele detecta o seu IP de hospedagem atual e fornece a você um IP de firewall. É para ele que você aponta seu DNS (registro de nome A + registro AAAA).
Você pode começar a trabalhar com a Sucuri em questão de minutos. O que é bom no caso de um ataque DDoS em curso. O único tempo de espera é realmente a propagação de DNS. Eles também incluem um CDN Anycast HTTP/2. Portanto, ele é mais do que apenas um firewall. Também pode ajudar a acelerar seu site WordPress. Mas você também pode usar opcionalmente seu próprio CDN, como a KeyCDN com a Sucuri.
Eles incluem um certificado SSL gratuito com o Let’s Encrypt, ou você pode carregar o seu próprio. Uma desvantagem é que o Let’s Encrypt não é automatizado, e você precisa abrir um tíquete. Mas o processo do certificado SSL personalizado é rápido.
Outra dica de desempenho é que você talvez queira habilitar a opção de cache do site. Isso privilegiará o cache do seu servidor de origem em vez de usar o da Sucuri. É provável que você já tenha configurado o cache no seu provedor de WordPress da maneira que deseja.
Opções avançadas de segurança
Na tela de segurança, você pode bloquear facilmente todo o tráfego de XML-RPC, bots agressivos, habilitar cabeçalhos de segurança adicionais, como HSTS, e muito mais. Observação: o tráfego XML-RPC já estava bloqueado nesse site específico.
Visualização em tempo real
Uma coisa da qual realmente gostamos foi a visualização da proteção contra DDoS em tempo real. Você pode entrar facilmente nela e ver um registro completo das solicitações atuais. Com um clique, você pode colocar na lista negra ou na lista de permissões qualquer coisa suspeita, e ela até mesmo lhe dará um motivo se a solicitação já tiver sido bloqueada.
Outros relatórios úteis
Há muitos outros relatórios úteis, como o gráfico de ataques bloqueados. Isso permite que você veja rapidamente uma porcentagem dos tipos de ataques que estão sendo bloqueados, inclusive ataques DDoS. Alguns outros gráficos nessa janela incluem o tráfego por tipo de navegador, dispositivos e códigos de resposta HTTP.
O gráfico de tráfego médio por hora é útil para você ver quando são os horários de pico do seu tráfego e a proporção de solicitações que estão sendo bloqueadas.
A tabela de tráfego por país pode ajudar você a determinar se algo está vindo de uma localização geográfica específica. Nos controles de acesso, você pode facilmente bloquear um país inteiro temporariamente com um único clique.
Outros recursos no Controle de Acesso incluem a capacidade de colocar IPs e caminhos na lista de permissões (whitelist) ou na lista de bloqueio (blacklist), bloquear user-agents, bloquear cookies, bloquear referenciadores HTTP e também proteger uma determinada página com um captcha, autenticação de dois fatores ou uma senha simples.
A Sucuri ajudou o nosso pequeno site WordPress de eCommerce? Na verdade, uma hora depois que o DNS terminou de se propagar, toda a largura de banda e as solicitações caíram instantaneamente no site (como visto abaixo) e não houve um único problema desde então. Portanto, definitivamente é um bom investimento e uma economia de tempo se você estiver enfrentando problemas como esses.
E veja aqui o estado do site um pouco depois da mudança para a Sucuri. Como você pode ver, agora voltou aos 30-40 MB originais de transferência de dados por dia.
Mesmo que você não esteja sendo atacado, talvez queira apenas uma maneira mais fácil de evitar que bots roubem a largura de banda do seu provedor.
Se você já tentou outras soluções, talvez possa experimentar a Sucuri. E não nos entenda mal, o Cloudflare ainda é uma ótima solução para muitos sites, de forma que o recomendamos para a maioria dos nossos clientes. Seus planos pagos mais altos, de US$ 200/mês, provavelmente também teriam mitigado o ataque sem problemas. No entanto, é sempre bom conhecer outras soluções disponíveis. Especialmente se você tiver um orçamento limitado.
Resumo
Esperamos que as informações acima forneçam a você um pouco mais de conhecimento sobre como impedir um ataque DDoS. É claro que essa é apenas uma das muitas maneiras de abordar a situação. Mas se você já estiver em “modo pânico”, geralmente a migração para o Cloudflare ou a Sucuri pode fazer você voltar a ter um funcionamento suave quase na mesma hora.
Se você estiver apenas tentando economizar dinheiro com largura de banda dos bots de spam, um firewall de aplicativos web também pode ser uma solução muito eficaz.
O que você acha do Cloudflare comparado à Sucuri? Além disso, você gosta de ver esses estudos de caso com dados reais? Se sim, deixe-nos saber sua opinião abaixo, pois isso nos ajuda a decidir que tipo de conteúdo devemos publicar no futuro.
Deixe um comentário