Bloccare gli indirizzi IP a livello di server HTTP Apache
La maggior parte dei firewall per applicazioni web (WAF) può contenere elenchi Bloccati di indirizzi IP. Tuttavia, se desideri bloccare immediatamente gli IP mentre è in esecuzione il server HTTP Apache, segui i passaggi descritti nell’articolo per creare un elenco di accesso o utilizzare la funzione Require
di Apache.
Descrizione description
Ambiente
Adobe Experience Manager (AEM)
Problema
Quando il sito riceve un attacco Denial of Service (DoS), spam o hacking, come si bloccano gli indirizzi IP a livello di server HTTP Apache (AEM Dispatcher)?
Risoluzione resolution
Soluzione
La maggior parte dei firewall per applicazioni web (WAF), ad esempio mod security, può contenere elenchi Bloccati di indirizzi IP.
Tuttavia, se desideri bloccare immediatamente gli IP mentre è in esecuzione il server HTTP Apache, procedi come segue:
-
Creare un file denominato
block-offending-ips.conf
sul server. -
Apri il file in un editor e aggiungi un’istruzione sulla posizione che impedisca a tutti gli IP offensivi di accedere agli URL che desideri bloccare. Sono disponibili due opzioni per il contenuto del file:
-
Se la richiesta è attivata come proxy (tramite CDN, Load Balancer, ecc.) e l'IP dell'utente remoto si trova solo in un'intestazione come
X-Forwarded-For
, è possibile utilizzare questa configurazione. Si noti che questa configurazione non è applicabile seremoteip_module
è configurato.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>
-
In alternativa, se l'utente remoto accede direttamente ad Apache o si utilizza remoteip_module (vedere
[
1]
) per estrarlo e impostarlo all'interno di Apache, è possibile utilizzare direttamente la funzionalità Require dimod_authz_core
(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>
-
-
Rilasciare il file
block-offending-ips.conf
nella cartella/etc/conf.d
del server Web Apache. -
Riavvia il server HTTP Apache.