164 lines
4.9 KiB
Markdown
164 lines
4.9 KiB
Markdown
|
|
# SÄKERHETSINCIDENT — STOP-005-CRIT
|
|||
|
|
|
|||
|
|
**ID:** STOP-005-CRIT
|
|||
|
|
**Datum upptäckt:** 2026-07-01T13:19Z
|
|||
|
|
**Datum öppnad:** 2026-07-01T13:19Z
|
|||
|
|
**Status:** OPEN — väntar på kontrollerad rotationsprocess
|
|||
|
|
**Allvarlighetsgrad:** CRITICAL
|
|||
|
|
**Upptäckt av:** Autonom systemrevision (Bernt)
|
|||
|
|
**Ägare:** Erik Svensson (tills dess att ansvarig tilldelas)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Tidslinje
|
|||
|
|
|
|||
|
|
| Tid | Händelse | Aktör |
|
|||
|
|
|-----|----------|-------|
|
|||
|
|
| 2026-07-01T13:19Z | Incident upptäckt vid autonom revision | Bernt |
|
|||
|
|
| 2026-07-01T13:19Z | Nya hemligheter genererade (TEMPORÄRA) | Bernt |
|
|||
|
|
| 2026-07-01T13:19Z | Incidentrapport skapad | Bernt |
|
|||
|
|
| 2026-07-01T13:22Z | Erik granskade och godkände agentens beteende (stoppade deploy) | Erik |
|
|||
|
|
| 2026-07-01T13:22Z | Beslut: Ingen manuell systemd-redigering | Erik |
|
|||
|
|
| 2026-07-01T13:22Z | Beslut: Terraform-bas prioriteras före rotation | Erik |
|
|||
|
|
| **TBD** | Kontrollerad rotationsprocess genomförs | TBD |
|
|||
|
|
| **TBD** | Verifiering att gamla hemligheter ej fungerar | TBD |
|
|||
|
|
| **TBD** | Post mortem | TBD |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Potentiell exponering
|
|||
|
|
|
|||
|
|
### Vad som exponerats
|
|||
|
|
Hemligheter har lagrats i klartext i systemd-servicefil på EC2-instans.
|
|||
|
|
|
|||
|
|
### Vem som kan ha läst dem
|
|||
|
|
- Användare med root-access på servern
|
|||
|
|
- Användare med sudo-access
|
|||
|
|
- Processer som läser systemd-konfiguration
|
|||
|
|
- Eventuella loggar som sparat miljövariabler
|
|||
|
|
|
|||
|
|
### Okänt
|
|||
|
|
- Om filen har kopierats/lästs av obehöriga
|
|||
|
|
- Om hemligheter loggats vid service-start
|
|||
|
|
- Om hemligheter finns i backup/snapshot
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Påverkade system
|
|||
|
|
|
|||
|
|
| System | Påverkan | Status |
|
|||
|
|
|--------|----------|--------|
|
|||
|
|
| aamos-ledger (port 3250) | JWT_SECRET exponerad | NEDSTÄNGD |
|
|||
|
|
| aamos-bank-import | Använder samma JWT | AKTIV — risk |
|
|||
|
|
| PostgreSQL (RDS) | Lösenord exponerat | AKTIV — risk |
|
|||
|
|
| Redis | Lösenord exponerat | AKTIV — risk |
|
|||
|
|
| 20 ticket-agenter | Kan använda JWT | AKTIV — risk |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Berörda hemligheter
|
|||
|
|
|
|||
|
|
| Hemlighet | Plats | Risknivå |
|
|||
|
|
|-----------|-------|----------|
|
|||
|
|
| JWT_SECRET | `/etc/systemd/system/aamos-ledger.service` | Kritisk |
|
|||
|
|
| LEDGER_INTERNAL_TOKEN | `/etc/systemd/system/aamos-ledger.service` | Kritisk |
|
|||
|
|
| DATABASE_URL (med lösenord) | `/etc/systemd/system/aamos-ledger.service` | Kritisk |
|
|||
|
|
| REDIS_URL (med lösenord) | `/etc/systemd/system/aamos-ledger.service` | Kritisk |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Riskbedömning
|
|||
|
|
|
|||
|
|
| Risk | Betyg | Motivering |
|
|||
|
|
|------|-------|------------|
|
|||
|
|
| Exponering | **HÖG** | Filen är läsbar för root och alla med sudo-access |
|
|||
|
|
| Påverkan | **Kritisk** | JWT_SECRET ger full access till alla tjänster |
|
|||
|
|
| Sannolikhet för missbruk | **Okänd** | Kan inte fastställa om filen har läsats av obehöriga |
|
|||
|
|
| **Total risk** | **CRITICAL** | S × K × E = 5 × 5 × 4 = 100 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Beslut
|
|||
|
|
|
|||
|
|
### Beslut 1: Ingen manuell systemd-redigering
|
|||
|
|
**Fattad av:** Erik Svensson
|
|||
|
|
**Datum:** 2026-07-01T13:22Z
|
|||
|
|
**Motivering:** Undvika ytterligare manuella avvikelser. Lösning ska gå genom IaC.
|
|||
|
|
|
|||
|
|
### Beslut 2: Terraform-bas prioriteras
|
|||
|
|
**Fattad av:** Erik Svensson
|
|||
|
|
**Datum:** 2026-07-01T13:22Z
|
|||
|
|
**Motivering:** Säkerhetsarbete blir enklare när infrastrukturen är versionshanterad.
|
|||
|
|
|
|||
|
|
### Beslut 3: Temporära hemligheter förstörs
|
|||
|
|
**Fattad av:** Erik Svensson
|
|||
|
|
**Datum:** 2026-07-01T13:22Z
|
|||
|
|
**Motivering:** Hemligheter skapade under revision är temporära tills kontrollerad process genomförs.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Åtgärdsplan
|
|||
|
|
|
|||
|
|
### Omedelbart (inom 24h)
|
|||
|
|
- [ ] Förstör temporära hemligheter (`/tmp/secret-rotation-2026-07-01/`)
|
|||
|
|
- [ ] Skapa Terraform-bas för aamos-ledger
|
|||
|
|
- [ ] Definiera hemlighetshantering i Terraform (AWS Secrets Manager)
|
|||
|
|
|
|||
|
|
### Kortsiktigt (inom 1 vecka)
|
|||
|
|
- [ ] Implementera kontrollerad rotationsprocess
|
|||
|
|
- [ ] Rotera alla berörda hemligheter genom processen
|
|||
|
|
- [ ] Uppdatera systemd-service att läsa från Secrets Manager
|
|||
|
|
- [ ] Verifiera att gamla hemligheter inte fungerar
|
|||
|
|
- [ ] Starta aamos-ledger med nya hemligheter
|
|||
|
|
|
|||
|
|
### Långsiktigt (inom 1 månad)
|
|||
|
|
- [ ] Implementera automatisk secret rotation
|
|||
|
|
- [ ] EOS-policy som blockerar deploy om hemligheter hittas i konfiguration
|
|||
|
|
- [ ] Post mortem
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Verifiering efter rotation
|
|||
|
|
|
|||
|
|
- [ ] `curl` med gammalt JWT → 401 Unauthorized
|
|||
|
|
- [ ] `curl` med nytt JWT → 200 OK
|
|||
|
|
- [ ] Databasanslutning med gammalt lösenord → nekad
|
|||
|
|
- [ ] Databasanslutning med nytt lösenord → godkänd
|
|||
|
|
- [ ] Redis-anslutning med gammalt lösenord → nekad
|
|||
|
|
- [ ] Redis-anslutning med nytt lösenord → godkänd
|
|||
|
|
- [ ] aamos-ledger startar och svarar på health check
|
|||
|
|
- [ ] Ingen hemlighet i klartext i systemd-fil
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Post mortem (efter avslutad rotation)
|
|||
|
|
|
|||
|
|
**Datum:** TBD
|
|||
|
|
**Deltagare:** TBD
|
|||
|
|
|
|||
|
|
### Vad som gick fel
|
|||
|
|
TBD
|
|||
|
|
|
|||
|
|
### Varför det upptäcktes nu
|
|||
|
|
TBD
|
|||
|
|
|
|||
|
|
### Hur det kan förhindras i framtiden
|
|||
|
|
TBD
|
|||
|
|
|
|||
|
|
### Lärdomar
|
|||
|
|
TBD
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Referenser
|
|||
|
|
|
|||
|
|
- Engineering Contract §5: "Ingen hemlighet i konfiguration"
|
|||
|
|
- STOP-005-CRIT i EOS/audit-findings-2026-07-01.jsonl
|
|||
|
|
- Revisionsrapport: EOS/audit-summary-2026-07-01.md
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*Incident skapad av autonom revision*
|
|||
|
|
*Senast uppdaterad: 2026-07-01T13:22Z*
|
|||
|
|
*Nästa granskning: Efter Terraform-bas är klar*
|