Fiz uma instalação do aaPanel e estava rodando liso, usando apenas 8% do servidor, mas de ontem para cá começou a usar 100% do CPU e não não é tráfico ou algo que eu esteja usando.
Primeiramente uma observação.
Uma invasão representa que um hacker conseguiu acesso ao sistema. Isso não é motivo para alto uso de recursos.
O alto uso de recursos pode ter várias causas. Desde um plugin ou um ataque DDOs em andamento.
Começa analisando os logs como mostro nesta aula.
Percebi que os logs …site.com_ols.access_log estão crescendo muito rápido, mas são vários ips, será que poderia ser isso ou é somente acesso, já que usa o método GET?
Cada acesso gera um registro no log.
O Get é apenas acesso.
Precisa identificar algo que seja repetitivo e suspeito que geralmente são POSTS (Tentativa de injetar dados) geralmente em cima do xmlrpc.php ou wp-login.php.
Mesmo se não identificar esses acessos recomendaria tomar medias preventivas como instalar e configurar o wp-cerber como mostro nas aulas de segurança do Wordpress e também instalar o Fail2Ban no servidor.
Se for ataque isso provavelmente já vai ajudar muito.
Identifiquei pelo CloudFlare/segurança muitos acessos da India, então bloquiei e deu uma aliviada no servidor, ainda não parece estar normal, mas o site já está rodando liso.
Vou dar uma olhada nessas sugestões.
Tenho o Wordfence grátis, é a mesma coisa do wp-cerber?
Se mais alguém passar por isso, foi isso que fiz para resolver, por enquanto, o problema:
Identifiquei no Cloudflare que tinha muitas requisições da India, através de Segurança/Visão geral.
Com isso, bloqueei endereços da India, no Segurança/WAF
Mas isso não resolveu completamente o problema e depois voltou a consumir 100% do servidor, mesmo não tendo requisições de outros países.
Então, de acordo com o que o Gabriel passou, percebi que nos logs, sempre tinha um caminho de uma url usando o método POST, então bloqueei India + o Caminho.
Criei mais uma regra no firewall do Cloudflare, onde se for diferente do Brasil, onde é a maioria dos meus acessos, precisam resolver o Desafio gerenciado.
Configurei o Fail2Ban
Até o momento parece ter resolvido
Tentei bloquear países através do SYS Firewall do AAPanel, mas para India sempre retorna “Please enter the correct area name!”
DDOS sempre é um problema e precisamos estar alertas com isso.
O CloudFlare tem uma ótima camada de segurança mas também é importante adotar soluções no Wordpress e no servidor.
Minhas recomendações são fail2ban e também Cerber.