

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Implementación de la solución
<a name="deploy-the-solution"></a>

Esta solución utiliza [ CloudFormation plantillas y pilas de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html) para automatizar su implementación. Las CloudFormation plantillas especifican los recursos de AWS incluidos en esta solución y sus propiedades. La CloudFormation pila aprovisiona los recursos que se describen en las plantillas.

## Información general del proceso de implementación
<a name="deployment-process-overview"></a>

Antes de lanzar la CloudFormation plantilla, revise las consideraciones de arquitectura y configuración que se describen en esta guía. Siga las step-by-step instrucciones de esta sección para configurar e implementar la solución en su cuenta.

 **Tiempo de implementación:** aproximadamente 15 minutos.

**nota**  
Si ya implementó esta solución anteriormente, consulte [Actualizar la solución](update-the-solution.md) para obtener instrucciones de actualización.

 [Requisitos previos](prerequisites.md) 
+ Configure una CloudFront distribución
+ Configure un ALB

 [Paso 1. Lanza la pila](step-1.-launch-the-stack.md) 
+ Inicie la CloudFormation plantilla en su cuenta de AWS.
+ Introduzca los valores de los parámetros necesarios: el nombre de la **pila y el nombre del** **bucket del registro de acceso a la aplicación**.
+ Revise el resto de los parámetros de la plantilla y ajústelos si es necesario.

 [Paso 2. Asocie la ACL web a su aplicación web](step-2.-associate-the-web-acl-with-your-web-application.md) 
+ Asocie sus distribuciones CloudFront web o ALB a la ACL web que genera esta solución. Puede asociar tantas distribuciones o balanceadores de carga como desee.

 [Paso 3. Configure el registro de acceso a la web](step-3.-configure-web-access-logging.md) 
+ Active el registro de acceso a la CloudFront web para sus distribuciones web o ALB y envíe los archivos de registro al bucket de Amazon S3 correspondiente. Guarde los registros en una carpeta que coincida con el prefijo definido por el usuario. Si no se utiliza ningún prefijo definido por el usuario, guarde los registros en AWSLogs (prefijo de registro predeterminado). `AWSLogs/` [Consulte el parámetro **Application Access Log Bucket Prefix** en el paso 1. Inicie la pila](step-1.-launch-the-stack.md) para obtener más información.

# CloudFormation Plantillas de AWS
<a name="aws-cloudformation-templates"></a>

Esta solución incluye una CloudFormation plantilla principal de AWS y dos plantillas anidadas. Puede descargar las CloudFormation plantillas antes de implementar la solución.

