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.

Tegning: sslbrain On-Premise med en hængelås og noterne "private nøgler dannes her" og "logins til udstyr bliver her". En forseglet kuvert sendes gennem sslbrain Cloud (EU), mærket "kan ikke læse", til en Windows- og en Linux-service-agent.
  • 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.

Detaljer i manualen

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.

Tegning: sslbrain On-Premise sender certifikater med push til en FortiGate, en F5 og en pfSense (Push-installation) og til en Windows-service-agent, som sender et videre med push til en HAProxy (Push-installation).
  • 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.

Tegning: sslbrain Cloud (EU) øverst og tre adskilte netværk under, uden linjer mellem dem: hovedkontoret med sslbrain On-Premise, en fjernlokation med en Windows-service-agent og en SonicWall og en DMZ med en Linux-service-agent og en F5. Hvert netværk har én linje op til Cloud, udgående på port 443; service-agenternes linjer er E2E. Hver service-agent sender certifikatet med push til boksen ved siden af.
  • 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.
Servere uden for jeres netværk i manualen

É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.

Tegning: sslbrain On-Premise i jeres netværk forbinder til sslbrain Cloud (EU), 443 ud. Under Cloud er tre adskilte kundenetværk, A, B og C, uden linjer mellem dem. I hvert netværk forbinder en service-agent til Cloud, 443 ud, E2E, og sender certifikatet med push til kundens FortiGate, F5 eller SonicWall.
  • É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.

Tegning: certifikatets rejse. Med sslbrain On-Premise bliver den private nøgle lokalt, og kun CSR’en sendes til sslbrain Cloud (EU), 443 ud. Cloud validerer domænet gennem DNS-API’et og får CA’en til at udstede certifikatet, som kommer retur til On-Premise. On-Premise sender det med push til en F5 og en FortiGate.
  • 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.

Tegning: sslbrain On-Premise med en krypteret vault. En oplåsningsnøgle kommer fra sslbrain Cloud (EU) og ligger kun i hukommelsen; et ark med de 12 backup-ord åbner vaulten uden Cloud. En kopi af databasen på en anden maskine forbliver låst.

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.

Tegning: en udgivelse signeres af sslbrain med en hardwarenøgle. Den signerede pakke sendes til en Linux-service-agent, der kontrollerer signaturen, før pakken køres, og ved siden af ligger en side med kildekode, I kan læse.
  • 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.

FairSSL-signeret: kun scripts signeret af FairSSL
Community: en indstilling i script-politikken. Kataloget har i dag ingen community-scripts
Egne integrationer: signeres af jeres appliance og kører kun på en server, hvor I selv har slået det til
Frys koden: afvis alt signeret efter en valgt dato

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.

Læs mere i manualen

Prøv sslbrain

Opret en gratis konto, og installér Free.