

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.

# Restrinja el acceso en función de la dirección IP o la geolocalización mediante AWS WAF
<a name="aws-waf-restrict-access-geolocation"></a>

*Louis Hourcade, Amazon Web Services*

## Resumen
<a name="aws-waf-restrict-access-geolocation-summary"></a>

[AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html)es un firewall de aplicaciones web que ayuda a proteger las aplicaciones web y APIs contra los exploits y bots web más comunes que pueden afectar a la disponibilidad, comprometer la seguridad o consumir recursos excesivos. [Las listas de control de acceso a la web (web ACLs)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html) AWS WAF le permiten controlar la forma en que el tráfico llega a sus aplicaciones. En una ACL web, se agregan reglas o grupos de reglas diseñados para permitir el tráfico legítimo, controlar el tráfico de bots y bloquear los patrones de ataque más comunes. Para obtener más información, consulte [Cómo AWS WAF funciona](https://docs.aws.amazon.com/waf/latest/developerguide/how-aws-waf-works.html).

Puede asociar los siguientes tipos de reglas a su AWS WAF web ACLs:
+ [Grupos de reglas AWS gestionadas: los](https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-rule-groups.html) equipos de reglas gestionadas y AWS Marketplace los vendedores ofrecen conjuntos de reglas preconfigurados. Algunos grupos de reglas administradas están diseñados para ayudar a proteger determinados tipos de aplicaciones web. Otros ofrecen una amplia protección contra amenazas conocidas o vulnerabilidades comunes.
+ [Reglas](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rules.html) y [grupos de reglas personalizados](https://docs.aws.amazon.com/waf/latest/developerguide/waf-user-created-rule-groups.html): también puede crear reglas y grupos de reglas que personalicen el acceso a sus aplicaciones web y APIs. Por ejemplo, puede restringir el tráfico en función de una lista específica de direcciones IP o de países.

Al usar este patrón y el repositorio de código asociado, puede usar la AWS WAF web [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html) ACLs para implementar reglas personalizadas. Estas reglas restringen el acceso a los recursos de la aplicación web según la dirección IP o la ubicación geográfica del usuario final. Si lo desea, también puede adjuntar varios grupos de reglas administrados.

## Requisitos previos y limitaciones
<a name="aws-waf-restrict-access-geolocation-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ [Permisos](https://docs.aws.amazon.com/waf/latest/developerguide/security-iam.html) para implementar AWS WAF recursos
+ AWS CDK[instalado y configurado](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html) en su cuenta
+ Git, [instalado](https://github.com/git-guides/install-git)

**Limitaciones**
+ Puede usar este patrón solo Regiones de AWS donde AWS WAF esté disponible. Para obtener información sobre la disponibilidad en regiones, consulte [Servicios de AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

## Tools (Herramientas)
<a name="aws-waf-restrict-access-geolocation-tools"></a>

**Servicios de AWS**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)es un marco de desarrollo de software que le ayuda a definir y aprovisionar la Nube de AWS infraestructura en el código.
+ [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html) es un firewall de aplicación web que lo ayuda a supervisar las solicitudes HTTP y HTTPS que se reenvían a los recursos de su aplicación web protegida.

**Repositorio de código**

El código de este patrón está disponible en el repositorio de [restricciones de GitHub IP y geolocalización](https://github.com/aws-samples/ip-and-geolocation-restriction-with-waf-cdk). AWS WAF El código despliega dos web. AWS WAF ACLs La primera es una ACL web regional destinada a los recursos de [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html). La segunda es la ACL web global para CloudFront los recursos de [Amazon](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). Ambas páginas ACLs contienen las siguientes reglas personalizadas:
+ `IPMatch` bloquea las solicitudes de direcciones IP no permitidas.
+ `GeoMatch` bloquea las solicitudes de países no permitidos.

Durante la implementación, si lo desea, puede adjuntar todos los siguientes grupos de reglas administradas a su web ACLs:
+ [Conjunto de reglas básicas (CRS)](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html#aws-managed-rule-groups-baseline-crs): este grupo contiene reglas que son generalmente aplicables a las aplicaciones web. Brinda protección contra la explotación de una amplia gama de vulnerabilidades, incluyendo algunas de las vulnerabilidades de alto riesgo y más comunes descritas en publicaciones de OWASP tales como [OWASP Top 10](https://owasp.org/www-project-top-ten/).
+ [Protección de administración](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html#aws-managed-rule-groups-baseline-admin): este grupo contiene reglas que permiten bloquear el acceso externo a las páginas administrativas expuestas.
+ [Entradas incorrectas conocidas](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html#aws-managed-rule-groups-baseline-known-bad-inputs): este grupo de reglas bloquea los patrones de solicitud que se conocen por no ser válidos y que están asociados a la explotación o el descubrimiento de vulnerabilidades.
+ [Lista de reputación de IP de Amazon](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html#aws-managed-rule-groups-ip-rep-amazon): este grupo de reglas contiene reglas basadas en la inteligencia de amenazas interna de Amazon. Permite bloquear las direcciones IP que suelen estar asociadas a bots u otras amenazas.
+ [Grupo de reglas administradas en el sistema operativo Linux](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html#aws-managed-rule-groups-use-case-linux-os): este grupo de reglas bloquean los patrones de solicitud asociados a la explotación de vulnerabilidades específicas de Linux, como los ataques de inclusión de archivos locales (LFI) específicos de Linux.
+ [Grupo de reglas administradas de base de datos de SQL](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html#aws-managed-rule-groups-use-case-sql-db): este grupo de reglas permite bloquear los patrones de solicitud asociados a la explotación de bases de datos de SQL, como los ataques por inyección de código SQL.

## Epics
<a name="aws-waf-restrict-access-geolocation-epics"></a>

### Configure la AWS WAF web ACLs
<a name="configure-the-waf-web-acls"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Clonar el repositorio. | Introduzca el siguiente comando para clonar el repositorio [Restricción de IP y geolocalización con AWS WAF](https://github.com/aws-samples/ip-and-geolocation-restriction-with-waf-cdk) en la estación de trabajo local:<pre>git clone https://github.com/aws-samples/ip-and-geolocation-restriction-with-waf-cdk.git</pre> | Git | 
| Configure las reglas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS general, Python | 

### Arranque e implementación del código
<a name="bootstrap-and-deploy-the-code"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicie su AWS entorno. | Si aún no lo ha hecho, debe [iniciar el AWS entorno](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping-env.html) antes de poder implementar la AWS CDK aplicación.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS general | 
| Implemente la AWS CDK aplicación. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS general | 

### Validación de la implementación
<a name="validate-the-deployment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Confirme que la web se implementó ACLs correctamente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS general | 
| (Opcional) Asocie la web ACLs a sus recursos. | Asocie la AWS WAF web ACLs a sus AWS recursos, como un Application Load Balancer, una API Gateway o CloudFront una distribución. Para obtener instrucciones, consulte [Asociar o desasociar una ACL web con un recurso de ](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-associating-aws-resource.html)AWS[https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-associating-aws-resource.html](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-associating-aws-resource.html). Para ver un ejemplo, consulte [class CfnWeb ACLAssociation (construcción)](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_wafv2.CfnWebACLAssociation.html) en la AWS CDK documentación. | AWS general | 

### Eliminar recursos
<a name="clean-up-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine las pilas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS general | 

## Recursos relacionados
<a name="aws-waf-restrict-access-geolocation-resources"></a>
+ [Referencia de la API](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html) (AWS CDK documentación)
+ [aws-cdk-libMódulo.aws\$1wafv2](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_wafv2-readme.html) (documentación)AWS CDK 
+ [Trabajar con](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-working-with.html) la web (documentación) ACLs AWS WAF 
+ [Administrar sus propios grupos de reglas](https://docs.aws.amazon.com/waf/latest/developerguide/waf-user-created-rule-groups.html) (AWS WAF documentación)
+ [Reglas](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rules.html) (AWS WAF documentación)