# As imagens do seu site WordPress pode ter um malware! Aprenda como remover e prevenir

## Introdução

Eu poderia listar vários pontos negativos do WordPress, mas não dá para criticar **uma ferramenta que ajuda tantas pessoas** a realizar seus sonhos. Então, vamos deixar isso para outro dia.

**O maior problema do WordPress são seus usuários**, muitas vezes agências ou pessoas inexperientes de outras áreas. Isso é um sinal de sucesso da ferramenta, mas também resulta em muitos **incidentes de infecção por malwares e perda de dados**.

**Os malwares costumam ser obfuscados e camuflados entre os arquivos legítimos do WordPress**. Neste post, vou mostrar como identificar esses arquivos maliciosos e evitar que eles sejam injetados no seu site.

1. ## Faça uma busca por scripts maliciosos entre as mídias do seu site
    
    Abra o terminal do seu servidor e execute o seguinte comando:
    

```bash
find wp-content/uploads/ -type f \( -name "*.php" \)
```

Este comando utiliza a ferramenta `find` do Linux para buscar arquivos ou pastas. Se você estiver utilizando o cPanel ou alguma ferramenta similar, pode ser ainda mais fácil, bastando utilizar a barra de pesquisa de diretórios.

Se for encontrado algum arquivo com a extensão `.php` pode ter certeza de que é um **script malicioso**, então basta usar o comando `rm` para remover. No entanto, **certifique-se de que ele está entre as imagens**.

2. ## Faça o bloqueio preventivo a scripts maliciosos
    

Uma das técnicas mais utilizadas nessas infecções é a proliferação do vírus através de requisições nesses scripts. Ou seja, o atacante injeta um script que cria mais dois ao ser executado. Nesse caso, a melhor prevenção é **bloquear esse tipo de requisição nas pastas onde você sabe que esses arquivos não deveriam estar**. A seguir, vou mostrar como fazer isso de duas formas.

### Bloqueando scripts maliciosos entre as imagens do Wordpress através do Proxy Reverso (Nginx)

Se você ainda não sabe como funciona um proxy reverso, leia o meu post [Proxy x Proxy Reverso. Entenda de uma vez por todas a diferença](https://blog.ricardotenv.dev/proxy-x-proxy-reverso-entenda-de-uma-vez-por-todas-a-diferenca).

```nginx
server {
    listen 80;
    server_name exemplo.com;

    location /wp-content/uploads {
        # Bloqueia arquivos .php
        if ($request_uri ~* \.(php)$) {
            return 403;  # Retorna erro 403 Forbidden
        }

        proxy_pass http://backend_servidor;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
```

Não esqueça de reiniciar o Nginx para aplicar a nova regra:

```bash
sudo systemctl restart nginx
```

### Bloqueando scripts maliciosos entre as imagens do Wordpress através do Cloudflare.

O **Cloudflare** é uma plataforma que melhora a segurança e o desempenho de sites e aplicações online, protegendo contra **ataques DDoS** e otimizando a velocidade com caching e uma rede de distribuição de conteúdo (CDN). Ele também oferece **firewall** e **proteção contra bots**, garantindo mais segurança e eficiência para sites e APIs.

Vamos utilizar de uma dessas ferramentas para **prevenir a injeção de scripts maliciosos dentro das imagens do seu site**.

Ao entrar no painel do seu domínio, no menu lateral esquerdo, vá em **Security** → **WAF** → **Custom rules** e adicione a seguinte regra:

```bash
(http.request.uri.path contains "/wp-content/uploads/" and ends_with(http.request.uri.path, ".php"))
```

Após isso, sempre que o atacante tentar acessar o endpoint que executa o script injetado, ele verá uma tela como esta:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1728562475484/6a0fab2a-5b8e-4719-afb4-daa6a7b863fe.png align="center")

## Conclusão

**Proteger seu site WordPress contra malwares** é uma tarefa contínua, especialmente com a facilidade com que esses scripts maliciosos podem se esconder entre as mídias. Ao seguir os passos deste post, você estará garantindo que seu site fique mais seguro, **bloqueando vulnerabilidades comuns**. Não se esqueça: a segurança é uma maratona, não uma corrida de 100 metros. Continuar monitorando e adotando boas práticas vai fazer toda a diferença para evitar futuras infecções. Afinal, ninguém quer um site comprometido, certo? 💻🔒
