Tutorial - Como bloquear o acesso ao meu site para alguns endereços IP através de um ficheiro .htaccess ?

Bases de conhecimento

Tutorial - Como bloquear o acesso ao meu site para alguns endereços IP através de um ficheiro .htaccess ?


Icons/System/eye-open Created with Sketch. 1419 visualizações 14.03.2024 Web / Alojamento web
Informações sobre a tradução

Esta tradução foi automaticamente gerada pelo nosso parceiro SYSTRAN. Em certos casos, poderão ocorrer formulações imprecisas, como por exemplo nomes de botões ou detalhes técnicos. Recomendamos que consulte a versão inglesa ou francesa do manual, caso tenha alguma dúvida. Se nos quiser ajudar a melhorar esta tradução, clique em "Contribuir" nesta página.

Objetivo

Este tutorial tem como objetivo ajudá-lo a proteger o acesso aos seus websites da rede externa, a prevenir ou corrigir eventuais intrusões ou tentativas de ataques DDoS (ataques de negação de serviço).

Pode realizar isto graças a um ficheiro ".htaccess", um ficheiro de texto específico, detetado pelo servidor web (Apache), e que permite definir regras especiais num diretório e no conjunto dos seus sub-diretórios.

Pode criar vários ficheiros ".htaccess" no espaço FTP do seu alojamento, mas *um só por diretório ou sub-diretório para evitar conflitos entre diferentes ficheiros ".htaccess".

Descubra como bloquear o acesso ao seu site para certos endereços IP através de um ficheiro ".htaccess".

A OVHcloud disponibiliza serviços cuja configuração, gestão e responsabilidade lhe incumbem. Assim, deverá certificar-se de que estes funcionam corretamente.

Este manual fornece as instruções necessárias para realizar as operações mais habituais. No entanto, se encontrar dificuldades, recomendamos que recorra a um fornecedor especializado. Não poderemos proporcionar-lhe assistência técnica. Para mais informações, aceda à secção Quer saber mais? deste manual.

Requisitos

Instruções

O ficheiro ".htaccess" pode ser colocado em vários dossiês diferentes, respeitando a regra de um único ficheiro ".htaccess" por dossier ou sub-dossier.

Os parâmetros definidos por um ficheiro ".htaccess" aplicam-se ao diretório onde está instalado, bem como a todos os seus sub-diretórios.

Para editar (ou criar) estes diretórios, aceda ao espaço FTP do seu alojamento. Caso seja necessário, consulte o guia "Aceder ao meu espaço de armazenamento".

Bloquear um IP, uma gama de IP, um domínio ou todos os IP de um País

Existem várias regras para bloquear os acessos ao seu alojamento através do ".htaccess".
Esteja atento à sintaxe e aos parâmetros que bloqueia para não ficar bloqueado durante a consulta dos seus websites e/ou scripts alojados.
Em caso de erro, pode aceder ao espaço FTP do alojamento para corrigir a situação.

Os alojamentos partilhados funcionam atualmente com Apache 2.4. Desde a versão Apache 2.3, foram implementadas variáveis e a sintaxe de redação das restrições/autorizações de acesso evoluiu.

Uma vez que a antiga sintaxe é muito utilizada, ela ainda está ativa nas nossas infraestruturas. No entanto, é considerada obsoleta por Apache e poderá em breve deixar de estar disponível. Neste tutorial, encontrará exemplos que detalham as duas sintaxe.

Para mais pormenores sobre a nova sintaxe, pode consultar as seguintes páginas oficiais:

Bloquear um IP

Para bloquear um endereço IP específico, insira um dos dois códigos seguintes no seu ficheiro ".htaccess":

Deny from IP_address
<RequireAll>
Require all granted
Require not ip IP_address
</RequireAll>
  • Exemplo : se pretender bloquear o endereço IP 203.0.113.0, deverá escrever um dos dois códigos seguintes:
Deny from 203.0.113.0
<RequireAll>
Require all granted
Require not ip 203.0.113.0
</RequireAll>

Bloquear uma gama de endereços IP

Para bloquear um intervalo de endereços IP, insira um dos dois códigos seguintes no seu ficheiro ".htaccess":

Deny from IP_range
<RequireAll>
Require all granted
Require not ip IP_range
</RequireAll>
  • Exemplo : se pretender bloquear todos os IPs em 203.0.113.x, deverá escrever um dos dois códigos seguintes:
Deny from 203.0.113
<RequireAll>
Require all granted
Require not ip 203.0.113
</RequireAll>

Bloquear um domínio

Alguns domínios podem aceder ao seu alojamento através de reencaminhamentos ou pedidos.

Para bloquear um domínio, insira um dos dois códigos seguintes no seu ficheiro ".htaccess":

Deny from domain
<RequireAll>
Require not host domain
</RequireAll>
  • Exemplo : se pretender bloquear o domínio domain.tld, deverá escrever um dos dois códigos seguintes:
Deny from domain.tld
<RequireAll>
Require not host domain.tld
</RequireAll>

Bloquear os endereços IP de um país

Todos os endereços IP (nomeadamente os endereços IP públicos) dispõem de uma geolocalização à escala de um país. Isto permite obter uma visão geral da proveniência dos fluxos de um IP e identificar fisicamente o IP.

O ".htaccess" permite, graças a este elemento, bloquear o conjunto dos IPs geolocalizados num país. Por outras palavras, todas as pessoas que tentem visitar o seu site a partir deste país serão bloqueadas (a menos que utilizem uma ligação VPN com um IP geolocalizado noutro país).

Os bloqueios através do ".htaccess" efetuam-se através dos "Country Codes" de duas letras (Norma ISO 3166-1 alpha2) dos países.

Vários sites listam os países e os respetivos "Country Codes", entre os quais https://www.iban.com/country-codes (independente da OVHcloud).

Para bloquear o conjunto dos IPs de um país, insira um dos dois códigos seguintes no seu ficheiro ".htaccess":

SetEnvIf GEOIP_COUNTRY_CODE Country_Code BlockCountry
Deny from env=BlockCountry

A colocar no topo do seu ".htaccess"

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(Country_Code)$
RewriteRule ^(.*)$ - [F,L]
  • Exemplo : Se pretender bloquear os endereços IP geolocalizados nas Fiji (FJ) e na Gronelândia (GR), deverá escrever um dos dois códigos seguintes:
SetEnvIf GEOIP_COUNTRY_CODE FJ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE GR BlockCountry
Deny from env=BlockCountry

A colocar no topo do seu ".htaccess"

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(FJ|GR)$
RewriteRule ^(.*)$ - [F,L]

Para autorizar apenas alguns endereços IP, uma gama de endereços IP ou o conjunto de endereços IP de um país

Em vez de restringir o acesso a um ou vários IP e deixar os outros aceder ao seu alojamento, pode efetuar o contrário bloqueando o conjunto dos IP e autorizando apenas um ou vários IP a aceder ao seu serviço.

Autorizar um ou vários endereços IP

Para autorizar apenas um IP a aceder ao seu serviço, insira um dos dois códigos seguintes no seu ficheiro ".htaccess":

order deny,allow
deny from all
Allow from IP_address
Require ip IP_address
  • Exemplo : se pretender autorizar apenas o acesso ao seu alojamento aos IPs 203.0.113.0 e 203.0.113.1, deverá escrever um dos dois códigos seguintes:
order deny,allow
deny from all
Allow from 203.0.113.0
Allow from 203.0.113.1
Require ip 203.0.113.0 203.0.113.1
Autorizar uma gama de endereços IP

Para autorizar um intervalo de endereços IP a aceder ao seu serviço, insira um dos dois códigos seguintes no seu ficheiro ".htaccess":

order deny,allow
deny from all
Allow from IP_range

A colocar no topo do seu ".htaccess"

Require ip IP_range
  • Exemplo : se pretender autorizar apenas o acesso ao seu alojamento ao intervalo de endereços IP 203.0.113.x, deverá escrever um dos dois códigos seguintes:
order deny,allow
deny from all
Allow from 203.0.113

A colocar no topo do seu ".htaccess"

Require ip 203.0.113
Autorizar o conjunto dos endereços IP de um país

Para autorizar o acesso ao seu serviço a todos os endereços IP de um país, insira um dos seguintes códigos no seu ficheiro ".htaccess":

order deny,allow
deny from all
SetEnvIf GEOIP_COUNTRY_CODE Country_Code AllowCountry
Allow from env=AllowCountry

A colocar no topo do seu ".htaccess"

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(Country_Code)$
RewriteRule ^(.*)$ - [F,L]
  • Exemplo : Se pretender autorizar apenas o acesso ao seu alojamento pelas Fiji (FJ) e pela Gronelândia (GR), deverá escrever um dos dois códigos seguintes:
order deny,allow
deny from all
SetEnvIf GEOIP_COUNTRY_CODE FJ AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE GR AllowCountry
Allow from env=AllowCountry

A colocar no topo do seu ".htaccess"

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(FJ|GR)$
RewriteRule ^(.*)$ - [F,L]

Complementos no ficheiro ".htaccess"

Independentemente da segurança do acesso geral ao alojamento, o ficheiro ".htaccess" permite realizar outras ações. Encontrará a seguir outros três tutoriais da OVHcloud sobre o assumpto:

Quer saber mas?

Para serviços especializados (referenciamento, desenvolvimento, etc), contacte os parceiros OVHcloud.

Se pretender usufruir de uma assistência na utilização e na configuração das suas soluções OVHcloud, consulte as nossas diferentes ofertas de suporte.

Fale com nossa comunidade de utilizadores.