## Pila principal
<a name="main-stack"></a>

 [![\[View Template\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/images/view-template.png)aws-waf-security-automations](https://s3.amazonaws.com/solutions-reference/security-automations-for-aws-waf/latest/aws-waf-security-automations.template)**.template**: utilice esta plantilla como punto de entrada para lanzar la solución en su cuenta. La configuración predeterminada implementa una ACL web de AWS WAF con reglas preconfiguradas. Puede personalizar la plantilla en función de sus necesidades.

## Pila WebACL
<a name="webacl-stack"></a>

 [![\[View Template\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/images/view-template.png)aws-waf-security-automations](https://s3.amazonaws.com/solutions-reference/security-automations-for-aws-waf/latest/aws-waf-security-automations-webacl.template)**-webacl.template: esta plantilla** anidada aprovisiona los recursos de AWS WAF, que incluyen una ACL web, una IP, conjuntos y otros recursos asociados.

## Pila Firehose Athena
<a name="firehose-athena-stack"></a>

 [![\[View Template\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/images/view-template.png)aws-waf-security-automations](https://s3.amazonaws.com/solutions-reference/security-automations-for-aws-waf/latest/aws-waf-security-automations-firehose-athena.template)**-firehose-athena.template: esta plantilla anidada** [proporciona recursos relacionados con AWS Glue, Athena y Firehose.](https://aws.amazon.com/glue/) Se crea al elegir el **analizador de registros Athena Scanner & Probe** o el analizador de registros HTTP **Flood Lambda** o Athena.

**nota**  
Los CloudFormation recursos de AWS se crean a partir de componentes del AWS Cloud Development Kit (AWS CDK).

Esta CloudFormation plantilla de AWS implementa la solución Security Automations for AWS WAF en la nube de AWS.

# Requisitos previos
<a name="prerequisites"></a>

Esta solución está diseñada para funcionar con aplicaciones web implementadas con CloudFront o un ALB. Si aún no ha configurado uno de estos recursos, complete las tareas correspondientes antes de lanzar esta solución.

## Configure una CloudFront distribución
<a name="configure-a-cloudfront-distribution"></a>

Complete los siguientes pasos para configurar una CloudFront distribución para el contenido estático y dinámico de su aplicación web. Consulta la [Guía para CloudFront desarrolladores de Amazon](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) para obtener instrucciones detalladas.

1. Cree una distribución de aplicaciones CloudFront web. Consulte [Creación de una distribución](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html).

1. Configure los orígenes estáticos y dinámicos. Consulte [Uso de varios orígenes con CloudFront distribuciones.](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html)

1. Especifique el comportamiento de su distribución. Consulte los [valores que especifique al crear o actualizar una distribución](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html).
**nota**  
Si lo elige `CloudFront` como punto final, debe crear sus WAFV2 recursos en la región EE.UU. Este (Virginia del Norte).

## Configure un ALB
<a name="configure-an-alb"></a>

Para configurar un ALB para distribuir el tráfico entrante a su aplicación web, consulte [Create an Application Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) Balancer en *la Guía del usuario de Application Load Balancers*.

# Paso 1. Lanzar la pila
<a name="step-1.-launch-the-stack"></a>

Esta CloudFormation plantilla de AWS automatizada implementa la solución en la nube de AWS.

1. Inicie sesión en la [consola de administración de AWS](https://aws.amazon.com/console) y seleccione la `waf-automation-on-aws.template` CloudFormation plantilla **Launch Solution** para lanzar.

    [https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=WAFSecurityAutomations&templateURL=https:%2F%2Fs3.amazonaws.com%2Fsolutions-reference%2Fsecurity-automations-for-aws-waf%2Flatest%2Faws-waf-security-automations.template&redirectId=ImplementationGuide](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=WAFSecurityAutomations&templateURL=https:%2F%2Fs3.amazonaws.com%2Fsolutions-reference%2Fsecurity-automations-for-aws-waf%2Flatest%2Faws-waf-security-automations.template&redirectId=ImplementationGuide) 

1. La plantilla se lanza en la región Este de EE. UU. (Norte de Virginia) de forma predeterminada. Para lanzar esta solución en otra región de AWS, utilice el selector de regiones de la barra de navegación de la consola. Si elige `CloudFront` como punto de enlace, debe implementar la solución en la región EE.UU. Este (Virginia del Norte`us-east-1`) ().
**nota**  
Según los valores de los parámetros de entrada que defina, esta solución requiere diferentes recursos. Actualmente, estos recursos solo están disponibles en regiones específicas de AWS. Por lo tanto, debe lanzar esta solución en una región de AWS en la que estén disponibles estos servicios. Para obtener más información, consulte [Regiones de AWS compatibles](plan-your-deployment.md#supported-aws-regions).

1. En la página **Especificar plantilla**, compruebe que ha seleccionado la plantilla correcta y pulse **Siguiente**.

1. En la página **Especificar los detalles de la pila**, asigne un nombre a la configuración de AWS WAF en el campo **Nombre de la pila**. También es el nombre de la ACL web que crea la plantilla.

1. En **Parámetros**, revise los parámetros de la plantilla y modifíquelos según sea necesario. Para excluirse de una función en particular, elija `none` o `no` según corresponda. Esta solución utiliza los siguientes valores predeterminados.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/step-1.-launch-the-stack.html)

1. Elija **Siguiente**. 

1. En la página **Configurar opciones de pila**, puede especificar etiquetas (pares clave-valor) para los recursos de la pila y establecer opciones adicionales. Elija **Siguiente**.

1. En la página **Revisar y crear**, revise y confirme la configuración. Seleccione las casillas para confirmar que la plantilla creará los recursos de IAM y las capacidades adicionales necesarias.

1. Elija **Crear** para implementar la pila.

   Vea el estado de la pila en la CloudFormation consola de AWS en la columna **Estado**. Debería recibir el estado CREATE\$1COMPLETE en aproximadamente 15 minutos.
**nota**  
Además de las funciones de `IP Lists Parser` AWS Lambda, esta solución incluye las funciones `Log Parser` y `helper` `custom-resource` Lambda, que se ejecutan únicamente durante la configuración inicial o cuando se actualizan o eliminan los recursos.  
Al usar esta solución, verá todas las funciones en la consola de AWS Lambda, pero solo las tres funciones principales de la solución están activas de forma regular. No elimine las otras dos funciones; son necesarias para administrar los recursos asociados.

Para ver los detalles sobre los recursos de la pila, selecciona la pestaña **Salidas**. Esto incluye el **BadBotHoneypotEndpoint**valor. Recuerde este valor porque lo utilizará para [incrustar el enlace de Honeypot en su aplicación web](embed-the-honeypot-link-in-your-web-application-optional.md).

# Paso 2. Asocie la ACL web a su aplicación web
<a name="step-2.-associate-the-web-acl-with-your-web-application"></a>

Actualice sus CloudFront distribuciones o ALB para activar AWS WAF y el registro con los recursos que generó [en el paso 1. Lance la pila](step-1.-launch-the-stack.md).

1. Inicie sesión en la consola [AWS WAF.](https://console.aws.amazon.com/wafv2/)

1. Elija la ACL web que desee usar.

1. En la pestaña **Associated AWS resources (Recursos de AWS asociados)**, seleccione **Add AWS resources (Añadir recursos de AWS)**.

1. En **Tipo de recurso**, elija la CloudFront distribución o el ALB.

1. Seleccione un recurso de la lista y, a continuación, pulse **Añadir** para guardar los cambios.

# Paso 3. Configurar registros de acceso web
<a name="step-3.-configure-web-access-logging"></a>

Configure CloudFront o su ALB para que envíe los registros de acceso a la web al bucket de Amazon S3 correspondiente, de modo que estos datos estén disponibles para la función Log Parser Lambda.

## Almacene los registros de acceso a la web de una distribución CloudFront
<a name="store-web-access-logs-from-a-cloudfront-distribution"></a>

1. Inicia sesión en la [ CloudFront consola de Amazon](https://console.aws.amazon.com/cloudfront/).

1. Selecciona la distribución de tu aplicación web y selecciona **Configuración de distribución.** 

1. En la pestaña **General**, seleccione **Edit**.

1. Para la **ACL web de AWS WAF**, elija la solución de ACL web creada (el parámetro del **nombre de la pila**).

1. En **Logging**, elija **On**.

1. En **Bucket for Logs**, elija el bucket de S3 que desee usar para almacenar los registros de acceso a la web. Puede ser un depósito de S3 nuevo o existente que se utilice en la pila principal y que tenga permiso CloudFront para escribir registros. La lista desplegable enumera los buckets asociados a la cuenta de AWS actual. Para obtener más información, consulta [Cómo empezar con una CloudFront distribución básica](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.SimpleDistribution.html) en la *Guía para CloudFront desarrolladores de Amazon*.

1. Establezca el prefijo de registro en el prefijo utilizado para implementar la solución. Puede encontrar el prefijo en la pila principal, en la pestaña **Parámetros **AppAccessLogBucketPrefixParam****(opción predeterminada). `AWSLogs/`

1. Elija **Yes, edit** para guardar los cambios.

Para obtener más información, consulte [Configuración y uso de registros estándar (registros de acceso)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) en la *Guía para CloudFront desarrolladores de Amazon*.

## Almacene los registros de acceso a la web desde un Application Load Balancer
<a name="store-web-access-logs-from-an-application-load-balancer"></a>

1. Inicie sesión en la [consola de Amazon Elastic Compute Cloud (Amazon EC2)](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Equilibradores de carga**.

1. Seleccione el ALB de su aplicación web.

1. En la pestaña **Descriptions**, elija **Edit attributes**.

1. Elija **Enable access registros**.

1. En la **ubicación de S3**, escriba el nombre del depósito de S3 que desee usar para almacenar los registros de acceso a la web. Puede ser un bucket de S3 nuevo o existente que se utilice en la pila principal y que tenga permiso para que Application Load Balancer escriba registros.

1. Establezca el prefijo de registro en el prefijo utilizado para implementar la solución. Puede encontrar el prefijo en la pila principal, en la pestaña **Parámetros **AppAccessLogBucketPrefixParam****(opción predeterminada). `AWSLogs/`

1. Seleccione **Save**.

Para obtener más información, consulte [los registros de acceso de su aplicación Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html) en la Guía del *usuario de Elastic Load Balancing*.