Seu site está sob constante ataque de bots, spammers ou hackers? Dependendo da frequência dos ataques, pode ser aconselhável bloquear o endereço IP do atacante, pois isso pode ter um impacto significativo no seu tráfego e largura de banda.

Todos os planos Kinsta vêm com uma “Ferramenta de Negação de IP” gratuita que bloqueia o acesso ao seu site a partir de um endereço IP específico ou intervalo de endereços IP. Este artigo descreve várias formas de bloquear endereços IP, incluindo a Ferramenta de Negação de IP.

Pronto?

Vamos começar!

Como identificar um endereço IP problemático

O WordPressdinâmicoCMSum , e o PHP processo do trabalhador gera novas páginas, sem cache, quando necessário. Como o processamento dessa solicitação sem cache requer uma quantidade muito maior de recursos de CPU e RAM do que uma solicitação em cache, é possível que uma pessoa maliciosa envie um grande número de solicitações e faça com que o servidor pare de responder.

Nestas situações problemáticas, uma forma de reduzir a carga no seu servidor é bloquear o endereço IP ofensivo.

No painel analítico MyKinsta, você pode ver uma lista dos principais endereços IP que acessaram o seu site. “Vá para Análises > Geo & IP e vá até a seção ‘IPs dos principais clientes’.

Lista dos melhores IPs de clientes solicitados
Lista dos melhores IPs de clientes solicitados

Se você vê um endereço IP que faz mais pedidos do que outros endereços IP, digamos 5-10 vezes mais, investigue para ver se esse endereço IP é um bot ou um spammer. A maneira mais fácil de verificar endereços IP maliciosos é usar um verificador de reputação como o CleanTalk ou Spamhaus.

Se o verificador de reputação identificar um endereço IP como um bot ou spammer, a próxima ação que você pode tomar é bloquear o endereço IP em questão. Observe que se o verificador de reputação não listar um endereço IP como malicioso, ele pode simplesmente não ser registrado na base de dados.

Se você suspeitar que o endereço IP em questão está causando o HTTP 502 erro ou que o servidor está afundando completamente, tente bloquear o endereço IP para ver se isso melhora a situação.

Como bloquear um endereço IP usando o MyKinsta

A Ferramenta de Negação de IP no painel MyKinsta  permite-lhe bloquear tanto endereços IP individuais como intervalos de endereços IP sem ter de editar os arquivos de configuração do seu servidor Web. Se você estiver hospedando com Kinsta, recomendamos que você use a ferramenta de negação de IP para bloquear endereços IP.

Para bloquear um endereço IP no MyKinsta, vá para Sites > (Seu Site) > Bloquear IP.

Ferramenta de Rejeição de IP da MyKinsta
Ferramenta de Rejeição de IP da MyKinsta

A seguir, clique no botão ‘Adicionar endereço IP’ no canto superior direito da página.

Adicionar um endereço IP para bloquear
Adicionar um endereço IP para bloquear

Na janela modal “Adicionar endereços IP para bloquear” você pode adicionar endereços IPV4, IPV6 e CIDR (Classless Inter-Domain Routing), para bloquear um intervalo sequencial de endereços IP (por exemplo, 27.0.0.1 a 127.0.0.255). Para gerar um intervalo CIDR válido, recomendamos o uso de uma ferramenta como esta.

Aqui estão alguns exemplos de endereços IP para bloquear

  • Endereço IPV4: 5.140.141
  • Endereço IPV6: 2001:0db8:0a0b:12f0:0000:0000:0000:0000:0001
  • Gama CIDR: 0.0.0.1/32

Depois de adicionar os endereços IP que deseja bloquear, clique no botão “Adicionar Endereços IP”.

Acrescentar um endereço IP à lista de blocos
Acrescentar um endereço IP à lista de bloquieo

Você verá os endereços IP que foram adicionados à sua lista de bloqueio. Nesta página, você pode acessar duas ações ‘Editar’ e ‘Excluir’ da coluna ‘Ações’. Editar’ permite atualizar endereços IP e intervalos. A ação “Eliminar” permite-lhe eliminar os endereços IP bloqueados.

Editar e apagar endereços IP bloqueados
Editar e apagar endereços IP bloqueados

Como bloquear um endereço IP no Cloudflare

Se você é um usuário Cloudflare, você pode bloquear endereços IP e intervalos de IP usando a ferramenta ‘Regras de Acesso IP’ no painel do Cloudflare.

Em seu painel de controle do Cloudflare, vá para Firewall > Ferramentas.

Painel de ferramentas do Cloudflare
Painel de ferramentas do Cloudflare

Para criar uma nova regra de acesso IP, insira um endereço IP, selecione a ação ‘Bloquear’, selecione ‘Este site’ ou ‘Todos os sites na minha conta’ para aplicar a regra a todos os domínios Cloudflare, e clique em ‘Adicionar’.

Adicionando regras de acesso IP
Adicionando regras de acesso IP

As regras de acesso que você adicionou aparecerão na lista de ‘Regras de acesso IP’. Aqui você pode modificar a regra de acesso alterando a ação, adicionando uma nota ou eliminando a regra.

