Beveiliging door structuur, niet door patches
De OmegaOS™ Kernel is standaard fail-closed, structureel append-only en conceptueel advisory-only. Elke beschermingsmaatregel is structureel — geïntegreerd in het schema, de runtime en het implementatiemodel.
Dreigingsmodel
Ongeautoriseerde gegevenstoegang
Ingedamd door row-level security (RLS) die per tenant op Postgres-niveau wordt gehandhaafd, en API-sleutelauthenticatie met ~285 bit entropie.
Manipulatie van het auditlogboek
Ingedamd door append-only schema. Runtime-diensten (runtime, hovo_app) kunnen uitsluitend INSERT uitvoeren — geen UPDATE of DELETE op logboektabellen. Intrekkingen genereren nieuwe records.
Licentieomzeiling
Ingedamd door Ed25519 offline-verificatie. De openbare sleutel wordt bij compilatie ingebed. Geen licentieserver, geen netwerkafhankelijkheid. Gemanipuleerde tokens falen bij de cryptografische verificatie.
Gelekte builds
Ingedamd door build-fingerprinting. Elk binary embed bij compilatie git_sha + build_timestamp + customer_tag. De vingerafdruk verschijnt in health checks en beslislogboeken.
Standaard fail-closed
Wanneer het upstream-PDP onbereikbaar is of de evaluatie faalt, valt de gateway in enforce-modus standaard terug op DENY (weigeren). Dit wordt beheerd door OPA_FAIL_MODE, dat standaard op closed staat.
Fail-open systemen verlenen stilzwijgend toegang bij uitval. Fail-closed systemen blokkeren toegang bij uitval. Voor nalevingsgevoelige omgevingen is fail-closed de veilige standaard.
| Scenario | Fail-closed | Fail-open |
|---|---|---|
| OPA onbereikbaar | 403 Forbidden | Synthetisch allow (gelogd) |
| Interne fout | 403 Forbidden | Synthetisch allow (gelogd) |
| Licentie verlopen | Auto-downgrade naar OBSERVE | |
Row-Level Security (RLS)
Elke query doorloopt Postgres-RLS-beleidsregels. De rol hovo_app kan uitsluitend rijen benaderen die overeenkomen met de huidige tenantcontext, die aan het begin van elke transactie wordt ingesteld.
Zelfs als een aanvaller SQL-injectie uitvoert via de applicatielaag, kan hij geen gegevens van een andere tenant benaderen — de database handhaaft isolatie op rijniveau.
| Rol | RLS | Gebruikt door |
|---|---|---|
| hovo_admin | BYPASSRLS | CLI-tools, migraties |
| hovo_app | Gehandhaafd | hovo-api, hovo-gateway |
hovo_admin wordt nooit door runtime-diensten gebruikt. Het is beperkt tot operator-tools die separaat worden uitgevoerd.
Append-only logboek
Zes logboektabellen zijn voor de runtime-rol beperkt tot INSERT-only. Geen beslissing kan achteraf worden gewijzigd.
API-sleutelauthenticatie
- Formaat:
delk_+ 48 alfanumerieke tekens (~285 bit entropie) - Opslag: bcrypt gehasht (cost 12) — leesbare tekst wordt eenmalig getoond bij aanmaak
- Rotatie: Maximaal 2 hashes per tenant voor zero-downtime sleutelwisseling
- Toewijzing: API-sleutel → tenant_id is de enige bron van waarheid voor de RLS-context
Licentieverificatie
- Algoritme: Ed25519 handtekeningverificatie
- Sleutelbeheer: Openbare sleutel is bij compilatie ingebed in het binary
- Netwerk: Volledig offline — geen licentieserver, geen phone-home
- Terugval: Verlopen/ongeldige tokens zetten de gateway automatisch terug naar OBSERVE
Build-watermarking
Elk binary embed bij compilatie een forensische vingerafdruk voor traceerbaarheid.
customer_tag bevatten dat moet overeenkomen met de ingebedde tag van het build. Niet-overeenkomende tags maken de licentie ongeldig — zo wordt hergebruik van licenties over verschillende klantbuilds voorkomen.
Netwerkharding
Kubernetes
NetworkPolicy beperkt het verkeer: alleen de gateway accepteert externe verbindingen. De API is uitsluitend cluster-intern. Admin-tools worden als eenmalige jobs uitgevoerd, niet als persistente deployments.
HTTP-limieten
Max. body size: 1 MiB (configureerbaar). Request timeout: 30 seconden. OPA connect timeout: 3 seconden. OPA read timeout: 10 seconden. Alles configureerbaar via omgevingsvariabelen.
Containerbeveiliging
Non-root gebruiker (65534), alleen-lezen root-bestandssysteem, alle capabilities verwijderd, seccomp RuntimeDefault profiel. Geen privilege-escalatie toegestaan.
Infrastructuur & jurisdictie
De infrastructuur die deze website ondersteunt wordt gehost in Zwitserland en opereert onder Zwitserse jurisdictie.
- Gegevenshosting binnen Zwitserland
- Onderworpen aan het Zwitserse rechtskader
- Geen opzettelijke overdracht van gegevens buiten Zwitserland
- Geen gedragsanalyses door derden
Verken de implementatieopties
De beveiligingsarchitectuur is consistent over alle edities heen. Kies het implementatiebereik dat past bij uw governance-vereisten.
Edities verkennen