Cómo bloquear direcciones IP en el nivel de servidor HTTP de Apache

Obtenga información sobre cómo bloquear direcciones IP en el nivel de servidor HTTP de Apache. Cree un archivo .conf con las direcciones IP que desea bloquear en la carpeta /etc/conf.d del servidor web Apache.

Descripción description

Entorno

Adobe Experience Manager

Problemas/Síntomas

Nuestro sitio está experimentando un ataque de denegación de servicio, spam o está siendo hackeado. AEM ¿Cómo puedo bloquear direcciones IP en el nivel de servidor HTTP de Apache (Dispatcher)?

Resolución resolution

La mayoría de los firewalls de aplicaciones web (WAF), como Mod Security, pueden generar listas de bloqueados de direcciones IP. Sin embargo, si está ejecutando el servidor HTTP de Apache y desea bloquear direcciones IP inmediatamente, siga estos pasos (AEM no aplicable en el as a Cloud Service de la):

  1. Cree un archivo llamado block-offending-ips.conf en el servidor

  2. Abra el archivo en un editor y agregue una directiva de ubicación que impida que todas las IP ofensivas tengan acceso a las direcciones URL que desee bloquear. A continuación, hay dos opciones para el contenido del archivo:
    A. Si la solicitud se procesa como proxy (a través de CDN, Equilibrador de carga, etc.) y la IP del usuario remoto solo está en un encabezado como X-Forwarded-For, se puede utilizar esta configuración. Tenga en cuenta que esta configuración no se aplica si se ha configurado 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. Como alternativa, si el usuario remoto está accediendo directamente a Apache o está utilizando remoteip_module (consulte [ 1] siguiente) para extraerlo y configurarlo en Apache, puede utilizar el de mod_authz_core Requerir directamente (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] remoteip_module

    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. Coloque el archivo block-offending-ips.conf en la carpeta /etc/conf.d del servidor web Apache.

  4. Reinicie el servidor HTTP de Apache.

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