Regras de Acesso IP no Painel de Controle de Nuvens
Regras de Acesso IP no Painel de Controle de Nuvens

Além da ação “Block”, o Cloudflare suporta as ações “Challenge”, “Allow List” e “JavaScript Challenge”. Dependendo do seu propósito, você pode usar essas ações em vez de “Bloquear”.

Bloqueando intervalos de endereços IP, países e ASN no Cloudflare

As regras de acesso IP do Cloudflare suportam não só endereços IP únicos, mas também intervalos de IP, nomes de países e ASNs (Números de Sistema Autónomo).

  • Para bloquear em uma intervalo de IP, especifique um um intervalo CIDR no valor da regra de acesso IP.
  • Para bloquear um país, especifique o código Alfa-2 do país.
  • Para bloquear em um ASN (uma lista de IPs gerenciados por uma única operadora de rede), especifique um ASN começando com ‘AS’.

Como bloquear um endereço IP no Nginx

Se o seu site está hospedado num servidor web Nginx, pode bloquear o endereço IP diretamente nas definições do seu servidor web. Este método não é tão fácil de usar como a ferramenta de negação de IP do MyKinsta ou o método de firewall do MyKinsta para bloquear IPs, mas é a única opção em certas situações.

Para bloquear um endereço IP com Nginx,  servidor SSH no e abrir o arquivo de configuração do Nginx com o editor de texto nano.

nano /etc/nginx/nginx.conf

Bloqueio de um único endereço IP com Nginx

Para bloquear um único endereço IP (IPV4 ou IPV6) no Nginx, use a diretiva deny da seguinte forma:

deny 190.60.78.31;
deny 4b73:8cd3:6f7b:8ddc:d2f9:31ca:b6b1:834e;

Bloqueio de intervalo IP do CIDR com Nginx

Para bloquear um intervalo IP CIDR no Nginx, use a seguinte diretiva:

deny 192.168.0.0/24;

Técnicas avançadas de bloqueio de IP no Nginx

Para bloquear o acesso a um diretório específico (por exemplo, domain.com/secret-directory/), use a seguinte diretiva Nginx:

location /secret-directory/ {
        deny 192.168.0.0/24;
}

A diretiva de deny leva o valor all, o que é útil para bloquear todos os endereços IP para um site. Isto é útil se você quiser bloquear todos os endereços IP do seu site; a deny all; a diretiva é freqüentemente usada em conjunto com a permissão para allow apenas certos endereços IP e bloquear outros.

location /secret-directory/ {
        allow 192.168.0.0/16;
        deny all;
}

Salve a configuração do Nginx e recarregue o Nginx

Quando terminar de editar o arquivo em nano, pressione Ctrl+O para salvar suas alterações e Ctrl+X para sair do nano.

Para ativar a nova regra para bloquear IP, você precisa recarregar a configuração do Nginx com o seguinte comando:

sudo systemctl reload nginx

Como bloquear um endereço IP no Apache

Se o seu site está hospedado no Apache, servidor web você pode bloquear endereços IP diretamente na configuração do servidor web; para bloquear endereços IP no Apache, você precisa usar um arquivo .htaccess. O arquivo .htaccess permite que você aplique regras específicas a um determinado diretório. Para aplicar regras a todo o seu site, você precisa colocar o arquivo .htaccess no diretório raiz do seu site.

Primeiro, SSH no seu servidor, navegue até o diretório raiz do seu site e crie um arquivo .htaccess com o seguinte comando:

touch .htaccess

A seguir, abra o arquivo .htaccess em um editor de texto nano.

nano .htaccess

As regras exatas para bloquear IPs dependem se você está usando o Apache 2.2 ou 2.4, então as regras para ambas as versões estão listadas aqui. Ao editar seu arquivo .htaccess, use as regras que combinam com a versão do Apache em seu site.

Bloqueio de um único endereço IP no Apache

Para bloquear um único endereço IP (IPV4 ou IPV6) no Apache, use a seguinte regra:

# Apache 2.2
order allow, deny
allow 192.168.0.0
deny from all

#Apache 2.4
Require all granted
Require not ip 192.168.0.0

Bloqueio de intervalos IP CIDR com Apache

# Apache 2.2
order allow, deny
allow 192.168.0.0/16
deny from all

#Apache 2.4
Require all granted
Require not ip 192.168.0.0/16

Resumo

Dependendo da configuração do seu site, há diferentes maneiras de bloquear endereços IP para que não cheguem ao seu site. Se você é um usuário Kinsta, recomendamos o uso da ferramenta de negação de IP integrada ao MyKinsta.

Se o seu site não estiver hospedado na Kinsta, recomendamos que o proteja com o Cloudflare, o que lhe permite criar as suas próprias regras de acesso IP para bloquear endereços IP, intervalos, etc. Se você não conseguir configurar o Cloudflare para o seu site, você pode implementá-lo diretamente no seu arquivo de configuração do servidor web com regras para bloquear os IPs.