Protección de sitios web de AEM mediante reglas de filtro de tráfico estándar

Aprenda a proteger los sitios web de AEM frente a la denegación de servicio (DoS), la denegación de servicio distribuido (DDoS) y el abuso de bots mediante las reglas de filtro de tráfico estándar recomendadas por Adobeen AEM as a Cloud Service.

Objetivos de aprendizaje

  • Revise las reglas de filtro de tráfico estándar recomendadas por Adobe.
  • Defina, implemente, pruebe y analice los resultados de las reglas.
  • Conozca cuándo y cómo perfeccionar las reglas en función de los patrones de tráfico.
  • Aprenda a utilizar el centro de acciones de AEM para revisar las alertas generadas por las reglas.

Información general sobre la implementación

Los pasos de implementación incluyen los siguientes:

  • Añadir las reglas de filtro de tráfico estándar al archivo /config/cdn.yaml del proyecto WKND de AEM.
  • Confirmar e insertar los cambios en el repositorio de Git de Cloud Manager.
  • Implementar los cambios en el entorno de AEM mediante la canalización de configuración de Cloud Manager.
  • Probar las reglas simulando un ataque DoS con Vegeta
  • Analizar los resultados mediante los registros de CDN de AEMCS y la herramienta del panel de control ELK.

Requisitos previos

Antes de continuar, asegúrese de haber completado los pasos previos necesarios tal como se describe en el tutorial Cómo configurar el filtro de tráfico y las reglas WAF. Además, ha clonado e implementado el proyecto WKND Sites de AEM en su entorno de AEM.

Acciones clave de las reglas

Antes de profundizar en los detalles de las reglas de filtro de tráfico estándar, vamos a conocer las acciones clave que realizan estas reglas. El atributo action de cada regla define cómo debe responder el filtro de tráfico cuando se cumplen las condiciones. Las acciones incluyen las siguientes:

  • Registro: las reglas registran los eventos para la monitorización y el análisis, lo que permite revisar los patrones de tráfico y ajustar los umbrales según sea necesario. Se especifica mediante el atributo type: log.

  • Alerta: las reglas activan alertas cuando se cumplen las condiciones, lo que le ayuda a identificar posibles problemas. Se especifica mediante el atributo alert: true.

  • Bloqueo: las reglas bloquean el tráfico cuando se cumplen las condiciones, lo que impide el acceso al sitio de AEM. Se especifica mediante el atributo action: block.

Revisión y definición de reglas

Las reglas de filtro de tráfico estándar recomendadas por Adobe sirven como capa base para identificar patrones de tráfico potencialmente maliciosos mediante el registro de eventos como el exceso de límites de velocidad basados en IP y el bloqueo del tráfico procedente de países específicos. Estos registros ayudan a los equipos a validar los umbrales y a tomar decisiones fundamentadas para, en última instancia, pasar a las reglas de modo de bloqueo sin interrumpir el tráfico legítimo.

Revisemos las tres reglas de filtro de tráfico estándar que hay que añadir al archivo /config/cdn.yaml del proyecto WKND de AEM:

  • Impedir DoS en el borde: esta regla detecta posibles ataques de Denegación de servicio (DoS) en el borde de la CDN mediante la monitorización de solicitudes por segundo (RPS) desde las direcciones IP del cliente.
  • Impedir DoS en el origen: esta regla detecta posibles ataques de Denegación de servicio (DoS) en el origen mediante la monitorización de las solicitudes de recuperación desde las direcciones IP del cliente.
  • Bloquear países OFAC: esta regla bloquea el acceso desde países específicos que están sujetos a las restricciones de OFAC (Office of Foreign Assets Control).

​1. Impedir DoS en el borde

Esta regla envía una alerta cuando detecta un posible ataque de Denegación de servicio (DoS) en la CDN. El criterio para activar esta regla es cuando un cliente supera las 500 solicitudes por segundo (un promedio de más de 10 segundos) por CDN POP (punto de presencia) en el borde.

Cuenta todas las solicitudes y las agrupa por dirección IP del cliente.

kind: "CDN"
version: "1"
metadata:
  envTypes: ["dev", "stage", "prod"]
data:
  trafficFilters:
    rules:
    - name: prevent-dos-attacks-edge
      when:
        reqProperty: tier
        equals: 'publish'
      rateLimit:
        limit: 500
        window: 10
        penalty: 300
        count: all
        groupBy:
          - reqProperty: clientIp
      action:
        type: log
        alert: true

El atributo action especifica que la regla debe registrar los eventos y activar una alerta cuando se cumplen las condiciones. Por lo tanto, le ayuda a monitorizar los potenciales ataques DoS sin bloquear el tráfico legítimo. Sin embargo, su objetivo es, finalmente, realizar la transición de esta regla al modo de bloqueo una vez que haya validado los patrones de tráfico y ajustado los umbrales.

​2. Evitar DoS en el origen

