

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Restrinja o acesso com base no endereço IP ou geolocalização usando AWS WAF
<a name="aws-waf-restrict-access-geolocation"></a>

*Louis Hourcade, Amazon Web Services*

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

[AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html)é um firewall de aplicativos da Web que ajuda a proteger os aplicativos da Web APIs contra explorações e bots comuns da Web que podem afetar a disponibilidade, comprometer a segurança ou consumir recursos excessivos. [As listas de controle de acesso à Web (web ACLs)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html) AWS WAF fornecem controle sobre como o tráfego chega aos seus aplicativos. Em uma ACL da web, você adiciona regras ou grupos de regras projetados para permitir tráfego legítimo, controlar tráfego de bots e bloquear padrões comuns de ataque. Para obter mais informações, consulte [Como AWS WAF funciona](https://docs.aws.amazon.com/waf/latest/developerguide/how-aws-waf-works.html).

Você pode associar os seguintes tipos de regras à sua AWS WAF web ACLs:
+ [Grupos](https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-rule-groups.html) de regras AWS gerenciadas — equipes e AWS Marketplace vendedores de regras gerenciadas oferecem conjuntos de regras pré-configurados. Alguns grupos de regras gerenciadas são projetados para ajudar a proteger tipos específicos de aplicações web. Outros grupos, por sua vez, oferecem proteção abrangente contra ameaças conhecidas ou vulnerabilidades comuns.
+ [Regras personalizadas](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rules.html) e [grupos de regras personalizados](https://docs.aws.amazon.com/waf/latest/developerguide/waf-user-created-rule-groups.html) — Você também pode criar regras e grupos de regras que personalizam o acesso aos seus aplicativos web APIs e. Por exemplo, é possível restringir o tráfego com base em uma lista específica de endereços IP ou em uma lista de países.

Usando esse padrão e o repositório de código associado, você pode usar o [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)para implantar a AWS WAF web ACLs com regras personalizadas. Essas regras restringem o acesso aos recursos da aplicação web com base no endereço IP ou na geolocalização do usuário final. Além disso, você pode optar por adicionar diversos grupos de regras gerenciadas.

## Pré-requisitos e limitações
<a name="aws-waf-restrict-access-geolocation-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ [Permissões](https://docs.aws.amazon.com/waf/latest/developerguide/security-iam.html) para implantar AWS WAF recursos
+ AWS CDK, [instalado e configurado](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html) em sua conta
+ Git, [instalado](https://github.com/git-guides/install-git)

**Limitações**
+ Você pode usar esse padrão somente Regiões da AWS onde AWS WAF estiver disponível. Para conferir a disponibilidade de uma região, consulte [Serviços da AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

## Ferramentas
<a name="aws-waf-restrict-access-geolocation-tools"></a>

**Serviços da AWS**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)é uma estrutura de desenvolvimento de software que ajuda você a definir e provisionar Nuvem AWS infraestrutura em código.
+ O [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html) é um firewall para aplicações web que ajuda a monitorar solicitações HTTP e HTTPS encaminhadas aos recursos da sua aplicação web protegida.

**Repositório de código**

O código desse padrão está disponível na [restrição de GitHub IP e geolocalização com AWS WAF](https://github.com/aws-samples/ip-and-geolocation-restriction-with-waf-cdk) repositório. O código implanta duas AWS WAF web ACLs. A primeira é uma ACL da web regional destinada a recursos do [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html). A segunda é a ACL global da web para CloudFront recursos [da Amazon](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). Ambos os sites ACLs contêm as seguintes regras personalizadas:
+ `IPMatch` impede solicitações provenientes de endereços IP não autorizados.
+ `GeoMatch` impede solicitações provenientes de países não autorizados.

Durante a implantação, você pode, opcionalmente, anexar todos os seguintes grupos de regras gerenciadas à sua web ACLs:
+ [Conjunto de regras principal (CRS, na sigla em inglês)](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html#aws-managed-rule-groups-baseline-crs): este grupo de regras contém regras que se aplicam, em geral, a aplicações web. O conjunto auxilia na proteção contra a exploração de diversas vulnerabilidades, incluindo algumas das vulnerabilidades de alto risco e mais comuns descritas nas publicações da OWASP, como o [OWASP Top 10](https://owasp.org/www-project-top-ten/).
+ [Proteção para administradores](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html#aws-managed-rule-groups-baseline-admin): este grupo de regras contém regras que ajudam a bloquear o acesso externo a páginas administrativas expostas.
+ [Entradas maliciosas conhecidas](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 regras ajuda a bloquear padrões de solicitações que são conhecidos por serem inválidos e estão associados à exploração ou à descoberta de vulnerabilidades.
+ [Lista de reputação de IP da 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 regras contém regras baseadas na inteligência de ameaças interna da Amazon. Este grupo ajuda a bloquear endereços IP que normalmente estão associados a bots ou outras ameaças.
+ [Grupo de regras gerenciadas para o sistema operacional do 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 regras ajuda a bloquear padrões de solicitações associados à exploração de vulnerabilidades do Linux, incluindo ataques específicos de Inclusão Local de Arquivos (LFI, na sigla em inglês) em sistemas do Linux.
+ [Grupo de regras gerenciadas para banco de dados do 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 regras ajuda a bloquear padrões de solicitações associados à exploração de bancos de dados do SQL, como ataques de injeção de SQL.

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

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


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clonar o repositório. | Insira o seguinte comando para clonar o repositório [IP and geolocation restriction with AWS WAF](https://github.com/aws-samples/ip-and-geolocation-restriction-with-waf-cdk) na sua estação de trabalho local:<pre>git clone https://github.com/aws-samples/ip-and-geolocation-restriction-with-waf-cdk.git</pre> | Git | 
| Configure as regras. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | Usuário geral da AWS e do Python | 

### Inicialização e a implantação do código
<a name="bootstrap-and-deploy-the-code"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicialize seu AWS ambiente. | Se ainda não tiver feito isso, você precisará [inicializar seu](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping-env.html) AWS ambiente antes de poder implantar o AWS CDK aplicativo.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS geral | 
| Implante o AWS CDK aplicativo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS geral | 

### Validação da implantação
<a name="validate-the-deployment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Confirme se a web ACLs foi implantada com sucesso. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS geral | 
| (Opcional) Associe a web ACLs aos seus recursos. | Associe a AWS WAF web ACLs aos seus AWS recursos, como um Application Load Balancer, API Gateway ou CloudFront distribuição. Para obter instruções, consulte [Como associar ou desassociar uma ACL da web a um ](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-associating-aws-resource.html)[recurso da AWS](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-associating-aws-resource.html). Para obter um exemplo, consulte [class CfnWeb ACLAssociation (construct)](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_wafv2.CfnWebACLAssociation.html) na AWS CDK documentação. | AWS geral | 

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


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Exclua as pilhas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/aws-waf-restrict-access-geolocation.html) | AWS geral | 

## Recursos relacionados
<a name="aws-waf-restrict-access-geolocation-resources"></a>
+ [Referência da API](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html) (AWS CDK documentação)
+ [aws-cdk-libmódulo.aws\$1wafv2](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_wafv2-readme.html) (documentação)AWS CDK 
+ [Trabalhando com a web ACLs](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-working-with.html) (AWS WAF documentação)
+ [Gerenciando seus próprios grupos de regras](https://docs.aws.amazon.com/waf/latest/developerguide/waf-user-created-rule-groups.html) (AWS WAF documentação)
+ [Regras](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rules.html) (AWS WAF documentação)