Mapa da aula
Aula 07 publicada. Mapa, exemplo, EX025.
flowchart TD
N0["7.1 Logs como dados"]
N1["7.2 Contar as falhas"]
N2["Laboratório — Contar os logins com falha por conta"]
N3["7.3 Agir sobre os alertas"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX025"]
Desenho lógico
flowchart LR
N0["7.1 Logs como dados"]
N1["7.2 Contar as falhas"]
N2["Laboratório — Contar os logins com falha por conta"]
N3["7.3 Agir sobre os alertas"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX025"]
[7.1 Logs como dados]
|
v
[7.2 Contar as falhas]
|
v
[Laboratório — Contar os logins com falha por conta]
|
v
[7.3 Agir sobre os alertas]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX025]
Objetivos de aprendizagem
Você vai (1) usar os logs como dados de governança; (2) contar e sinalizar eventos incomuns; (3) decidir o que fazer com os alertas.
7.1 Logs como dados
Os sistemas registram eventos como logins, mudanças e erros. Amina aprende que os logs são dados de governança: mostram se os controles funcionam e se algo incomum aconteceu. Os serviços em nuvem da Fenwick produzem logs de login com horário, resultado e conta. Ela aprende a lê-los com um script, e que guardar os logs por um período definido costuma ser exigido pela política e pelas regras de cartões de pagamento, então a retenção precisa ser planejada. A Sra. Bell observa que um prazo de retenção escolhido sem conferir as regras de cartão pode apagar logs que um avaliador depois venha a pedir.
7.2 Contar as falhas
O laboratório lê doze linhas de log de login e conta as falhas por conta. A conta admin tem sete falhas em poucos minutos e é sinalizada, porque passa de cinco. A j.park tem duas falhas seguidas de um sucesso, provavelmente uma senha digitada errado. A s.ali tem uma falha. No total, três contas tiveram falhas. Amina observa que falhas repetidas numa conta de administrador podem indicar alguém tentando adivinhar a senha. O sucesso da j.park logo depois de duas falhas combina muito mais com um erro de digitação do que com um ataque a essa conta.
Laboratório — Contar os logins com falha por conta
"""Count failed sign-ins per account from synthetic log lines; flag accounts above 5."""
from collections import Counter
log = """2026-09-14T08:01 FAIL j.park
2026-09-14T08:02 FAIL j.park
2026-09-14T08:02 OK j.park
2026-09-14T09:10 FAIL admin
2026-09-14T09:10 FAIL admin
2026-09-14T09:11 FAIL admin
2026-09-14T09:11 FAIL admin
2026-09-14T09:12 FAIL admin
2026-09-14T09:12 FAIL admin
2026-09-14T09:13 FAIL admin
2026-09-14T10:30 FAIL s.ali
2026-09-14T10:31 OK s.ali"""
c = Counter(l.split()[2] for l in log.splitlines() if " FAIL " in l)
for a, n in c.most_common(): print(f"{a}: {n} failures{' ALERT' if n > 5 else ''}")
print(f"lines {len(log.splitlines())}; accounts with failures {len(c)}")
Execute com python3 lab_logs.py. Saída verificada:
admin: 7 failures ALERT
j.park: 2 failures
s.ali: 1 failures
lines 12; accounts with failures 3
7.3 Agir sobre os alertas
Amina relata o alerta da conta admin ao líder de TI. Eles verificam e descobrem que as falhas vieram de um endereço desconhecido na internet. A conta já tinha autenticação multifator, então as tentativas falharam. O líder de TI bloqueia o endereço e renomeia a conta admin genérica. Amina aprende que os alertas precisam de um procedimento de resposta e que o contexto, como o endereço de origem e se os outros controles seguraram, determina a gravidade de um alerta. Renomear a conta admin genérica também a torna um alvo menos óbvio para as mesmas tentativas de adivinhação.
Exemplo resolvido
Amina conta as falhas de login, sinaliza sete na conta admin e apoia uma resposta que bloqueia a origem e renomeia a conta.
Caso sintético. As linhas de log são sintéticas.
Erros e limites
Limiares simples deixam passar ataques lentos. Os logs podem estar incompletos.
Exercícios
- EX025 — Retenção de logs. Por que a retenção de logs precisa ser planejada?
Mostrar critérios de avaliação
Rubrica: 3 = a política e as regras de cartão costumam exigi-la;; 2 = requisitos;; 1 = vago;; 0 = nenhuma. - EX026 — Conta sinalizada. Que conta foi sinalizada, e por quê?
Mostrar critérios de avaliação
Rubrica: 3 = admin, 7 falhas acima de 5;; 2 = admin;; 1 = j.park;; 0 = nenhuma. - EX027 — Leitura da j.park. Como Amina interpretou as falhas da j.park?
Mostrar critérios de avaliação
Rubrica: 3 = provável senha digitada errado, seguida de sucesso;; 2 = erro de digitação;; 1 = vago;; 0 = nenhuma. - EX028 — Ações de resposta. Que ações se seguiram ao alerta?
Mostrar critérios de avaliação
Rubrica: 3 = bloquear o endereço e renomear a conta admin;; 2 = duas;; 1 = vago;; 0 = nenhuma.
Síntese
Os logs se tornam dados de governança quando são contados, sinalizados e usados para agir com contexto.