O AWS WAF é um firewall de aplicativo da web que permite monitorar as solicitações HTTP(S) que são encaminhadas para seus recursos de aplicativos da web protegidos. Você pode proteger os seguintes tipos de recursos:
- Distribuição do Amazon CloudFront
- API REST do Amazon API Gateway
- Balanceador de carga de aplicativos
- API GraphQL do AWS AppSync
- Grupo de usuários do Amazon Cognito
- Serviço AWS App Runner
- Instância de acesso verificado da AWS
O AWS WAF permite controlar o acesso ao seu conteúdo. Com base nos critérios que você especifica, como os endereços IP de origem das solicitações ou os valores das strings de consulta, o serviço associado ao seu recurso protegido responde às solicitações com o conteúdo solicitado, com um código de status HTTP 403 (Proibido) ou com uma resposta personalizada.
Passo a passo
Em nosso ambiente temos uma instância EC2 executando o WordPress, adicionamos essa instância ao Application Load Balancer.
01 – No AWS Management Console pesquise por WAF & Shield.
02 – Na tela AWS WAF clique em Create web ACL.
03 – Na tela Describe Web ACL and associate it to AWS resources selecione um nome para o recurso “ACL-Wordpress”, digite uma descrição para o recurso, para a opção CloudWatch vamos adicionar o nome “WAF-ACL_Wordpress”, em Resource type selecione Regional resources (Application Load Balancers, AWS AppSync GraphQL APIs, Amazon API Gateway REST APIs, Amazon Cognito user pools, Amazon App Runner services), em Region selecione a região onde seus recursos estão, em Associated AWS resources – optional, clique em Add AWS resources.
04 – Na tela Add WAS resources selecione Application Load Balancer e selecione o Application Load Balancer, em seguida clique em Add.
05 – De volta a tela Describe Web ACL and associate it to AWS resources clique em Next.
06 – Na tela Add rules and rule groups, em Add rules clique em Add managed rule groups.
07 – Na tela Add managed rule groups, temos alguns padrões de regras de mercado da própria AWS e de soluções como Imperva e Fortinet, vamos adicionar as regras da AWS, clique em AWS managed rule groups.
08 – Em AWS Managed rule groups temos os grupos de regras que são pago e o grupo de regras gratuitas.
Regras que são pagas:
Account takeover prevention
Bot Control
Regras que são gratuitas:
Admin protection
Amazon IP reputation list
Anonymous IP list
Core rule set
Known bad inputs
Linux operating system
PHP application
POSIX operating system
SQL database
Windows operating system
WordPress application
Para nossa aplicação em WordPress vamos habilitar as regras Admin protection, Amazon IP reputation list, Anonymous IP list, Core rule set, Known bad inputs, Linux operating system, WordPress application, em seguida clique em Add rules.
09 – De volta a tela Add rules and rule groups precebam que nossas regras foram adicionadas, caso a Web ACL capacity units (WCUs) used by your rules ultrapasse o valor de 5000, será necessário criar uma nova regra, para a opção Default Web ACL action for requests that don’t match any rules clique em Allow, em seguida clique em Next.
10 – Na tela rules podemos mover as regras para cima e para baixo, não vamos executar nenhuma alteração clique em Next.
11 – Na tela Configure metrics para a opção CloudWatch metrics name adicione WAF ao nome default das regras, deixe as demais configurações padrão e clique em Next.
12 – Na tela Review and create web ACL clique em Create web ACL.
13 – Como podemos observar o WAF foi criado, selecione o ACL-Wordpress
14 – Como podemos observar ainda não temos nenhuma requisição sendo exibida no WAF.
Simulando incidente de segurança
15 – Vamos acessar a URL do Application Load Balancer utlizando o Tor Browser.
Vamos utlizar o Tor Browser para simular uma tentativa de acesso anônimo.
ALB-WAF-1946461533.eu-central-1.elb.amazonaws.com
16 – Abra o Tor Browser em seguida clique em Connect.
17 – Vamos verificar em qual região autenticamos e qual IP publico estamos utlizando, para isso vamos utilizar o site https://meuip.com.br
18 – Vamos acessar o site ALB-WAF-1946461533.eu-central-1.elb.amazonaws.com utilizando o Tor Browse, como podemos observar o WAF bloqueou a tentativa de acesso ao site.
Monitorar requisições ao site
19 – Na tela WAF & Shield clique em Web ACLs.
20 – Na tela Web ACLs selecione ACL-Wordpress.
21 – Na tela Overview podemos ver podas as requisições para o nosso site, as requisições permitidas e bloqueadas.
Comente suas sugestões e observações!
Forte abraço, obrigado e até o próximo post.
Me siga nas redes sociais:
https://lnkd.in/enx4eSV
Carreira desenvolvida na área de tecnologia da informação, com ampla experiência em Cloud
Computing e Cloud Security.
Forte atuação em projetos de Cloud Security no Microsoft Azure e com tecnologias de
segurança do Microsoft 365.
Tenho Experiência em Microsoft Azure, Microsoft 365, AWS e Windows Server.
Sou Microsoft MVP na categoria Microsoft Azure, AWS Communit Builder Security & Identity e
MCT.