Como bloquear endereços IP no nível do Apache HTTP Server
A maioria dos firewalls de aplicações web (WAF) pode conter listas de bloqueios de endereços IP. No entanto, se você estiver executando o Apache HTTP Server e quiser bloquear os IPs imediatamente, siga as etapas do artigo para criar uma lista de acesso ou usar o recurso Require
do Apache.
Descrição description
Ambiente
Adobe Experience Manager (AEM)
Problema
Quando o site está enfrentando um ataque de negação de serviço (DoS), spam ou sendo hackeado, como você bloqueia endereços IP no nível do Apache HTTP Server (AEM Dispatcher)?
Resolução resolution
Solução
A maioria dos firewalls de aplicações web (WAF), como segurança mod, pode conter listas de bloqueios de endereços IP.
No entanto, se você estiver executando o Apache HTTP Server e quiser bloquear IPs imediatamente, siga estas etapas:
-
Crie um arquivo com o nome
block-offending-ips.conf
no servidor. -
Abra o arquivo em um editor e adicione uma diretiva de localização que impeça todos os IPs ofensivos de acessar os URLs que você deseja bloquear. Há duas opções para o conteúdo do arquivo abaixo:
-
Se a solicitação for enviada por proxy (via CDN, Balanceador de carga etc.) e o IP do usuário remoto estiver somente em um Cabeçalho como
X-Forwarded-For
, essa configuração poderá ser usada. Observe que essa configuração não se aplica se oremoteip_module
estiver configurado.code language-none <LocationMatch "/.*"> Order Allow,Deny Allow from all SetEnvif X-Forwarded-For "10\.42\.137\.123" DenyAccess SetEnvif X-Forwarded-For "122\.6\.218\.101" DenyAccess #Repeat the "SetEnvlf X-Forwarded-For ..." for each IP you want to block Deny from env=DenyAccess </LocationMatch>
-
Como alternativa, se o usuário remoto estiver acessando diretamente o Apache ou se você estiver usando remoteip_module (consulte
[
1]
) para extrair e configurá-lo no Apache, será possível usar o recurso Require demod_authz_core
diretamente (Apache 2.4):code language-none <LocationMatch "/.*"> <RequireAll> Require all granted Require not ip 10.42.137.123 Require not ip 122.6.218.101 #Repeat the "Require not ip ..." for each IP you want to block </RequireAll> ></LocationMatch><
[ 1]
code language-none # Extract true client IP from header added by load balancer/CDN <IfModule remoteip_module> # valid for ELB or ELB+CloudFront RemoteIPHeader X-Forwarded-For </IfModule>
-
-
Solte o arquivo
block-offending-ips.conf
na pasta/etc/conf.d
do Apache Web Server. -
Reinicie o Apache HTTP Server.