Proteja o Nginx de ataques XSS, SQL injection, spam bots, força bruta, e outros com o 7G firewall.
📢 Atualização Importante: Já está disponível a nova versão deste conjunto de regras: o 8G Firewall para Nginx. O 8G traz regras atualizadas contra novos métodos de exploração, padrões modernos de bots e melhorias de desempenho. Recomendamos conferir o novo guia para manter sua proteção em dia.
O 7G firewall nginx é uma ferramenta que ajuda a proteger o seu servidor web Nginx de ataques maliciosos, neste post, vou mostrar como instalar e configurar o 7G firewall nginx no seu servidor.
O 7G firewall oferece uma proteção leve e eficaz no nível do servidor, o que é ótimo para o desempenho, pois evita a necessidade de carregar o PHP, o MySQL e tudo mais apenas para bloquear uma solicitação ruim.
O que é o 7G firewall nginx?
O 7G firewall nginx é uma versão adaptada do 7G firewall original, desenvolvido para servidores Apache.
O 7G firewall consiste em um conjunto de regras que analisam as requisições HTTP e bloqueiam aquelas que contêm padrões suspeitos ou maliciosos. As regras são divididas em categorias, como:
-
Bad Bots: bloqueia bots que tentam explorar vulnerabilidades ou fazer spam
-
Bad Methods: bloqueia métodos HTTP não permitidos ou perigosos
-
Bad Query Strings: bloqueia strings de consulta que contêm caracteres ou palavras-chave maliciosos
-
Bad Referrers: bloqueia referências que vêm de sites maliciosos ou fraudulentos
-
Bad Requests: bloqueia requisições que contêm cabeçalhos, corpos malformados ou inválidos
O 7G firewall nginx protege o seu servidor de ataques como:
- Path Traversal
- HTTP Response Splitting (XSS)
- Cross-Site Scripting
- Cache Poisoning
- Dual-Header Exploits
- SQL/PHP/Code Injection
- File Injection/Inclusion
- Null Byte Injection
- WordPress exploits como revslider, timthumb, fckeditor, etc.
- Exploits como c99shell, phpshell, remoteview, site copier, etc.
- PHP information leakage
Como instalar o 7G firewall nginx?
Para instalar o 7G firewall nginx no seu servidor, você precisa baixar o arquivo ZIP e colocar os arquivos corretamente, veja como fazer:
1. Baixe o arquivo ZIP do 7G firewall nginx no site do Perishable Press e descompacte-o.
Você vai obter dois arquivos: 7g-firewall.conf e 7g.conf, o primeiro contém as regras do firewall e o segundo contém a lógica condicional para aplicá-las.
2. Copie o arquivo 7g-firewall.conf para o diretório /etc/nginx/conf.d/ do seu servidor.
Esse diretório é usado para armazenar arquivos de configuração adicionais do Nginx.
3. Copie o arquivo 7g.conf para dentro da pasta common, caso não exista essa pasta crie com o comando: mkdir /etc/nginx/common
4. Confira se o arquivo de configuração do nginx /etc/nginx/nginx.conf possui a seguinte linha: include /etc/nginx/conf.d/*.conf;
Isso inclui automaticamente todos os arquivos de configuração adicionais no nginx, caso não tenha essa linha, pode adicionar apenas o arquivo necessário com: include /etc/nginx/conf.d/7g-firewall.conf; esse arquivo tem que ficar dentro do bloco http.
5. Agora é preciso adicionar o arquivo 7g.conf apenas dentro do bloco server.
Geralmente esse arquivo com as configurações do bloco server ficam dentro da pasta /etc/nginx/sites-available/meusite e esse arquivo faz link para a pasta /etc/nginx/sites-enabled/meusite
Chegou a hora de reiniciar o nginx para colocar as novas configurações em prática, mas antes é recomendado testar com o comando: nginx -t
# testar com:
nginx -t
# reiniciar com:
sudo service nginx restart
Você pode tentar acessar URLs que contenham padrões maliciosos para ver se elas são bloqueadas pelo firewall e ele está funcionando corretamente.
Alguns testes com requisições inválidas ou maliciosas. Por exemplo, você pode tentar acessar o seu site com os seguintes parâmetros na URL:
-
?eval=
-
?exec=
-
?cmd=
-
?base64_
curl -I https://www.seusite.com.br/?eval=
curl -I https://www.seusite.com.br/?exec=
curl -I https://www.seusite.com.br/?cmd=
curl -I https://www.seusite.com.br/?base64_
Se tudo estiver certo, você deve receber um erro 403 (Forbidden) ou uma página em branco. Isso significa que o firewall bloqueou a requisição e protegeu o seu site.
Adicionar o 7G firewall no Nginx é uma forma simples e eficaz de aumentar a segurança do seu site e evitar problemas com hackers, spammers e bots. No entanto, para novas instalações ou atualizações de servidores, recomendamos migrar diretamente para o 8G Firewall no Nginx.
Utilizando um plugin do wordpress
Caso não tenha acesso às configurações do nginx, o desenvolvedor também criou um plugin para wordpress, Blackhole for Bad Bots By Jeff Starr
