O AWS GuardDuty é um serviço da AWS que encontra ameaças no seu ambiente em um mar de dados trafegados, ajudando a encontrar as agulhas no palheiro, ele análise seus recursos e análise comportamentos suspeitos.
Para começar a utilizar o AWS GuardDuty é muito simples, basta acessar o serviço pelo console e habilitar ele clicando no botão Enable GuardDuty
Agora você verá as opções que o AWS GuardDuty fornece, como os Findings (o que foi encontrado de suspeito), o tempo da licença Trial que está rodando na sua contato e outras opções que vamos falar mais pra frente.
AWS GuardDuty Data Source
O AWS GuardDuty possuí três fontes de dados, onde ele irá coletar e analisar esses dados constantemente
- VPC Flow Logs
- DNS Logs
- CloudTrail Events
Cada um desses recursos possuem uma infinidade de informações que serão analisadas por práticas de Machine Learning dentro da caixa do AWS GuardDuty.
VPC Flows Logs – não captura pacotes de dados, mas ele fornece a nível de ENI (Elastic Network Interface) informação de conectividade entre subnets e redes internas.
DNS Logs – são dados ativados diretamente no Route53, porém caso sua aplicação não utilize o DNS da AWS (Route 53) o AWS GuardDuty ainda assim consegue capturar essas informações a partir de chamadas que forem feitos para outros DNS partindo de uma EC2, por exemplo.
CloudTrail Events – são dados de auditoria, o AWS CloudTrail já captura dados a todo instante de tudo o que é alterado/acessado na sua conta e o AWS GuardDuty analisa esses dados também, atrás de mudanças que possam ser suspeitas.
GuardDuty Findings
O Findings foi mencionado anteriormente, ela é a primeira tela disponível pelo AWS GuardDuty e ela permite que você veja cada tipo de ameaças alertadas, sendo elas categorizadas pelo seu tipo de ameaça.
- Backdoor: O Recurso está afetado e pode permitir que o invasor acesse o servidor por comandos remotos de uma outra ponta.
- Behavior: Alguns recursos estão com um comportamento/atividades diferente dos padrões.
- Crypto Currency: Foi encontrado software relacionado com mineração de moedas.
- Pentest: Atividades similares a de Pen Tests, mesmo quando seja feito com o consentimento do dono da conta, o GuardDuty irá reportar.
- Recon: Identifica atividade de reconhecimento de portas abertas, como banco de dados e outros serviços.
- Stealth: Atividades indicam que algum tipo de ataque está sendo feito por trás de proxy, anonimizando o atacante.
- Trojan: Atividades indicam que existe software suspeito, que podem ter sido instalado ou inseridos a partir de uma vulnerabilidade
- Unauthorized Access: Atividades suspeitas por usuários desconhecidos.
AWS GuardDuty Níveis de Alertas
O AWS GuardDuty, além das categorias, também informa o nível de criticidade da suspeita identificada. Existem três níveis de severidade:
- Low: Atividade suspeita/maliciosa foi bloqueado e não comprometeu o recurso.
- Medium: Atividade suspeita está com um comportamento além do normal esperado.
- High: Recurso comprometido e exige ação imediata.
AWS GuardDuty Events
O AWS GuardDuty Events permite que você aproveite a cada novo evento gerado dentro dele, para que seja gerado algum tipo de tratamento dessa informação (usando Lambda) ou basicamente reportar por email ou outra ferramente de comunicação como o Slack, para reportar ao time que um novo evento foi gerado.
Um evento do AWS GuardDuty é um corpo de mensagem em JSON como esta abaixo:
{
"version": "0",
"id": "cd2d702e-ab31-411b-9344-793ce56b1bc7",
"detail-type": "GuardDuty Finding",
"source": "aws.guardduty",
"account": "111122223333",
"time": "1970-01-01T00:00:00Z",
"region": "us-east-1",
"resources": [],
"detail": {COMPLETE_GUARDDUTY_FINDING_JSON}
}
A partir disso você pode criar sua própria lambda para tratar o Log, por categoria e level de severidade e tomar a ação para seu negócio, uma ação de segurança emergencial ou simplesmente reportar ao time de sustentação.
Abraços