AWS WAF e Lambda para Automação de Proteção · Scripts & Templates Estudo de caso. Agenda ......
Transcript of AWS WAF e Lambda para Automação de Proteção · Scripts & Templates Estudo de caso. Agenda ......
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Heitor Vital, Arquiteto de Soluções - AWS BrasilLuiz Gois, Desenvolvedor Full Stack - LuizaLabs
AWS WAF e Lambda para Automação de ProteçãoTécnicas, scripts e um case real
Agenda
IntroduçãoWAF & Lambda
Automação de Proteção
Scripts & Templates Estudo de caso
Agenda
IntroduçãoWAF & Lambda
Automação de Proteção
Scripts & Templates Estudo de caso
Website sem AWS WAF
Usuários
Atacantes
WebsiteExploit
Website com AWS WAF
WebsiteExploit
Usuários
Atacantes
O que é AWS WAF?
Firewall de aplicativo da web (WAF) permitecriar mecanismos de controle que ajudam a decidir quais requisições podem ou nãoacessar seu website • Full-feature API• Regras de segurança customizáveis• Integrado com Amazon CloudFront – proteção na
borda• Casos de uso: proteção contra exploits, abuso e DDoS
na aplicação
O que é AWS Lambda?
O AWS Lambda permite que você execute códigos sem provisionar ou gerenciarservidores.• “Server-less” scripting; Ações baseadas em eventos• Possui integração com outros serviços da AWS• Casos de uso: ação em resposta a eventos,
agendamento de tarefa, server-less backend etc.
Agenda
IntroduçãoWAF & Lambda
Automação de Proteção
Scripts & Templates Estudo de caso
• Fontes de ataques são persistentes e adaptáveis• Melhor proteção
• Análises customizadas mais elaboradas e levando em consideração especificidade de cada aplicação
• Integração com fonte de dados públicas
Por que criar automação de proteção?
Automação de Proteção
Usuários
Logs Análises de Ameaças
Atualizador de regras
Web siteRegrasExploit
Atacantes
Automação de Proteção – modelo tradicional
LogsWeb siteExploit
Usuários
Atacantes
Regras Análises de Ameaças
Atualizador de regras
Automação de Proteção – AWS
LogsWeb siteExploit
Atualizador de regras
Atacantes
Usuários
Regras Análises de Ameaças
Outros serviços que também usaremos
Amazon CloudFront Amazon CloudWatch AWS CloudFormation
Amazon S3 Amazon API Gateway
Agenda
IntroduçãoWAF & Lambda
Automação de Proteção
Scripts & Templates Estudo de caso
Tipos de ataques que requerem automação
HTTP floods Scans & probesIP reputation lists Bots & scrapers
Atacantes
IP reputation lists
Coleção de IPs com histórico de problemas oufontes conhecidas de ataques• Open proxies ou hosts conhecidos por enviar
spam/trojans/virus• Lista constantemente mudando e sendo atualizada• Solução: configurar função agendada que consulta
listas públicas (ex: Emerging Threats, Spamhause, Tor Node list) e atualiza automaticamente as regras de bloqueio no WAF
IP reputation lists (cont’d)
IP reputation lists (cont’d)
<Demo>
HTTP floods
Requisições válidas em uma quantidade quecomprometem os recursos do servidor• Requisições direcionadas a serviços/páginas de algo
consumo de recursos. (ex: login, busca de produtosetc)
• Diferentemente de outros ataques de flood, aqui as requisições são válidas
• Problema para diferenciar requisições de usuáriosválidos de atacantes
• Solução: analisar logs de acesso para identificarorigens com número de acesso acima do considerado normal.
Atacantes
HTTP floods (cont’d)
HTTP floods (cont’d)
<Demo>
Scans & probes
Sistemas que analisam aplicações web em busca de vulnerabilidades• Seus scans – excelente; executados por fonte não
autorizada/desconhecida – mau sinal.• Algo ou alguém mal intencionado• Consomem recuros ao acessar URLs que não
existem• Solução: analisar logs de acesso para identificar
origens com alto número de requisições quegeraram erro 40x
Scans & probes (cont’d)
<Demo>
Bots & scrappers
Aplicações que executam busca automátivaatravés da internet• Good bots (engines de busca, inteligência/comparador
de preço …) vs bad bots (cópia de conteúdo, roudo de dados, malware …)
• Contantemente evoluindo/adaptando-se• Solução: usar robots.txt e um “honeypot” para
identificar (e bloquear) ofensores
Bots & scrappers (cont’d)
Bots & scrappers (cont’d)
<Demo>
Agenda
IntroduçãoWAF & Lambda
Automação de Proteção
Scripts & Templates Estudo de caso
Estudo de Caso
Magazine Luiza• Uma das maiores redes de
varejo do Brasil• Mais de 700 lojas, 24k
pessoas e 8 centros de distribuição
• Plataforma de e-commerce• Mudamos “all in” para AWS
no últimos 2~3 anos
Estudo de Caso (cont’d)
Desafios• Equilibrar a segurança com o desempenho, custo e escalabilidade• WAFs tradicionais:
1. Perfis de aplicações tradicionais2. Dificeis de escalar na nuvem - limitação de banda e CPU3. Automação requer banda e hardware para processamento de logs
• Bloquear Bots e Crawlers mal intencionados (com base em IP) semafetar a navegação e experiência do cliente
• Ter uma solução em tempo para Black Friday
Estudo de Caso (cont’d)
Arquitetura Anterior
Estudo de Caso (cont’d)
Arquitetura Atual
Estudo de Caso (cont’d)
Antes da Black Friday
• Setembro - Outubro: confirmada nova arquitetura e começamos o desenvolvimento.
• Outubro – nova arquitetura finalizada e pronta para produção.• Novembro – começamos a contagem regressiva e movemos todo o
tráfego de produção.
Estudo de Caso (cont’d)
Black Friday
• 26/Novembro: pulamos de 4 – 28.9 milhões de page views/dia• 26/Novembro: todos reúnidos em uma “war room” e última escala
de servidores.• 12am: todos foram para casa, 5 pessoas decidiram dormir no
escritório e continuar a monitorar o ambiente.• 27/Novembro: o tráfego começou a subir por volta das 6am da
manhã, aonde permaneceu alto durante todo o final de semana.
Estudo de Caso (cont’d)
Conselhos
• Faça uma análise da aplicação e começar pequeno• Use uma linguagem de programação que tenha bastante
conhecimento• Identificar o que precisa proteger• Pensar sobre o tempo que leva para processar os logs• Regras complexas mais próximas da aplicação
Material de Apoio
Security Blogs• Rate-Based Blacklisting Heitor Vital <[email protected]>• IPs Generating Errors Ben Potter <[email protected]>• Blocking Bots (em breve) Vlad Vlasceanu <[email protected]>• Importing IP Reputation Lists (em breve) Lee Atkinson
Tutorials Page• aws.amazon.com/waf/preconfiguredrules/
Obrigado!