Esta regla envía una alerta cuando detecta un posible ataque de Denegación de servicio (DoS) en el origen. El criterio para activar esta regla es cuando un cliente supera las 100 solicitudes por segundo (un promedio de más de 10 segundos) por IP de cliente en el origen.

Cuenta las recuperaciones (solicitudes que omiten la caché) y las agrupa por dirección IP del cliente.

...
    - name: prevent-dos-attacks-origin
      when:
        reqProperty: tier
        equals: 'publish'
      rateLimit:
        limit: 100
        window: 10
        penalty: 300
        count: fetches
        groupBy:
          - reqProperty: clientIp
      action:
        type: log
        alert: true

El atributo action especifica que la regla debe registrar los eventos y activar una alerta cuando se cumplan las condiciones. Por lo tanto, le ayuda a monitorizar los potenciales ataques DoS sin bloquear el tráfico legítimo. Sin embargo, su objetivo es, finalmente, realizar la transición de esta regla al modo de bloqueo una vez que haya validado los patrones de tráfico y ajustado los umbrales.

​3. Bloquear países OFAC

Esta regla bloquea el acceso desde países específicos que se encuentran dentro de las restricciones de OFAC.
Puede revisar y modificar la lista de países según sea necesario.

...
    - name: block-ofac-countries
      when:
        allOf:
          - { reqProperty: tier, in: ["author", "publish"] }
          - reqProperty: clientCountry
            in:
              - SY
              - BY
              - MM
              - KP
              - IQ
              - CD
              - SD
              - IR
              - LR
              - ZW
              - CU
              - CI
      action: block

El atributo action especifica que la regla debe bloquear el acceso desde los países especificados. Esto le ayuda a evitar el acceso al sitio de AEM desde regiones que pueden suponer riesgos de seguridad.

El archivo cdn.yaml completo con las reglas anteriores tiene el siguiente aspecto:

Reglas WKND CDN YAML

Implementación de reglas

Para implementar las reglas, siga estos pasos:

  • Confirme e inserte los cambios en el repositorio de Git de Cloud Manager.

  • Implemente los cambios en el entorno de AEM mediante la canalización de configuración de Cloud Manager creada anteriormente.

    Canalización de configuración de Cloud Manager

Comprobación de las reglas

Para comprobar la eficacia de las reglas de filtro de tráfico estándar, tanto en el borde de CDN como en el origen, simule un tráfico elevado de solicitudes alto usando Vegeta, una versátil herramienta de prueba de carga HTTP.

  • Pruebe la regla DoS en el borde (límite de 500 rps). El siguiente comando simula 200 solicitudes por segundo durante 15 segundos, lo que supera el umbral del borde (500 rps).

    code language-shell
    $echo "GET https://publish-p63947-e1249010.adobeaemcloud.com/us/en.html" | vegeta attack -rate=200 -duration=15s | vegeta report
    

    Ataque DoS Vegeta en el borde

    note important
    IMPORTANT
    Observe los códigos de estado de éxito 100 % y 200 en el informe anterior. Como las reglas se establecen en log y alert, las solicitudes no se bloquean, pero se registran para la monitorización, el análisis y las alertas.
  • Pruebe la regla DoS en el origen (límite de 100 rps). El siguiente comando simula 110 solicitudes de recuperación por segundo durante 1 segundo, lo que supera el umbral de origen (100 rps). Para simular solicitudes que omiten la caché, el archivo targets.txt se crea con parámetros de consulta únicos para garantizar que cada solicitud se trate como una solicitud de recuperación.

    code language-shell
    # Create targets.txt with unique query parameters
    $for i in {1..110}; do
      echo "GET https://publish-p63947-e1249010.adobeaemcloud.com/us/en.html?ts=$(date +%s)$i"
    done > targets.txt
    
    # Use the targets.txt file to simulate fetch requests
    $vegeta attack -rate=110 -duration=1s -targets=targets.txt | vegeta report
    

    Ataque DoS Vegeta en el origen

    note important
    IMPORTANT
    Observe los códigos de estado de éxito 100 % y 200 en el informe anterior. Como las reglas se establecen en log y alert, las solicitudes no se bloquean, pero se registran para la monitorización, análisis y alertas.
  • Para simplificar, la regla OFAC no se prueba aquí.

Revisión de las alertas

Las alertas se generan cuando se activan las reglas del filtro de tráfico. Puede revisar estas alertas en el Centro de acciones de AEM.

Centro de acciones de WKND AEM

Análisis de resultados

Para analizar los resultados de las reglas del filtro de tráfico, puede utilizar los registros de CDN de AEMCS y la herramienta del panel de control ELK. Siga las instrucciones de la sección de configuración Ingesta de registros de CDN para ingerir los registros de CDN en la pila ELK.

En la siguiente captura de pantalla, puede ver los registros de CDN del entorno de desarrollo de AEM introducidos en la pila ELK.

Registros de WKND CDN ELK

Dentro de la aplicación ELK, el panel de control de tráfico de CDN debería mostrar el pico en el borde y en el origen durante los ataques DoS simulados.

