Så fungerar sslbrain
Arkitektur, säkerhet och dataflöden.
sslbrain Cloud och er sslbrain-appliance
Er sslbrain-appliance körs lokalt hos er. sslbrain Cloud utfärdar certifikaten och levererar dem tillbaka.
- Stannar på appliancen: privata nycklar skapas här · krypterat valv (XChaCha20-Poly1305) · huvudnyckel bara i minnet · papperskod med 12 ord låser upp lokalt.
- Appliancen kommunicerar med sslbrain Cloud bara via utgående, E2E-krypterade anslutningar på port 443. sslbrain Cloud drivs av ett EU-företag med hosting i EU.
- Cloud hanterar: inloggningar till Cloud · aviseringar via e-post · licens och betalning · CSR:er och publika certifikat.
- Cloud ser aldrig: privata nycklar · inloggningsuppgifter till servrar och appliance · valvets innehåll (servernamn, IP-adresser, OS och programvara, tjänster, SSL-bindningar och inställningar, lokala användare) · inloggningsuppgifter till DNS-API:t* (*om ni inte väljer att använda dem för ACME i Cloud).
Vilka data som går vart
Era data stannar på appliancen och syns bara i den lokala kontrollpanelen med lokal åtkomst. sslbrain Cloud kan inte hämta eller se dem.
Från appliancen skickas bara data för de funktioner ni använder: data om offentligt utfärdade certifikat, data för inloggning i sslbrain Cloud, data till ACME-servern och ACME-klienten i sslbrain Cloud samt de server- och certifikatdata ni väljer att ta med i e-postvarningar.
Till sslbrain Cloud skickas anonyma metadata när ni utfärdar certifikat och använder DNS-API-proxyn.
Om ni vill kan ni låta sslbrain Cloud ta emot vissa diagnostikdata, skicka serverinformation i varningsmejl och ta emot loggar för felsökning och för att förbättra produkten och agenterna.
Nycklarna till ert DNS-API kan stanna i ert nätverk. Appliancen anropar DNS-leverantören direkt eller via vår proxy med TLS hela vägen till DNS-leverantören, så sslbrain Cloud kan inte läsa dem. Vill ni använda ACME-klienter direkt mot sslbrain Cloud kan ni välja att spara nycklarna där.
Appliancens vault krypteras med XChaCha20-Poly1305 och en 256-bitarsnyckel. Meddelanden mellan appliancen och serviceagenterna är signerade och krypterade med AES-256-GCM, både direkt och via sslbrain Cloud, som inte kan läsa dem.
sslbrain och era servrar
Två modeller: push via SSH eller API till nätverksutrustning och molntjänster, eller pull via serviceagenten på era servrar.
- Windows- och Linux-servrar får en serviceagent. Den hämtar certifikatet från appliancen och installerar det på sin egen server: IIS, Exchange, RDP och SQL Server på Windows, Nginx, Apache och Postfix på Linux.
- Utrustning som inte kan köra en agent, till exempel FortiGate, F5, NetScaler och Palo Alto, får certifikatet från appliancen. Den loggar in via utrustningens API (oftast port 443) eller över SSH (port 22) och installerar det. Ingen programvara installeras på utrustningen.
- Molntjänster som AWS, Azure och Cloudflare får certifikatet från appliancen via sitt API.
- Appliancen lagrar bara inloggningsuppgifter till utrustning utan agent, krypterade i sin vault. Varje leverans kontrolleras, och om den misslyckas kan sslbrain rulla tillbaka till certifikatet som fanns där innan.
sslbrain hanterar certifikat för alla plattformar från ett och samma ställe, oavsett om det är Windows, Linux, nätverksutrustning eller molntjänster.
Många platser, en appliance
Servrar på ett filialkontor, i en DMZ eller hos en hostingleverantör får en serviceagent som kommunicerar via sslbrain Cloud. Det behövs ingen VPN, och inga portar öppnas för inkommande anslutningar.
- sslbrain-appliancen står på huvudkontoret. Vart och ett av de andra nätverken, till exempel ett filialkontor, en DMZ, ett datacenter eller ett kundnätverk, får en serviceagent.
- Varje nätverk har bara utgående anslutningar till sslbrain Cloud, på port 443 genom sin egen brandvägg. Det finns inga anslutningar mellan nätverken.
- Serviceagenten levererar certifikat till utrustningen i sitt eget nätverk, till exempel FortiGate, webbserver, F5, NetScaler eller brandvägg.
- Ingen VPN och inga inkommande portar. En serviceagent per nätverk räcker.
En appliance, många kundnätverk
Sköter ni IT åt flera kunder kan en appliance i ert eget nätverk betjäna dem alla. Varje kunds nätverk, även en DMZ, får en egen serviceagent och ansluter bara utåt till sslbrain Cloud.
- En sslbrain-appliance i ert eget nätverk hanterar certifikat för många kundnätverk. De privata nycklarna skapas på appliancen, inte i sslbrain Cloud.
- Varje kundnätverk får en serviceagent. En kunds DMZ är ett eget nätverk med en egen serviceagent.
- Varje nätverk har bara utgående anslutningar till sslbrain Cloud, på port 443 genom sin egen brandvägg. Det finns inga anslutningar mellan kunderna och inte heller mellan en kunds LAN och DMZ.
- Serviceagenten levererar certifikat till utrustningen i sitt eget nätverk, till exempel en Windows-server, F5, FortiGate eller NetScaler.
- Ingen VPN till kunderna och inga inkommande portar.
Certifikatflödet för ACME i sslbrain Cloud
sslbrain Cloud provar CA:erna i prioritetsordning och byter automatiskt om en CA inte svarar.
- sslbrain-appliancen skapar den privata nyckeln i ert nätverk. sslbrain Cloud ser den aldrig.
- Appliancen skickar certifikatbegäran (CSR) till sslbrain Cloud via en utgående HTTPS-anslutning på port 443, krypterad hela vägen (E2E). I det här flödet kommunicerar appliancen bara med sslbrain Cloud.
- sslbrain Cloud visar att domänen är er, på det sätt ni väljer: CNAME-vidarebefordran till your.autodns.sslbrain.net, åtkomst till er DNS-leverantörs API eller en TXT-post för dns-persist-01. Det räcker med en av dem.
- Certifikatet utfärdas av en CA: Let’s Encrypt, DigiCert, Google Public CA, Sectigo eller GlobalSign. sslbrain Cloud följer en prioriterad lista och går vidare till nästa CA om en misslyckas.
- Det utfärdade certifikatet kommer tillbaka till appliancen över samma utgående anslutning.
- Appliancen levererar det dit det används: serviceagenter på Windows- och Linux-servrar (IIS, Exchange, Nginx, Apache) hämtar det, och appliancen skickar det till FortiGate, F5, NetScaler, Palo Alto och annan utrustning.
Kostnadsfria CA:er som Let's Encrypt och Google Public CA används direkt. Kommersiella CA:er som DigiCert, GlobalSign och Sectigo kräver en enhetslicens.
Vault och kryptering
Alla lokala data är krypterade. Nyckeln som låser upp dem hämtas från sslbrain Cloud.
Huvudnyckeln finns bara hos er, på appliancen. sslbrain Cloud har bara en nyckel som öppnar appliancens krypterade kopia av huvudnyckeln. Utan appliancen ger den ingen åtkomst till era data.
Två sätt att låsa upp
Vid start hämtar appliancen nyckeln från sslbrain Cloud, öppnar vaulten och raderar sedan nyckeln ur minnet. Utan sslbrain Cloud öppnas vaulten med de 12 backup-orden, som ni får under den första konfigurationen. FairSSL har ingen kopia av dem.
Skydd mot kopiering
En kopia av databasen fungerar inte på en annan maskin. sslbrain Cloud känner igen den ursprungliga installationen, och en kopierad appliance låses tills kontoägaren har bekräftat den.
Signerade agenter
FairSSL:s agenter och skript signeras med ECDSA P-384 på en fysisk YubiKey. Egna agenter signeras av er appliance. Inget körs osignerat.
- FairSSL signerar varje version av appliancen, serviceagenterna och installationsagenterna med en hårdvarunyckel (YubiKey).
- Appliancen installerar bara signerad kod. Uppdateringar kommer automatiskt, eller så godkänner ni dem manuellt.
- Alla skript kan läsas innan de körs på era servrar.
- Servrarna kör bara signerade skript, och parametrarna filtreras för att skydda mot injektionsattacker.
- En klonad appliance måste godkännas innan den körs.
Förslag från användare granskas, låses och släpps av FairSSL under FairSSL:s signatur. Om vi signerar något har vi granskat koden.
Ni bestämmer vad agenterna får köra
Som standard kör serviceagenterna bara installationsagenter och skript som är signerade med FairSSL:s hårdvarunyckel. Varje server har sina egna regler för vad som får köras, och reglerna kan låsas centralt med Group Policy. Appliancen kan inte ändra dem.
Kod som kan granskas
Allt kan granskas. Ingen dold kod och inga svarta lådor.
Allt som körs hos er är läsbar kod: appliancen, serviceagenterna och installationsagenterna för push och pull. Inget hos er är dolt. Windows-agenten levereras som MSI, och ni kan själva bygga den från källkoden. Koden finns på github.com/sslbrain.
Agenterna består av YAML-definitioner och skript som ni kan läsa i kontrollpanelen och på GitHub. Windows-serviceagenten är en signerad Windows-tjänst som avvisar osignerade skript. sslbrain sköter ACME mot CA:n, så era servrar behöver aldrig själva kommunicera med en CA.
Om något komprometteras
Vad en angripare kan och inte kan göra i varje del av systemet.
sslbrain Cloud
Kan stoppa en appliance, vilket är skyddet mot kloning, och neka en licens. Kan inte se de data som finns på appliancen, styra appliancen, skicka uppgifter till era servrar eller installera något. Uppdateringar kräver FairSSL:s YubiKey-signatur, och ni kan välja manuell uppdatering.
Appliancen
Kan be de agenter som redan är installerade att köra FairSSL-signerade agentpaket med indata som angriparen väljer. Ett paket kan bara göra det som det är byggt för: certifikat, bindningar och omstart av den tillhörande tjänsten. Kan inte ge ut uppdateringar eller nya FairSSL-agenter. Egna agenter körs bara på servrar där ni har aktiverat dem. Angriparen kan använda inloggningsuppgifterna för push i appliancens vault.
En serviceagent
Ger bara åtkomst till den server där den är installerad. Agentens nyckel kan inte användas till andra servrar, och appliancen kan spärra den.
Prova sslbrain
Skriv upp er på listan, så hör vi av oss så snart Free kan installeras.