Was ist SNI (Server Name Indication) und wie funktioniert es?

SNI (Server Name Indication)

Das Betreiben mehrerer HTTPS-Websites unter derselben IP-Adresse ist heute gängige Praxis. Aber das war nicht immer der Fall. Ursprünglich brauchten Sie für jede Domain, die Sie sichern wollten, eine eigene IP-Adresse. Die Einführung der Server Name Indication (SNI) veränderte jedoch die gesamte SSL-Landschaft. In diesem Artikel erklären wir, was SNI ist, wie es funktioniert und warum Sie es möglicherweise brauchen. Um den gesamten Prozess besser zu verstehen, müssen wir einen Schritt zurück in die Zeit vor der Gründung der SNI gehen.

Inhaltsübersicht

  1. Vor SNI: Namensbasierte Hosts und ihre Unvereinbarkeit mit HTTPS
  2. Was ist SNI?
  3. Warum die SNI?
  4. Wie funktioniert SNI?
  5. Was sind die Vorteile der SNI?
  6. Was sind die Unterschiede zwischen SNI und SANs?
  7. Wildcard-Zertifikate vs. SNI-Zertifikate
  8. Welche Browser unterstützen SNI?
  9. Hat die SNI irgendwelche Nachteile?
  10. Warum ist die SPV nicht weiter verbreitet?
  11. Was ist verschlüsselte SNI (ESNI)?

Vor SNI: Namensbasierte Hosts und ihre Unvereinbarkeit mit HTTPS

Vor mehr als einem Jahrzehnt verwendete nur ein kleiner Teil der Websites das HTTPS-Protokoll. HTTP war immer noch der König. Wenn Sie heute mehrere HTTP-Websites unter derselben IP-Adresse hosten möchten, können Sie namensbasierte Hosts verwenden. Wenn Sie beispielsweise drei HTTP-Sites unter derselben IP-Adresse betreiben und ein Benutzer eine Verbindung zu einer bestimmten Site herstellt, verwendet diese einen eindeutigen HTTP-Header, der den Hostnamen enthält. Als Antwort identifiziert Ihr Server diese Kopfzeile, stimmt sie ab und sendet dem Benutzer das gewünschte Ziel.

Dieser Ansatz funktioniert, bis HTTPS ins Spiel kommt, und dann nicht mehr. Da SSL/TLS einen Handshake erfordert, um eine sichere Verbindung zwischen einem Client und einem Server herzustellen, kann der HTTP-Header mit dem erforderlichen Hostnamen nicht heruntergeladen werden, bevor der Handshake abgeschlossen ist. Der Server weiß einfach nicht, welche Website er abgleichen und den Nutzer dorthin schicken soll. Hier kommt die SNI zur Hilfe.

Was ist SNI?

SNI ist eine Erweiterung des TLS-Protokolls (Transport Layer Security), die es mehreren Websites ermöglicht, dieselbe IP-Adresse zu nutzen. Es ermöglicht Webservern, mehrere SSL/TLS-Zertifikate auf derselben IP zu hosten, ein wesentlicher Vorteil für Websites, die HTTPS zur Verschlüsselung ihrer Kommunikation mit den Benutzern verwenden.

Wir alle wissen, dass TLS das kryptografische Protokoll ist, das sensible Daten bei der Übertragung schützt (falls nicht, finden Sie hier einen kurzen technischen Überblick über SSL/TLS-Zertifikate), aber TLS allein ist in bestimmten Situationen alles andere als perfekt. Eine solche unumgängliche Situation ist der Betrieb mehrerer SSL-Zertifikate auf derselben IP-Adresse. TLS kann das nicht, es sei denn, es bekommt ein bisschen Hilfe von einer Erweiterung

Genau wie die Erweiterungen Ihres Browsers mehr Funktionen und bessere Funktionalität bieten, ist SNI eine Erweiterung des TLS/SSL-Protokolls, die es Benutzern ermöglicht, mehrere SSL-Zertifikate auf einer einzigen IP-Adresse zu hosten. SNI tut dies, indem es den HTTP-Header in den SSL/TLS-Handshake einfügt.

Bevor SNI 2003 zu einer TLS-Erweiterung wurde, war für jede Website, die Sie verschlüsseln wollten, eine eindeutige IP-Adresse erforderlich. Dies hat zu enormen Kosten geführt, aber, was noch besorgniserregender ist, zu einem raschen Verbrauch von IPv4-IP-Adressen. Eindeutige IP-Adressen sind nicht unbegrenzt vorhanden. Das Internet-Protokoll Version 4 hat zum Beispiel etwa vier Milliarden Adressen.

