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:
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.
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
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
yalert
, 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
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
yalert
, 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.
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.
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).
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.
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 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.
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
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.
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.
Obtenga información sobre cómo normalizar solicitudes transformándolas mediante reglas de filtro de tráfico en AEM as a Cloud Service.