Come bloccare gli indirizzi IP a livello di server HTTP Apache?

Scopri come bloccare gli indirizzi IP a livello di server HTTP Apache. Crea un file .conf con gli IP da bloccare nella cartella /etc/conf.d del server web Apache.

Descrizione description

Ambiente

Adobe Experience Manager

Problemi/Sintomi

Il nostro sito sta sperimentando un attacco di denial of service, spam o hacking. Come bloccare gli indirizzi IP a livello di server HTTP Apache (AEM Dispatcher)?

Risoluzione resolution

La maggior parte dei firewall per applicazioni web (WAF), ad esempio mod security, può contenere elenchi Bloccati di indirizzi IP. Tuttavia, se desideri bloccare gli IP mentre è in esecuzione il server HTTP Apache, segui immediatamente la procedura (non applicabile in AEM as a Cloud Service):

  1. Crea 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:
    A. 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. Tieni presente che questa configurazione non si applica se è configurato remoteip_module.

    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
    

    B. In alternativa, se l'utente remoto accede direttamente ad Apache o si utilizza remoteip_module (vedere [ 1] di seguito) per estrarlo e impostarlo all'interno di Apache, è possibile utilizzare direttamente la funzione 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] modulo_remoteip

    code language-none
    # Extract true client IP from header added by load balancer/CDN
        IfModule remotetip module
        # valid for ELB or ELB+CloudFront
        RemoteIPHeader X-Forwarded-For
        IfModule
    
  3. Rilascia 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