Van state.apply tot ingetrokken in minder dan 60 seconden
Salt voor declaratieve configuratie. Vault voor secret-levering. HAProxy voor TLS-terminatie. mTLS voor service-naar-service-authenticatie. Woodpecker CI om alles te verbinden. Het resultaat: een zero-trust-runtime waar toegang per certificaat wordt verleend, in realtime waarneembaar en in minder dan een minuut intrekbaar.
Identiteit is de enige perimeter
Netwerkgrenzen lekken. VPN's voegen latentie toe zonder betekenisvol vertrouwen toe te voegen. Het enige duurzame antwoord is mTLS: elke dienst houdt een certificaat, elke verbinding wordt wederzijds geauthenticeerd, en intrekking verspreidt zich in seconden — niet na een kwartaalreview.
Wat wij vervangen
- Gebruikersnaam + wachtwoord voor interne dienstenPhishbaar, uit logs te lekken, nooit ingetrokken wanneer een medewerker vertrekt.
- Statische API-sleutels in omgevingsvariabelenLeven eeuwig voort in de Git-historie, container-images en Slack-DM's.
- „Vertrouwde” IP-reeksenVPN-gateways en NAT-traversal nemen aan dat het netwerk de vertrouwensgrens is. Dat is het niet.
- Handmatige certificaatvernieuwingenAgendaherinneringen die om 02:00 uur op een feestdag worden gemist.
Wat wij leveren
- mTLS overalElke interne dienst authenticeert clients per certificaat. EJBCA-uitgegeven, kortlevend, intrekbaar.
- Vault als credential-brokerAppRole plus dynamische secrets. Apps halen inloggegevens bij het opstarten en slaan ze nooit op.
- Salt als configuratiesubstraatDeclaratieve staat met grain-gebaseerde opt-in. CI verzendt; het omzeilt nooit.
- Live-intrekkingTrek een certificaat in EJBCA in — OCSP verspreidt zich in seconden — en clients verliezen toegang. Bij elk prospectgesprek te demonstreren.
De componenten, aan elkaar geknoopt
Een vereenvoudigd beeld van SkyQon's zero-trust-referentie-stack. Elk blok is iets dat wij op uw echte workloads uitrollen, configureren en beheren.
Salt-master + minions
Salt voor configuratiebeheer. Hosts kiezen via een pipeline_env-grain voor geautomatiseerde state-apply — root-CA- en HSM-hosts zijn per ontwerp uitgesloten. salt-api wordt via nginx vooraf geplaatst voor TLS-terminatie (workaround voor de cherrypy-chain-bug in Salt 3006).
Vault + AppRole
KV-v2 voor applicatiesecrets, AppRole voor niet-menselijke authenticatie, CIDR-gebonden tokens, bestand-auditlog. Pipelines halen secrets tijdens runtime — geen langlevende inloggegevens in CI-configuraties.
HAProxy + PROXY-v2
TLS-terminatie, SNI-gebaseerde routing, mTLS-verificatie aan de rand. PROXY-protocol v2 naar de backends zodat het client-IP behouden blijft — cruciaal voor Galera-authenticatie en audit-trails.
EJBCA + ACME + REST
De CA-backend geeft servercertificaten uit via ACME en service-account-mTLS via REST. Twee vertrouwensankers (Issuing G2 + Management) — expliciet gescheiden, nooit door elkaar gehaald.
Woodpecker CI
Pipeline-runners die linten, test-renderen en vervolgens state.apply via salt-api aanstoten. Vault-inloggegevens worden per run via AppRole opgehaald — het token wordt aan het einde van de stap ingetrokken.
Beproefd in de praktijk, niet bleeding edge
Elk component draait bij SkyQon in productie en is gehard tegen de valkuilen die u anders om 03:00 uur zou ontdekken.
Configuratie
Declaratieve staat, idempotente toepassing, afgeschermd per host-grain zodat beveiligingsgrenzen niet per ongeluk worden omzeild.
Secrets
Kortlevende tokens, CIDR-gebonden rollen, bestand-auditlog en dynamische secrets wanneer de backend dit ondersteunt.
Edge / proxy
TLS-terminatie met SNI-routing, mTLS-verificatie aan de rand, PROXY v2 om client-IP's te behouden via TCP-modus-listeners.
CI / CD
Zelf-gehoste Gitea + Woodpecker. Pipelines linten, renderen en verzenden via salt-api. Geen productietoegang zonder geslaagde PR.
Containers / VM
Proxmox-gehoste LXC voor stateful diensten, RKE2 voor stateless workloads. mTLS-beschermde ingress en inter-pod-verkeer.
Observability
Eén enkele observability-bestemming. Alle pipeline-events, alle CA-audit-events, alle mislukte mTLS-handshakes — één query, één tijdlijn.
Wilt u de live-intrekkingsdemo zien?
Het is het hoogtepunt van elk prospectgesprek. Geef een certificaat uit, krijg toegang tot een mTLS-beschermde dienst, trek het certificaat in, zie de toegang verdwijnen — alles in minder dan 60 seconden.