Vor dem Aufkommen der SNI gab es echte Bedenken, dass die IPv4-Adressen vor der Einführung des neuen IPv6 ausgehen würden. SNI konnte diese Befürchtungen zerstreuen und die Erschöpfung von IPv4 verlangsamen. Eine weitere gute Nachricht: IPv6 verfügt über rund 340 Undezillionen Adressen. Das sind 340 gefolgt von 36 Nullen. Ein solcher Betrag dürfte für die absehbare Zukunft ausreichen.

Warum die SNI?

SNI ermöglicht es Website-Besitzern, die Kommunikation mit ihren Benutzern und Kunden zu sichern, indem es die Verwaltung von SSL-Zertifikaten erleichtert. Ohne SNI bräuchte jede Website eine eigene IP-Adresse, um die HTTPS-Verschlüsselung zu nutzen, was für kleine Unternehmen und Firmen mit knappem Budget teuer werden könnte.

SNI erleichtert auch die Verwaltung von Websites, da Webserver nun mehrere SSL/TLS-Zertifikate auf derselben IP-Adresse hosten können. Dies bedeutet, dass Website-Besitzer problemlos Websites zu ihren Hosting-Konten hinzufügen oder entfernen können.

Wie funktioniert SNI?

Wenn Sie eine Website über HTTPS besuchen, müssen Ihr Webbrowser und der Server der Website eine sichere Verbindung über den SSL/TLS-Handshake herstellen. Bei diesem Vorgang sendet der Webbrowser eine Nachricht an den Server, die den Hostnamen der Website enthält.

Im Falle von SNI ist der Hostname der Website in der Client-Hallo-Nachricht enthalten, was es dem Server ermöglicht, das richtige Zertifikat für die Server-Hallo-Nachricht auszuwählen. Daher kann der Server mehrere SSL-Zertifikate auf derselben IP-Adresse hosten.

Die meisten modernen Webserver und Browser unterstützen SNI, ältere Versionen jedoch möglicherweise nicht. In diesen Fällen erhält der Webbrowser möglicherweise ein allgemeines SSL-Zertifikat anstelle des richtigen, was zu Warnungen oder Fehlern führen kann.

Was sind die Vorteile der SNI?

SNI hat die gesamte Hosting-Landschaft bei der Installation und Verwaltung von SSL-Zertifikaten verändert. Hier sind seine wichtigsten Vorteile:

  • Multi-Domain-Hosting. Mit SNI können Sie mehrere Websites auf einem einzigen Server und unter einer einzigen IP-Adresse hosten und sichern. SNI senkt die Hosting-Kosten erheblich und rationalisiert die SSL-Verwaltung.
  • Flexibilität. SNI bietet die Flexibilität, Websites zu einem Server hinzuzufügen oder von ihm zu entfernen, ohne den Server neu konfigurieren oder zusätzliche IP-Adressen beziehen zu müssen.
  • Bessere Nutzung der Ressourcen. SNI ermöglicht eine bessere Nutzung von Ressourcen wie IP-Adressen, die knapp und teuer sein können. Wenn Sie mehrere Websites auf derselben IP-Adresse hosten, verlangsamen Sie die Erschöpfung von IPv4 – dem Hauptprotokoll, das uns die Verbindung zum Internet ermöglicht.

Was sind die Unterschiede zwischen SNI und SANs?

SNI und SANs sind beides Methoden zur Unterstützung mehrerer SSL-Zertifikate auf einem einzigen Server. Sie unterscheiden sich jedoch in der Art und Weise, wie sie diese Unterstützung leisten. Der Hauptunterschied zwischen SNI und SANs besteht darin, dass SNI eine serverseitige Technologie ist, während SANs eine Zertifikatsfunktion darstellen.

Wie Sie bereits wissen, ermöglicht SNI einem Webserver, mehrere Zertifikate auf einer einzigen IP-Adresse zu hosten. Wenn ein Client eine Verbindung zum Server herstellt, kann der Server mit Hilfe von SNI anhand des Domänennamens, den der Client bei der ersten Anfrage angegeben hat, feststellen, welches Zertifikat zu verwenden ist.

SANs hingegen sind eine Funktion von SSL-Zertifikaten, die es ermöglicht, mit einem einzigen Zertifikat mehrere Domainnamen in einer Installation zu schützen. Ein SAN-Zertifikat enthält eine Liste zusätzlicher Domainnamen (auch als Subject Alternative Names bezeichnet), die Sie mit demselben Zertifikat schützen können.

Was die Kompatibilität betrifft, so unterstützen die meisten modernen Webbrowser und Server SNI und SANs. Einige Altsysteme könnten jedoch nicht mit ihnen kompatibel sein.

Wildcard-Zertifikate vs. SNI-Zertifikate

