Kann ein Hardware-Load-Balancer SSL-Verkehr mit SNI weiterleiten?

9

Wir haben eine Webserverfarm, auf der derzeit 2 Anwendungen gehostet werden - beide Anwendungen werden auf allen Servern ausgeführt. Wir möchten dies aufteilen, damit wir für jede App eine dedizierte Serverfarm haben (wir haben gute Gründe dafür).

Wir hatten gehofft, einen einzigen Load-Balancer vor allen Servern zu haben, der den Datenverkehr basierend auf dem Hostnamen an die richtige Farm weiterleitet, aber wir möchten SSL für die Webserver beibehalten.

Es scheint, dass die Router, die uns angeboten werden, dies nicht tun. Ich schätze, dass dies ohne SNI unmöglich ist, aber wir erwarten SNI-Indikatoren für praktisch unseren gesamten Verkehr.

Jetzt bin ich ein Programmierer, kein Netzwerk-Typ, aber wenn eine neue SSL-Verbindungsanforderung eingeht, kann der Router den SNI-Header nicht untersuchen und zur richtigen Farm weiterleiten. Ich gehe davon aus, dass die eingehende SSL-Verbindung durch {Quell-IP: Quellport} identifiziert wird. Kann sie sich also nicht an nachfolgende eingehende Pakete erinnern (wenn SNI nur im ersten Paket vorhanden ist)?

Soweit ich das beurteilen kann, tut Haproxy dies, aber es scheint, als ob Hardware-Load-Balancer dies nicht tun. Gibt es einen Grund dafür oder sollten wir darauf drängen?

(Für den letzten Wächter, der IE unter XP verwendet und kein SNI enthält, möchten wir Datenverkehr an die alte Farm senden und bei Bedarf das Proxying an die neue Farm verwalten.)

Kartoffel
quelle

Antworten:

10

Laut ihrer Website unterstützen F5-Load-Balancer SNI:

https://devcentral.f5.com/articles/ssl-profiles-part-7-server-name-indication

Sie können sogar iRules basierend auf SNI erstellen.

Haftungsausschluss :

  • Ich habe nicht überprüft, was sie auf ihrer Website behaupten
  • Ich arbeite nicht für F5 und habe seit mehr als 3 Jahren keine mehr in der Produktion verwendet.
bgtvfr
quelle
Danke für deine Antwort. Ich könnte mich in dieser Sache irren, aber ich denke, auf dieser Seite geht es eher um Webserver als um das Weiterleiten von SSL-Verkehr. Es geht um die Verwendung von SNI zur Auswahl des richtigen Zertifikats. Ich denke, es befindet sich am Ende einer SSL-Verbindung und nicht in der Mitte.
Kartoffel
1
AFAIK, auf dieser Seite wird über das Weiterleiten von SSL-Verkehr gesprochen. "... Mit der BIG-IP können Sie einem virtuellen Server mehrere SSL-Profile zuweisen, um die Verwendung der TLS-SNI-Funktion zu unterstützen. Die TLS-SNI-Funktion ist in früheren BIG- nicht verfügbar. IP-Versionen, daher sollten Sie ein Upgrade durchführen, wenn Sie nicht mit Version 11.1.0 oder höher arbeiten. Um diese Funktion zu unterstützen, muss einem virtuellen Server ein Standard-SSL-Profil für den Fallback sowie ein SSL-Profil pro HTTPS-Site zugewiesen werden. Der Fallback Das SSL-Profil wird verwendet, wenn der Servername nicht mit der Clientanforderung übereinstimmt oder wenn der Browser die SNI-Erweiterungen nicht unterstützt. "
bgtvfr
"Virtuelle Server" sind die Art und Weise, wie große IP-Adressen http / https-Verkehr zu Backend-Servern (= Apache, Tomcat, Websphere ...)
leiten
Die meisten Big Player (Cisco, Big-IP) tun dies wie oben erwähnt. Ich bin nicht sicher, warum die andere Antwort als Antwort markiert wurde.
Jim B
@ JimB Ich habe den anderen als Antwort markiert, weil ich ein Programmierer bin, der versucht, Netzwerkhardwarefunktionen auszuhandeln! Ich habe mir den Artikel weiter angesehen und kann immer noch nicht herausfinden, ob ein Gerät den Datenverkehr basierend auf der SNI-Erweiterung (je nach Bedarf) an verschiedene physische Server weiterleitet. Dies sieht jedoch relevant aus: devcentral.f5.com/questions/…
Potomato
9

kann der Router den SNI-Header nicht untersuchen,

Ein Router arbeitet normalerweise nur auf OSI-Schicht 3, dh er überprüft nicht den Inhalt des Pakets, sondern nur die Ziel-IP. Für ein auf SNI basierendes Routing wäre ein Verständnis von TCP und TLS erforderlich, das sowohl komplexer als auch (in Bezug auf die Leistung) viel teurer ist als nur ein Routing basierend auf der IP-Adresse. Und das nennt man dann normalerweise auch nicht mehr Routing.

Haproxy macht das .. Hardware Load Balancer nicht.

Sie mischen Router (Schicht 3), Hardware-Load-Balancer (Schicht 4 und möglicherweise höher) und Haproxy (Software-Load-Balancer). Ein Hardware-Load-Balancer ist nichts anderes als eine Appliance mit einem Software-Load-Balancer und möglicherweise auch einer Hardware-Beschleunigung für bestimmte Aktionen. Es gibt nichts, was einen Ausgleich (kein Routing) basierend auf SNI-Informationen auf einem Hardware-Load-Balancer von Natur aus unmöglich macht, und wie eine andere Antwort andeutet, gibt es Produkte, die dies unterstützen. Aber natürlich muss es implementiert werden und es kostet Leistung - je tiefer man den Verkehr betrachtet, desto langsamer wird er.

Steffen Ullrich
quelle
Ok, technisch so gut möglich, aber aus Leistungsgründen keine gute Idee, weshalb es nicht gemacht wird. Vielen Dank.
Kartoffel