Sådan fungerer sslbrain
Arkitektur, sikkerhed og dataflow.
Din sslbrain og sslbrain Cloud (EU)
Din sslbrain kører lokalt hos dig. Cloud udsteder certifikaterne og leverer dem tilbage.
- Private nøgler dannes på sslbrain On-Premise og bliver der sammen med adgangsoplysningerne til jeres servere og udstyr.
- On-Premise taler kun med sslbrain Cloud (EU), udgående på port 443. Virksomheden bag Cloud og dens hosting er i EU.
- Beskeder til service-agenter via Cloud er krypteret hele vejen (E2E): Cloud sender dem videre, men kan ikke læse dem.
- Cloud håndterer login, e-mailadvarsler, licensen og de offentlige certifikater. Nøgler til jeres DNS-API bliver hos jer, medmindre I vælger at gemme dem i Cloud.
Hvilke data går hvorhen
Jeres data bliver på appliancen og ses kun i det lokale kontrolpanel med lokal adgang. Cloud kan ikke hente eller se dem.
Ud af appliancen sendes kun det, I bruger: data om offentligt udstedte certifikater, login til Cloud, data til Cloud-ACME-server og -klient, og de server- og certifikatdata, I vælger at få med i e-mail-advarsler.
Til Cloud sendes anonym metadata, når I udsteder certifikater og bruger DNS-API-proxyen.
Valgfrit kan I give Cloud adgang til bestemte diagnosedata, afsendelse af serverinformation i advarselsmails og logs til fejlfinding og til at forbedre produktet og integrationerne.
DNS-API-credentials kan blive på jeres netværk. Appliancen kalder DNS-udbyderen direkte eller gennem vores proxy med TLS hele vejen til DNS-udbyderen, så Cloud kan ikke læse dem. Vil I bruge ACME-klienter direkte mod Cloud, kan de valgfrit gemmes i Cloud.
Appliancens vault krypterer med XChaCha20-Poly1305 og en nøgle på 256 bit. Beskeder mellem appliancen og service-agenterne er signeret og krypteret med AES-256-GCM, både direkte og via Cloud, som ikke kan læse dem.
sslbrain og dine servere
To modeller: push via SSH eller API til netværksudstyr og cloud-tjenester, eller pull via service-agenten på jeres servere.
- Push-installation: udstyr, der ikke kan køre en agent, fx FortiGate, F5, pfSense, NetScaler og Palo Alto, får certifikatet fra sslbrain On-Premise. On-Premise logger ind gennem udstyrets API (som regel port 443) eller over SSH (port 22) og installerer det. Der installeres intet på udstyret.
- Windows- og Linux-servere får en service-agent. Den installerer certifikatet på sin egen server: IIS, Exchange, RDP og SQL Server på Windows, nginx, Apache og Postfix på Linux.
- Fra Professional kan en service-agent også pushe til andre servere og enheder i sit netværk, fx en HAProxy.
- Cloud-tjenester som AWS, Azure og Cloudflare får certifikatet fra On-Premise gennem deres API.
- On-Premise gemmer kun logins til udstyr uden agent, krypteret i sin vault. Hver levering kontrolleres, og fejler den, kan det tidligere certifikat gendannes.
Løsningen sslbrain håndterer alle platforme med certifikater fra ét sted, uanset om det er Windows, Linux, netværksudstyr eller cloud-tjenester.
Mange lokationer, én appliance
Servere i filialer, i en DMZ eller hos en hostingudbyder får en service-agent, der går via sslbrain Cloud. Der skal ikke bruges VPN, og der åbnes ingen porte ind.
- På hovedkontoret står sslbrain On-Premise. Hvert af de andre netværk, fx en fjernlokation, en DMZ, et datacenter eller et kundenetværk, får én service-agent.
- Hvert netværk forbinder kun udgående på port 443, gennem sin egen firewall, til sslbrain Cloud (EU). Der er ingen forbindelser mellem netværkene.
- En service-agent forbinder til On-Premise via sslbrain Cloud (EU), E2E: Cloud sender beskederne videre og kan ikke læse dem.
- Service-agenten installerer certifikater på sin egen server og sender dem med push til udstyret i sit netværk, fx en SonicWall, F5, FortiGate eller NetScaler.
- Ingen VPN og ingen porte ind. Én service-agent pr. netværk er nok.
Én appliance, mange kundenetværk
Driver I it for flere kunder, kan én appliance i jeres eget netværk betjene dem alle. Hver kundes netværk, også en DMZ, får sin egen service-agent og forbinder kun udad til sslbrain Cloud.
- Én installation af sslbrain On-Premise i jeres eget netværk betjener mange kundenetværk. De private nøgler dannes der, ikke i sslbrain Cloud (EU).
- Hvert kundenetværk får en service-agent. En kundes DMZ er et netværk for sig med sin egen service-agent.
- Hvert netværk forbinder kun udgående på port 443, gennem sin egen firewall, til Cloud. Service-agenterne forbinder via sslbrain Cloud (EU), E2E. Der er ingen forbindelser mellem kunderne.
- Service-agenten sender certifikater med push til udstyret i sit eget netværk, fx FortiGate, F5, SonicWall eller en Windows-server.
- Ingen VPN til kunderne og ingen porte ind.
ACME Cloud certifikatflow
Cloud prøver CA'erne efter en prioriteret liste og skifter automatisk ved fejl.
- I jeres netværk danner sslbrain On-Premise den private nøgle. Den ses aldrig af sslbrain Cloud (EU).
- On-Premise sender certifikatanmodningen (CSR) til Cloud, udgående HTTPS på port 443. I dette flow taler On-Premise kun med Cloud.
- Cloud beviser, at domænet er jeres, på den måde I vælger: CNAME viderestilling til your.autodns.sslbrain.net, adgang til jeres DNS-udbyders API eller en dns-persist-01 TXT-post. Én af dem er nok.
- CA’en udsteder certifikatet: Let’s Encrypt, DigiCert, Google Public CA, Sectigo eller GlobalSign. Cloud følger en prioriteret liste og går videre til næste CA, hvis én fejler.
- Det offentlige certifikat kommer retur til On-Premise over den samme udgående forbindelse.
- On-Premise leverer det, hvor det bruges: service-agenter på Windows- og Linux-servere (IIS, Exchange, nginx, Apache) installerer det, og On-Premise sender det med push til F5, FortiGate, NetScaler, Palo Alto og andet udstyr.
Gratis CA'er som Let's Encrypt og Google Public CA bruges direkte. Betalte CA'er som DigiCert, GlobalSign og Sectigo kræver en enhedslicens.
Vault og kryptering
Al lokal data er krypteret. Cloud har kun en oplåsningsnøgle, ikke jeres data.
Hovednøglen ligger kun hos jer, på appliancen. Cloud har kun en oplåsningsnøgle, der åbner appliancens krypterede kopi af hovednøglen. Uden appliancen giver den ingen adgang til jeres data.
To måder at låse op på
Ved opstart henter appliancen oplåsningsnøglen fra sslbrain Cloud, åbner vault'en og sletter nøglen fra hukommelsen igen. Uden sslbrain Cloud åbner I vault'en med de 12 backup-ord, som I får ved den første opsætning. FairSSL har ingen kopi af dem.
Beskyttelse mod kopiering
En kopi af databasen virker ikke på en anden maskine. Cloud genkender den oprindelige installation, og en kopieret appliance låses, indtil kontoejeren har bekræftet den.
Signering af integrationer
FairSSL's integrationer og scripts signeres med ECDSA P-384 på en fysisk YubiKey. Egne integrationer signeres af jeres appliance. Intet kører usigneret.
- Appliance-imaget og integrationerne signeres med en hardwarenøgle (YubiKey). Service-agenterne hentes fra et signeret katalog, og Windows-filerne er Authenticode-signerede.
- Med sslbrain On-Premise installeres kun signeret kode. Opdateringer kommer automatisk, eller I godkender dem manuelt.
- Service-agenter kontrollerer signaturen, før noget kører, og kører kun signerede scripts; parametrene filtreres mod injection.
- Kildekoden kan læses: alle scripts kan læses, før de kører på jeres servere.
- En klonet appliance skal godkendes, før den kører.
Forslag fra brugere gennemgås, låses og udgives af FairSSL under FairSSL's signatur. Hvis vi signerer det, har vi gennemgået koden.
Du bestemmer, hvad integrationerne må køre
Som standard kører service-agenterne kun integrationer og scripts signeret med FairSSL's hardwarenøgle. Hver server har sit eget regelsæt for, hvad der må køre, og reglerne kan låses centralt via Group Policy. Appliancen kan ikke ændre dem.
Kodetransparens
Alt kan inspiceres. Ingen skjult kode, ingen black boxes.
Koden til appliancen, service-agenterne og integrationerne kan I læse i sslbrain Cloud under Kildekode med en gratis konto. Koden er tilgængelig under FairSSL Proprietary Source-Visible License v1, som er en proprietær licens.
Integrationerne er YAML og scripts, som I kan læse i kontrolpanelet og på GitHub. Windows-service-agenten er en signeret Windows-tjeneste, der afviser usignerede scripts. Løsningen sslbrain taler ACME med CA'en, så jeres servere ikke selv skal tale med en CA.
Hvis noget bliver kompromitteret
Hvad en angriber kan og ikke kan i hver del af systemet.
sslbrain Cloud
Kan stoppe en appliance, som er låsen mod kloning, og nægte en licens. Kan ikke se de data, der ligger på appliancen, styre appliancen, sende opgaver til jeres servere eller installere noget. Opdateringer kræver FairSSL's YubiKey-signatur, og I kan vælge manuel opdatering.
Appliancen
Kan bede de service-agenter, der allerede er installeret, om at køre FairSSL-signerede integrationer med input, angriberen vælger. En pakke kan kun det, den er lavet til: certifikater, bindings og genstart af den tjeneste, der hører til. Kan ikke udgive opdateringer eller nye FairSSL-integrationer. Egne integrationer kører kun, hvor I har slået dem til på serveren. Push-adgangene i appliancens vault kan angriberen bruge.
En service-agent
Giver kun adgang til den server, den står på. Dens nøgle kan ikke bruges til andre servere, og appliancen kan spærre den.