Files
boc/EOS/incidents/STOP-005-CRIT-2026-07-01.md
T
Bernt 05ed037fe8 pilot.landvex.com: HTTPS + Full Stack Verified
- DNS: pilot.landvex.com -> 16.170.83.169
- TLS: Let's Encrypt certificate (expires 2026-09-30)
- Nginx: reverse proxy with SSL termination
- API: https://pilot.landvex.com/api/v1/missions
- UI: https://pilot.landvex.com/
- Upload: POST /api/v1/missions/import (multipart/form-data)

Verified:
 https://pilot.landvex.com/health
 https://pilot.landvex.com/version
 https://pilot.landvex.com/api/v1/missions (list)
 https://pilot.landvex.com/api/v1/missions/:id (get)
 POST /api/v1/missions/import (video upload)
 UI loads with title 'LandveX Intelligence Lab'

Next: Pilot 001 — Break the system!
2026-07-02 17:34:19 +00:00

164 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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*