Ein Wildcard SSL-Zertifikat sichert eine Domain und alle ihre Subdomains (unbegrenzt) unter einem einzigen SSL-Zertifikat. Wildcard ist eine weitere Funktion von SSL-Zertifikaten, genau wie SANs. Eine Wildcard-SSL-Option ist praktisch und kostengünstig, wenn Ihre Website mehrere Subdomains wie new.yourwebsite.com oder blog.yourwebsite.com hat.

SNI-Zertifikate gibt es nicht, da SNI kein inhärentes Merkmal von SSL-Zertifikaten ist, sondern eine TLS-Erweiterung auf der Serverseite. Wenn Ihr Server SNI unterstützt, können Sie jeden SSL-Typ auf mehreren Domains mit derselben IP-Adresse hinzufügen.

Welche Browser unterstützen SNI?

SNI ist jetzt mit 99 % der Browser und allen wichtigen Serversystemen kompatibel. Chrome, Mozilla, Opera, Safari und weniger bekannte Browser unterstützen alle SNI. Sie können SNI auf Apache, Nginx, Ubuntu, Debian, CentOS und vielen anderen gängigen Systemen implementieren. Einige der Bibliotheken, die SNI unterstützen, sind Open SSL, GnutTLS, Python, Oracle und Java. Wann immer Sie mehrere Websites über eine einzige IP-Adresse sichern müssen, nutzen Sie SNI zu Ihrem Vorteil.

Was passiert, wenn der Webbrowser SNI nicht unterstützt?

Wenn ein Webbrowser SNI nicht unterstützt, ist er nicht in der Lage, eine sichere Verbindung mit einem Server herzustellen, der SNI zum Hosten mehrerer SSL/TLS-Zertifikate verwendet. Infolgedessen kann der Nutzer nicht auf die Website zugreifen. Außerdem erhält der Nutzer eine Fehlermeldung, die darauf hinweist, dass die betreffende Website nicht sicher ist.

Hat die SNI irgendwelche Nachteile?

Die SNI hat zwar erhebliche Vorteile, doch gibt es auch einige potenzielle Nachteile. Zum einen kann SNI langsamer sein als die Verwendung einer dedizierten IP-Adresse oder einer Nicht-SNI-Lösung. Dies liegt daran, dass der Server einen zusätzlichen Schritt durchführen muss, um das richtige SSL/TLS-Zertifikat zu identifizieren und eine sichere Verbindung herzustellen.

Ein weiterer Nachteil ist, dass nicht alle Webbrowser und Server SNI unterstützen. Wenn Sie einen älteren Browser oder eine ältere Plattform verwenden, können Kompatibilitätsprobleme auftreten, die zu Fehlern oder Sicherheitslücken führen können.

Warum ist die SPV nicht weiter verbreitet?

Einige Unternehmen bevorzugen aus Sicherheitsgründen die Verwendung dedizierter IP-Adressen. Diese Maßnahmen können einen zusätzlichen Schutz gegen Cyberangriffe wie IP-Spoofing bieten. Viele Altsysteme unterstützen SNI nicht, auch das ist ein Faktor. Da die Verschlüsselung jedoch allgegenwärtig ist, wird die SNI-Implementierung immer häufiger eingesetzt.

Was ist verschlüsselte SNI (ESNI)?

Bei der verschlüsselten SNI (ESNI) handelt es sich um eine neue Technologie, mit der einige der mit der SNI verbundenen potenziellen Sicherheitsschwachstellen behoben werden sollen. ESNI verschlüsselt die SNI-Informationen so, dass sie nicht von Dritten abgefangen werden können. So wird die Privatsphäre des Nutzers geschützt und verhindert, dass Angreifer den TLS-Handshake-Prozess ausspähen, um herauszufinden, welche Websites der Nutzer besucht.

ESNI wird von Webbrowsern und Servern noch nicht umfassend unterstützt.

Welche Browser unterstützen ESNI?

Derzeit ist Firefox der einzige gängige Browser, der SNI unterstützt.

Schlussfolgerung

Dieser Artikel behandelt die Server Name Indication aus allen Blickwinkeln und Aspekten. Da Sie nun wissen, was SNI ist, können Sie es für Ihre Websites und Projekte übernehmen. Die meisten Systeme sind mit SNI kompatibel, da es eine wesentliche Erweiterung in der heutigen Webhosting-Umgebung ist. Da HTTPS der neue Webstandard ist, erleichtert SNI die Migration vom veralteten HTTP-Protokoll.

Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!

Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

Geschrieben von

Erfahrener Content-Autor, spezialisiert auf SSL-Zertifikate. Verwandeln Sie komplexe Cybersicherheitsthemen in klare, ansprechende Inhalte. Tragen Sie durch wirkungsvolle Narrative zur Verbesserung der digitalen Sicherheit bei.