Metoda SNI (Server Name Indication) - její klady a zápory

1. 3. 2013 | Jindřich Zechmeister

Rozšíření protokolu SSL a TLS, které se nazývá SNI (Server Name Indication), pomáhá provozovatelům serverů využít více SSL certifikátů a domén na jedné IP adrese. Není již nutné pro každý jeden SSL certifikát na serveru přidělovat cennou IPv4 adresu.

Proč vzniklo toto rozšíření?

V dřívějších verzích HTTP protokolu se nepočítalo s provozem více domén na jednom serveru. Předpokládalo se, že každá doména bude mít svůj vlastní stroj. Ve svém dotazu prohlížeč neuváděl, jakou doménu chce navštívit, což se později ukázalo jako omezení. Podpora virtuálních serverů byla do protokolu HTTP doplněna ve verzi 1.1, kterou byl tento problém vyřešen. Klient v záhlaví dotazu začal uvádět, jakou doménu (virtuální server) chce navštívit.

Prakticky stejný problém však bylo nutné vyřešit při použití šifrovaného protokolu HTTPS. Název domény, kterou chce prohlížeč návštěvníka vidět, je v protokolu HTTP přenesen opět v záhlaví dotazu. Při šifrované komunikaci se napřed vymění klíče, naváže se šifrovaná komunikace, a server tudíž neví, jaký certifikát pro navázání komunikace použít. Vybere tedy náhodný, nebo první, který je uveden v konfiguraci serveru.

Takový postup samozřejmě často způsobuje záměnu, která se v prohlížeči návštěvníka projevuje nepříjemným upozorněním na chybu v zabezpečení a výzvou k opuštění webu. Důvodem je nesoulad navštívené domény a domény, pro kterou byl certifikát vystaven (Common name certifikátu).

Chyba certifikátu - liší se název domény a common name

Použití SNI (Server Name Indication) problém vyřeší

Vyčleňovat pro každý certifikát a každou zabezpečenou doménu samostatnou IP adresu je nepraktické, navíc IPv4 adresy kvapem dochází a zvyšují náklady na provoz serveru. Dynamicky se též rozvíjí technologie virtuálních serverů a cloudu, kdy je na jednom fyzickém serveru hostováno více různých domén. Stávající technologie stály před výzvou, jak se s problémem vypořádat a výsledkem je právě podpora metody SNI (Server Name Indication). 

Podpora SNI musí být na obou stranách, jak na serveru, tak i u klienta. Klient podporující SNI může před výměnou šifrovacích klíčů nejprve sdělit jméno požadovaného webového serveru a server tak může vybrat příslušný šifrovací klíč (certifikát) požadovaného virtuálního serveru nebo domény. Na jedné IP adrese potom mohou být různé domény s různými SSL certifikáty a problém nenastane.

Kompatibilita operačních systémů a prohlížečů

Kompatibilita metody SNI s prohlížeči a operačními systémy návštěvníků je bohužel zatím její slabinou. Dynamickému rozšíření metody SNI na serverech zatím brání nekompatibilita systému Windows XP v kombinaci s Internet Explorerem 8 a nižším. Prohlížeče "externí" již títmto problémem netrpí. Poskytovatelé webhostingu zapnutí metody SNI na serverech podporují, ale stále preferují nasazení SSL certifikátu spolu s doménou na svou samostatnou IP adresu. 

Prohlížeče

Prohlížeče s podporou TLS server name indication

  • Mozilla Firefox 2.0 nebo novější
  • Opera 8.0 nebo novější (musí být povolen protokol TLS)
  • Internet Explorer 7 (Vista, ne XP) nebo novější
  • Google Chrome
  • Safari 3.2.1 Mac OS X 10.5.6

Servery

  • Apache 2.2.12 nebo novější s podporou mod_gnutls nebo mod_ssl
  • Cherokee, jestliže je kompilovaný s TLS podporou
  • Nové verze lighttpd 1.4.x a 1.5.x
  • Nginx doprovázený vestavěným OpenSSL s SNI podporou
  • Microsoft IIS 8 - Ve Windows Server 8 Beta je již podpora vazeb s SNI

Knihovny

  • NameGerson NSS
  • OpenSSL 0.9.8f – zkompilované s volbou --enable-tlsext; verze 1.0.0 obsahuje podporu SNI
  • GNU TLS

Nepodporované operační systémy a prohlížečeLogo windows XP
Následující kombinace nepodporují SNI

  • Windows XP a Internet Explorer 6,7 a 8
  • Konqueror/KDE nižší než 4.7
  • Microsoft Internet Information Server IIS do verze 7 (včetně)

Zdroj: Článek wikipedia

Obáváte se problémů s SNI? Využijte SAN certifikát!

Pokud nechcete riskovat, že některý z vašich návštěvníků opustí vaše stránky kvůli výše zmíněné chybě, můžete problém vyřešit s použitím SSL certifikátu se SAN. SAN alternativní jména rozšiřují certifikát o další domény, pro které je důvěryhodný. Celkově můžete mít až 25 domén na jednom serveru s jednou IP adresou, pro kterou bude platný jeden SSL certifikát se SAN.

Certifikační autorita GeoTrust

Z naší nabídky pro tento účel doporučuji certifikát GeoTrust True BusinessID, který podporuje až 24 SAN názvů, včetně interních názvů server a privátních IP adres. Zabezpečit můžete též svůj server Microsoft Exchange.
Cena tohoto univerzálního SSL certifikátu začíná již na 2 498 Kč ročně!

Neváhejte se v případě potřeby obrátit na naši zákaznickou podporu. Nově se na pracovníky podpory můžete obrátit i přes živý online chat.


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz