¿Cómo se bloquean las direcciones IP a nivel de servidor HTTP de Apache?

Descripción

Entorno
Adobe Experience Manager

Problema
Cuando su sitio está experimentando un ataque de denegación de servicio (DoS), spam o siendo hackeado, ¿cómo bloquea las direcciones IP a nivel de Apache HTTP Server (AEM Dispatcher)?

Resolución

Solución
La mayoría de los Firewalls de aplicaciones web (WAF), como mod security, pueden listas de bloqueados de direcciones IP.
Sin embargo, si está ejecutando el servidor HTTP Apache y desea bloquear las IP inmediatamente, siga estos pasos:

  1. Crear un archivo con el nombre block-offending-ips.conf en su servidor.

  2. Abra el archivo en un editor y agregue una directiva de ubicación que impida que todas las IP ofensivas accedan a las direcciones URL que desee bloquear.  Hay dos opciones para el contenido del archivo a continuación:

    1. Si la solicitud se procesa como proxy (a través de CDN, Load Balancer, etc.) y la IP del usuario remoto solo está en un encabezado como X-Forwarded-For a continuación, se puede utilizar esta configuración.  Tenga en cuenta que esta configuración no se aplica si la variable remoteip_module está configurado.  

      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. Alternativamente, si el usuario remoto está accediendo directamente a Apache o está utilizando remoteip_module (consulte 1) para extraerlo y configurarlo en Apache, puede utilizar mod_authz_core's Requerir directamente (Apache 2.4):

      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

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

  4. Reinicie el servidor HTTP de Apache.

En esta página