Hvordan konfigurerer man SNI korrekt i Zimbra OSE?

I begyndelsen af det 21. århundrede var ressourcen, som IPv4-adresser, næsten udtømt. Allerede i 2011 tildelte IANA de sidste fem resterende /8 blokke fra sit adresseområde til regionale Internetregistratorer, og i 2017 var adresserne også udtømt for dem. Svaret på den katastrofale mangel på IPv4-adresser blev ikke kun introduktionen af IPv6-protokollen, men også SNI-teknologi, som muliggør hosting af et stort antal websites på én IPv4-adresse. Essensen af SNI er, at det er en udvidelse, der gør det muligt for klienterne at informere serveren om navnet på det website, de ønsker at forbinde til, under handshake-processen. Dette muliggør, at serveren kan opbevare mange certifikater, hvilket gør det muligt at understøtte mange domæner på én IP-adresse. SNI-teknologien er især efterspurgt blandt SaaS-udbydere for virksomheder, som nu kan hoste praktisk talt et ubegribelig antal domæner uden at være afhængige af det nødvendige antal IPv4-adresser. Lad os finde ud af, hvordan vi kan implementere SNI-support i Zimbra Collaboration Suite Open-Source Edition.

Hvordan konfigurerer man SNI korrekt i Zimbra OSE?

SNI fungerer på alle aktuelle og understøttede versioner af Zimbra OSE. Hvis du har Zimbra Open-Source, som kører på en multiserverinfrastruktur, skal du udføre alle de følgende trin på noden med den installerede Zimbra Proxy-server. Derudover har du brug for matchende par certifikat + nøgle samt betroede certifikatkæder fra dit certifikatcenter for hvert af de domæner, du ønsker at hoste på din IPv4-adresse. Vi vil gerne understrege, at årsagen til langt de fleste fejl ved opsætning af SNI i Zimbra OSE netop ligger i ukorrekte certifikatfiler. Derfor anbefaler vi, at du kontrollerer alt nøje, inden de bliver installeret.

Først og fremmest, for at SNI kan fungere korrekt, skal du indtaste kommandoen zmprov mcf zimbraReverseProxySNIEnabled TRUE på noden med Zimbra Proxy-serveren og derefter genstarte Proxy-tjenesten ved hjælp af kommandoen zmproxyctl restart.

Lad os begynde med at oprette et domænenavn. For eksempel vil vi tage domænet company.ru Og efter at domænet er oprettet, lad os bestemme navnet på Zimbra-virtuel vært og den virtuelle IP-adresse. Vi understreger, at navnet på Zimbra-virtuel vært skal svare til navnet, som brugeren skal indtaste i browserens adressefelt for at få adgang til domænet, samt matche navnet angivet i certifikatet. Som eksempel vil vi tage navnet på den virtuelle vært Zimbra. mail.company.ru, og som den virtuelle IPv4-adresse bruger vi adressen 1.2.3.4.

Efter dette er det tilstrækkeligt at indtaste kommandoen zmprov md company.ru zimbraVirtualHostName mail.company.ru zimbraVirtualIPAddress 1.2.3.4, for at knytte den virtuelle Zimbra-vært til den virtuelle IP-adressen. Vi bemærker, at hvis serveren befinder sig bag NAT eller firewall, er det vigtigt at sikre, at alle forespørgsler til domænet sendes til den eksterne IP-adresse knyttet til det, og ikke til dens adresse i det lokale netværk.

Når alt er gjort, er det kun tilbage at kontrollere og forberede domænets certifikater til installation, og derefter installere dem.

Hvis udstedelsen af certifikatet til domænet er gået korrekt, bør du have tre filer med certifikater: to af dem repræsenterer kæder af certifikater fra dit certifikationscenter, og én er det direkte certifikat til domænet. Derudover skal du have en fil med den nøgle, som du brugte til at få certifikatet. Opret en separat mappe /tmp/company.ru og placér alle eksisterende filer med nøgler og certifikater der. Resultatet bør blive noget i denne stil:

ls /tmp/company.ru
company.ru.key
 company.ru.crt
 company.ru.root.crt
 company.ru.intermediate.crt

Derefter sammenfletter vi kæderne af certifikater i én fil ved hjælp af kommandoen cat company.ru.root.crt company.ru.intermediate.crt >> company.ru_ca.crt og sikrer, at alt er i orden med certifikaterne ved hjælp af kommandoen /opt/zimbra/bin/zmcertmgr verifycrt comm /tmp/company.ru/company.ru.key /tmp/company.ru/company.ru.crt /tmp/company.ru/company.ru_ca.crt. Når kontrollen af certifikaterne og nøgle er vellykket, kan installationen begynde.

For at starte installationen skal vi først sammenflette certifikatet til domænet og de betroede kæder fra certifikationscentre i én fil. Dette gøres også ved hjælp af en kommando som cat company.ru.crt company.ru_ca.crt >> company.ru.bundle. Efter dette er det nødvendigt at udføre kommandoen for at skrive alle certifikater og nøgler til LDAP: /opt/zimbra/libexec/zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key, og derefter installere certifikaterne ved hjælp af kommandoen /opt/zimbra/libexec/zmdomaincertmgr deploycrts. Efter installationen vil certifikaterne og nøglen til domænet company.ru blive opbevaret i en mappe /opt/zimbra/conf/domaincerts/company.ru. 

Ved at gentage disse handlinger med forskellige domænenavne, men den samme IP-adresse, kan man hoste flere hundrede domæner på én IPv4-adresse. Derudover kan man uden problemer bruge certifikater fra forskellige udstedercentre. Man kan kontrollere rigtigheden af alle udførte handlinger i enhver browser, hvor hver virtuel værtsnavn skal vise sin egen SSL-certifikat. 

Hvis du har spørgsmål vedrørende Zextras Suite, kan du kontakte virksomhedens repræsentant "Zextras", Ekaterina Triandafiliidi, på e-mail katerina@zextras.com

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster