Průměrný čas detekce breache je 207 dní. Bez kvalitního logování útočník operuje neviditelně.
Co logovat¶
- Autentizační události (login, failed login)
- Autorizační selhání (403)
- Změny oprávnění a rolí
- Přístupy k citlivým datům
- Změny konfigurace systému
Structured logging¶
import structlog log = structlog.get_logger() log.warning(“auth.failed_login”, username=username, ip=request.remote_addr, reason=”invalid_password”)
⚠️ NIKDY nelogujte hesla, tokeny, API klíče!¶
Alerting pravidla¶
alerts: - name: brute_force_detected condition: “count(failed_login) > 10 in 5m WHERE same ip” severity: high action: block_ip + notify_security
Log pipeline¶
Aplikace → Fluentd/Vector → Elasticsearch/Loki → Grafana/Kibana → Alerting
- Centralizujte logy — nikdy jen na lokálním disku
- Chraňte proti tampering (append-only)
- Retence minimálně 90 dní
- Pravidelně testujte alerting
Klíčový takeaway¶
Logujte všechny bezpečnostní události strukturovaně. Centralizujte, monitorujte, alertujte.