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:

  1. Creare un file denominato block-offending-ips.conf sul server.

  2. 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:

    1. 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 se remoteip_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>
      
    2. 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 di mod_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>
      
  3. Rilasciare il file block-offending-ips.conf nella cartella /etc/conf.d del server Web Apache.

  4. Riavvia il server HTTP Apache.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f