"Quem parou o servidor?" "Eu não fui." Quando várias pessoas mexem na mesma conta da AWS, mais cedo ou mais tarde alguém faz algo que ninguém reconhece. A boa notícia é que a AWS aponta tudo: cada ação feita a partir da consola, de um programa ou de uma ferramenta externa fica registada com quem, quando, a partir de que endereço e sobre o quê. Esse registo chama-se CloudTrail e está ativado de origem, sem que tenha feito nada.
O que não é tão simples é encontrar o que procura, porque os nomes são técnicos e guardam-se só 90 dias. Este guia ensina a procurar e a conservar o histórico.
Antes de começar: o que significa cada coisa
- CloudTrail
- O serviço da AWS que regista cada ação realizada na sua conta: quem, o quê, quando, a partir de onde e sobre que recurso.
- Evento
- Cada ação registada. Tem um nome técnico em inglês (StopInstances para parar uma máquina, DeleteObject para apagar um ficheiro...).
- Histórico de eventos
- O ecrã do CloudTrail onde se podem procurar os eventos dos últimos 90 dias sem configurar nada e sem custo.
- Trilho (trail)
- Uma configuração que guarda os eventos para sempre num bucket S3 seu, para os conservar mais de 90 dias.
- Utilizador ou função
- Quem fez a ação: um utilizador IAM (uma pessoa ou um programa), uma função assumida (por exemplo, uma ferramenta externa) ou a conta raiz.
- IP de origem
- O endereço de internet a partir do qual a ação foi feita. Permite distinguir o escritório de um sítio desconhecido.
- Região
- O histórico é mostrado por região; uma ação feita em Paris não aparece se estiver a olhar para a Irlanda.
Passo a passo
Abra o histórico de eventos
Na consola da AWS procure CloudTrail e entre em Event history. Verá uma lista com as ações mais recentes: hora, nome do evento, quem e sobre o quê. Em cima está o seletor de região: escolha a região onde aconteceu o que investiga. Algumas ações globais (do IAM, por exemplo) aparecem na região principal da conta.
Procure pelo que sabe
Sobre a lista há um filtro com uma lista pendente. As pesquisas mais úteis:
- Nome do recurso: cole o identificador da máquina (
i-0abc...), o nome do bucket ou da máquina Lightsail. Aparece tudo o que lhe foi feito. - Nome do evento: se souber o que aconteceu. Parar uma máquina EC2 é
StopInstances; no Lightsail,StopInstance; apagar um ficheiro do S3,DeleteObject; alterar um registo DNS,ChangeResourceRecordSets; apagar um instantâneo,DeleteSnapshot. - Nome de utilizador: para ver tudo o que uma pessoa concreta fez.
Ajuste o intervalo de datas ao dia em questão para não se perder na lista.
- Nome do recurso: cole o identificador da máquina (
Leia o detalhe do evento
Clique no evento. Na ficha verá o utilizador exato (e, se foi através de uma função, que função), o endereço IP de origem, o agente (se foi a partir da consola web, da linha de comandos ou de uma ferramenta externa) e, no bloco de JSON em baixo, os detalhes técnicos. Com a hora, o IP e o utilizador normalmente fica claro quem foi e a partir de onde, mesmo que tenha sido sem querer.
Descubra se foi uma pessoa ou um programa
Se o utilizador é alguém da equipa e o IP é o do escritório, foi essa pessoa a partir da consola. Se o utilizador é um criado para uma ferramenta (um painel, um sistema de cópias) ou uma função assumida, foi essa ferramenta: veja o que estava agendado para essa hora. Se o utilizador é a conta raiz ou o IP é de um país onde não tem ninguém, trate-o como uma possível intrusão: mude palavras-passe e chaves e reveja o guia de proteger a conta.
Conserve o histórico mais de 90 dias
O histórico de eventos só guarda três meses. Para uma empresa isso é pouco: a pergunta "quem apagou isto" pode chegar no ano seguinte. No CloudTrail, menu Trails, Create trail: dê-lhe nome, deixe que crie um bucket S3 novo para o guardar, marque que se aplica a todas as regiões e crie. A partir daí cada evento é guardado como ficheiros nesse bucket; o primeiro trilho de eventos de gestão não tem custo de CloudTrail, embora tenha o pequeno custo do espaço no S3.
Procure no histórico quando for preciso
Os ficheiros do bucket são JSON comprimidos, incómodos de ler à mão. Para pesquisar neles, o CloudTrail oferece armazéns de dados de eventos com consultas tipo SQL (tem custo) ou pode descarregar o dia concreto e abri-lo com um editor procurando o identificador do recurso. Para a maioria, basta saber que estão lá e que os pode recuperar.
O que pode correr mal
Não encontro o evento apesar de saber que aconteceu
Região errada (mude-a em cima), intervalo de datas demasiado curto, ou o evento tem outro nome diferente do que pensa. Experimente filtrar só pelo nome do recurso e ver tudo o que lhe aconteceu.
Os eventos demoram a aparecer
O CloudTrail não é instantâneo: uma ação pode demorar vários minutos a surgir no histórico. Se acabou de acontecer, espere um pouco.
Todos entram com o mesmo utilizador e não sei quem foi
Então o registo não o pode ajudar. Crie um utilizador por pessoa com duplo fator (guia nesta secção) e, a partir daí, cada ação terá nome e apelido.
Não vejo as leituras, só as alterações
Por defeito o histórico mostra eventos de gestão (criar, alterar, apagar). As leituras de dados (abrir um ficheiro do S3, por exemplo) só são registadas se o ativar num trilho, e geram muito volume.
No Simplio
No Simplio cada ação que alguém faz a partir da aplicação (parar uma máquina, apagar um ficheiro, alterar a firewall, abrir o terminal) fica no registo de atividade com utilizador, data, IP e objeto, escrito em linguagem normal e pesquisável por máquina ou por pessoa. As ações delicadas pedem o duplo fator antes de serem executadas, por isso não há "eu não fui". E o relatório mensal recolhe essa atividade para a entregar a quem corresponda.
O mesmo, na AWS e no Simplio
| Na consola da AWS | No Simplio | |
|---|---|---|
| Saber quem parou uma máquina | CloudTrail, escolher região, filtrar por recurso, ler o JSON: 4 passos, 10 minutos, se conhecer o nome do evento | Registo de atividade da máquina: uma linha com utilizador, data e IP, em linguagem normal |
| Conservar o histórico | Criar um trilho e um bucket S3, pagar o armazenamento, saber ler JSON | O registo de atividade conserva-se no Simplio e exporta-se para o relatório mensal |
| O que se fez fora da ferramenta | O CloudTrail tem tudo, em bruto | O que se faz a partir da consola da AWS continua a estar no CloudTrail; o Simplio regista tudo o que é feito a partir do Simplio |