05ed037fe8
- 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!
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*
|