Los dos paneles, RPS en el borde por IP de cliente y POP y RPS en el origen por IP de cliente y POP, muestran las solicitudes por segundo (RPS) en el borde y el origen respectivamente, agrupadas por IP de cliente y punto de presencia (POP).

Panel de control de tráfico en el borde de CDN de WKND

También puede usar otros paneles del panel de control de tráfico de CDN para analizar los patrones de tráfico, como las IP de clientes principales, los países principales y los agentes de usuarios principales. Estos paneles le ayudan a identificar posibles amenazas y a ajustar las reglas de filtro de tráfico en consecuencia.

Integración de Splunk

Los clientes que tienen habilitado el reenvío de registros de Splunk pueden crear nuevos paneles de control para analizar los patrones de tráfico.

Para crear paneles de control en Splunk, siga los pasos de Paneles de control de Splunk para el análisis de registros CDN de AEMCS.

La siguiente captura de pantalla muestra un ejemplo de un panel de control Splunk que muestra el número máximo de solicitudes en el origen y el borde por IP, lo que puede ayudarle a identificar posibles ataques DoS.

Panel de Splunk: número máximo de solicitudes en el origen y el borde por IP

Cuándo y cómo perfeccionar las reglas

Su objetivo es evitar el bloqueo del tráfico legítimo mientras sigue protegiendo su sitio AEM ante posibles amenazas. Las reglas de filtro de tráfico estándar están diseñadas para alertar y registrar (y finalmente bloquear cuando se cambia el modo) las amenazas sin bloquear el tráfico legítimo.

Para perfeccionar las reglas, siga estos pasos:

  • Monitorizar patrones de tráfico: utilice los registros de CDN y el panel de control ELK para monitorizar los patrones de tráfico e identificar cualquier anomalía o pico en el tráfico.

  • Ajustar umbrales: en función de los patrones de tráfico, ajuste los umbrales (aumente o disminuya los límites de velocidad) de las reglas para que se ajusten mejor a sus requisitos específicos. Por ejemplo, si observa que el tráfico legítimo activó las alertas, puede aumentar los límites de velocidad o ajustar las agrupaciones.
    Consulte la siguiente tabla para obtener instrucciones sobre cómo elegir los valores de umbral:

    table 0-row-2 1-row-2 2-row-2 1-align-left 2-align-left 4-align-left 5-align-left 7-align-left 8-align-left
    Variación Valor
    Origen Tome el valor más alto del número máximo de solicitudes de origen por IP/POP en condiciones de tráfico normales (es decir, no la frecuencia en el momento de un DDoS) y auméntelo por un múltiplo
    Edge Tome el valor más alto del número máximo de solicitudes Edge por IP/POP en condiciones de tráfico normales (es decir, no la frecuencia en el momento de un DDoS) y auméntelo por un múltiplo

    Consulte también la sección Selección de valores de umbral para obtener más información.

  • Pasar a reglas de bloqueo: una vez validados los patrones de tráfico y ajustados los umbrales, debe pasar las reglas al modo de bloqueo.

Resumen

En este tutorial, ha aprendido a proteger los sitios web de AEM frente a la denegación de servicio (DoS), la denegación de servicio distribuida (DDoS) y el abuso de bots mediante las reglas de filtro de tráfico estándar recomendadas por Adobe en AEM as a Cloud Service.

Reglas WAF recomendadas

Aprenda a implementar las reglas WAF recomendadas por Adobe para proteger los sitios web de AEM ante amenazas sofisticadas que utilizan técnicas avanzadas para eludir las medidas de seguridad tradicionales.

Protección de sitios web de AEM mediante las reglas de filtro de tráfico WAF

Protección de sitios web de AEM mediante reglas de filtro de tráfico WAF

Obtenga información sobre cómo proteger los sitios web de AEM frente a amenazas sofisticadas, como DoS, DDoS y el abuso de bots, mediante las reglas de filtro de tráfico WAF (Web Application Firewall) recomendadas por Adobe en AEM as a Cloud Service.

Activar WAF

Casos de uso: más allá de las reglas estándar

En el caso de los escenarios más avanzados, puede explorar los siguientes casos de uso que muestran cómo implementar reglas de filtro de tráfico personalizadas en función de requisitos comerciales específicos:

Monitorización de solicitudes confidenciales

Monitorización de solicitudes confidenciales

Obtenga información sobre cómo monitorizar las solicitudes confidenciales registrándolas mediante reglas de filtro de tráfico en AEM as a Cloud Service.

Más información

Restricción del acceso

Restricción del acceso

Obtenga información sobre cómo restringir el acceso bloqueando solicitudes específicas mediante reglas de filtro de tráfico en AEM as a Cloud Service.

Más información

Normalización de solicitudes

Normalización de solicitudes

Obtenga información sobre cómo normalizar solicitudes transformándolas mediante reglas de filtro de tráfico en AEM as a Cloud Service.

Más información

Recursos adicionales

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69