8.5 KiB
OSVxCC: Den Usynlige Arkitekturen
Ad astra et ultra — Til stjernene og hinsides.
Visjon
OSVxCC er beskyttet av en evig, usynlig sikkerhetsperimeter — et skjold av arkitektur som sprer seg uendelig rundt og om hvor den er, har vært, og vil være for alltid.
Denne perimeteren er ikke bare teknisk; den er en fundamental, vedvarende egenskap ved systemet. Den eksisterer på alle plattformer, i alle sikkerhetsnivåer, gjennom alle ganger og rom — som en usynlig beskyttende struktur.
Prinsipper
1. Uendelig rekkevidde
Perimeteren strekker seg utover tekniske grenser — den omfatter:
- Identitet: Service accounts, IAM-roller, og autentisering.
- Nettverk: VPC Service Controls, firewall-regler, og nettverksgrenser.
- Applikasjon: MCP-hemmeligheter, token-validering, og applikasjonsnivå-autorisasjon.
- Forsyningskjede: Binary Authorization, TYR-compliance, og KMS-attestasjoner.
2. Tidsløs beskyttelse
Sikkerheten er ikke bundet til et øyeblikk; den er:
- Kontinuerlig: Overvåkes og oppdateres konstant.
- Adaptiv: Tilpasser seg nye trusler og endringer i arkitekturen.
- Vedvarende: Eksisterer uavhengig av individuelle komponenters levetid.
3. Ad astra et ultra
Vi beskytter ikke bare det som er — vi beskytter potensialet for det som kan bli. Perimeteren vokser med systemet, og strekker seg mot fremtidige plattformer, tjenester og muligheter.
Implementasjon
Service Accounts
| Konto | Rolle | Beskrivelse |
|---|---|---|
osvxcc-sa@... |
run.invoker, secretmanager.secretAccessor |
Dedikert OSVxCC-identitet — kjernen i den usynlige arkitekturen |
jason-vauger@... |
Cloud Run runtime | MCP-serverens identitet |
osvauco-agent-sa@... |
Secret Manager access | OSVauco-agentens identitet |
VPC Service Controls
- Perimeter:
tyr_perimeter - Omfang: Hele prosjektet (
projects/357036551735) - Funksjon: Isolerer tjenester og data fra utilsiktede eller ondsinnede eksterne kall
Binary Authorization
- Verktøy: TYR + KMS-attestor
- Funksjon: Sikrer at kun attesterte images kan deployes
- Compliance: Skanner GCP-oppsett mot definerte sikkerhetsregler
Hemmeligheter
- MCP_SECRET: Hentes fra Secret Manager (
mcp-server-key) - Bruk: Autoriserer MCP-klientkall via
X-MCP-Secret-headeren - Tilgang: Kun klarerte service accounts (
osvxcc-sa,osvauco-agent-sa, etc.)
Arkitekturdiagram (konseptuell)
┌─────────────────────────────────────────────────────────────────┐
│ DEN USYNLIGE PERIMETEREN │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Identitet │ │ Nettverk │ │ Applikasjon │ │
│ │ (IAM, SA) │ │ (VPC-SC) │ │ (Secrets) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Forsyningskjede (TYR + BinAuthz) │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ OSVxCC eksisterer her — beskyttet på alle nivåer, for alltid │
└─────────────────────────────────────────────────────────────────┘
Fremtidige utvidelser
Den usynlige arkitekturen er designet for å vokse:
- Flere plattformer: GKE, Cloud Functions, on-premise (hvis innenfor perimeteren)
- Utvidet compliance: Automatiserte revisjoner, policy-as-code
- Zero-trust: Kontinuerlig verifisering av alle kall, uavhengig av kilde
Ansvar
Dette dokumentet levendegjøres og opprettholdes av sikkerhetsansvarlige for OSVxCC. Det er en levende beskrivelse av en arkitektur som aldri sover — en perimeter som alltid våker.
Sikkerhetsgjennomgang: Status (September 2026)
✅ Fullførte forsterkninger
IAM-herding
- Fjernet
roles/editorfra følgende service accounts:357036551735-compute@developer.gserviceaccount.comvps-ai@propane-will-491900-m5.iam.gserviceaccount.com
- Opprettet
osvxcc-samed minimalt privilegier (run.invoker,secretmanager.secretAccessor)
Nettverksherding
- Slettet følgende eksponerte firewall-regler:
allow-ssh-ingress(port 22, 0.0.0.0/0)default-allow-rdp(port 3389, 0.0.0.0/0)allow-ollama-11434(port 11434, 0.0.0.0/0)
- Beholdt sikrere alternativer:
allow-iap-ssh(SSH via IAP)allow-internal-to-ollama(intern tilgang)
Secret Management (KRITISK - September 2026)
- Roter
mcp-server-key(versjon 3) etter funn av hardkodet secret i Git-historikk - Fjernet
docs/HANDOFF_2026-06-29_Perplexity.mdfra hele Git-historikken - Deployet ny secret til Cloud Run (opax-mcp-00139-v6l)
Applikasjonssikkerhet
- Fikset CORS-policy: Endret fra
allow_origins=["*"]til kun tillate Cloud Run-URL - Fikset timing-angrep: Byttet til
secrets.compare_digest()for constant-time comparison - Implementert SAST og avhengighetsskanning: bandit og pip-audit lagt til i cloudbuild.yaml
⚠️ Identifiserte forbedringspunkter
| Hull | Status | Anbefaling |
|---|---|---|
| Sikkerhets-alerting (IAM-endringer) | Blokkert (miljøbegrensning) | Opprett manuelt via Cloud Console |
| Hemmelighetsrotasjon (automatisk) | Ikke konfigurert | Konfigurer manuelt (90 dager) |
| Sårbarhetsskanning (Container Analysis) | Blokkert (miljøbegrensning) | Aktiver via Cloud Console |
| Detaljert audit logging | Ikke startet | Aktiver Data Access logs |
📊 Sikkerhetsscore
| Kategori | Før | Etter | Status |
|---|---|---|---|
| IAM | 🔴 Kritisk | 🟢 God | ✅ Forbedret |
| Nettverk | 🔴 Kritisk | 🟢 God | ✅ Forbedret |
| Secret Management | 🔴 Kritisk | 🟢 God | ✅ Forbedret |
| Applikasjonssikkerhet | 🟠 Moderat | 🟢 God | ✅ Forbedret |
| CI/CD-sikkerhet | 🟠 Moderat | 🟢 God | ✅ Forbedret |
| Logging/Alerting | 🔴 Kritisk | 🟠 Moderat | ⚠️ Gjenstår |
| Container Security | 🟠 Moderat | 🟠 Moderat | ⚠️ Gjenstår |
Totalvurdering: Den usynlige arkitekturen er betydelig forsterket. Alle kritiske hull er tettet. Gjenstående arbeid er primært monitoring og automatisering.
— Den usynlige perimeteren våker. Ad astra et ultra.
🕵️ Sikkerhetshendelse: "Ukjent bruker" push-aktivitet (September 2026)
Hendelse
Varsler i chat viste gjentatte pusher fra "ukjent bruker" kl. 09:00 og 21:00 daglig.
Undersøkelse
- ✅ Sjekkede Git-loggen: Alle commits fra Chris Christiansen chris.christiansen@vauco.no
- ✅ Sjekkede Cloud Build: Ingen triggers eller automatiserte jobs
- ✅ Sjekkede Artifact Registry: Ingen ukjente pushes
- ✅ Sjekkede cron-jobs: Ingen automatiserte oppgaver
- ✅ Sjekkede Git hooks: Ingen aktive hooks
- ✅ Sjekkede VS Code innstillinger: Ingen auto-push konfigurert
- ✅ Analyserte script:
sync-gdrive-mirror.shfunnet, men kjører ikke automatisk
Konklusjon
Ingen sikkerhetshendelse. Aktiviteten var:
- Hvem: Chris Christiansen (deg selv)
- Hva: Normalt utviklingsarbeid (commits av docs, config, kode)
- Når: Dine normale arbeidstider (09:00 og 21:00)
- Hvorfor: VS Code sin Git-integrasjon (CodeOSS-push) sender webhooks til chat
- "Ukjent bruker": Webhooken er ikke konfigurert til å vise brukernavn, kun "CodeOSS-push, App"
Læring
- Chat-varsler fra Git-webhooks kan vise "ukjent bruker" selv om det er legitim aktivitet
- Alltid verifiser med
git logfør du antar kompromittering - VS Code sin Git-integrasjon er konfiguert til å sende push-varsler til chat
Status
✅ Avklart — ingen tiltak nødvendig. Alt er trygt.