SAP NetWeaver – clientseitiges SNI aktivieren

(Last Updated On: 20. Oktober 2017)

Und weiter geht es in der kurzen Reihe der SNI-Konfiguration im SAP-Umfeld. SNI adressiert die grundsätzliche Problematik, dass wenn ein Webserver auf einer einzigen IP-Adresse horcht und dabei über mehrere Domains erreicht werden kann, dass er dem Anfragenden das richtige TLS-Zertifikat zeigen muss – nämlich das Zertifikat für die Domain, die der Client gerade angefragt hat. Damit das allerdings funktioniert, muss auch der Client das SNI-Verfahren unterstützen. Und genau diesem Profil widmen wir uns in diesem Beitrag. Lesen Sie außerdem meinen Beitrag über die Lösung der Problematik auf der Serverseite.

Die grundlegende Problematik

In der Transaktion SM59 können Sie dem SAP System clientseitige HTTP-Verbindungen eintrichtern. Dort können Sie beispielsweise konfigurieren, dass das SAP NetWeaver ABAP Stack System über einen Forward Proxy in Ihrer Unternehmensumgebung eine URL anfrägt. Dies kann beispielsweise eine REST-API sein, von der das SAP-System eine bestimmte Antwort erwartet, um beispielsweise regelmäßig aktuelle Business-Daten von einem externen Lieferanten abzufragen – etwa den Lagerbestand eines Artikels. Dabei kann es sein, dass der Anbieter der REST-API, um bei diesem Beispiel zu bleiben, auf einer einzigen IP-Adresse mehrere Domains anbietet. Das kann beispielsweise der Fall sein, sich hinter dieser IP ein Reverse Proxy versteckt, welcher die Anfragen je nach Domain an den eigentlichen Webserver weiterleitet. Problem bei der ganzen Sache: Das anfragende SAP-System auf der Clientseite und der anbietende Webserver oder Reverse Proxy auf der Serverseite trauen sich nur dann über den Weg, wenn beide passende TLS-Zertifikate vorzuzeigen haben.  Dazu handeln der Client (unser SAP System) und der Server das richtige Zertifikat aus. Der Server zeigt dem Client so lange Zertifikate, bis das richtige auftaucht. Ist das richtige Zertifikat überhaupt nicht dabei, schlägt der TLS-Handshake trotz SNI Verfahren fehl. Austricken lässt sich das System also nicht.

SNI TLS Extension senden

SNI funktioniert dabei so, dass Sie als Client Ihrer TLS-Anfrage die sogenannte TLS Extension hinzufügen müssen. Enthält Ihre Anfrage diese Erweiterung nicht, wird das SNI-Verfahren zur Aushandlung des richtigen TLS-Zertifikates nicht angestartet. Damit das SAP System überhaupt dazu in der Lage ist, diese SNI Erweiterung zu senden, benötigen Sie SAP NetWeaver Kernel 7.22 mit Kernelpatch 223 oder höher oder Kernel 7.41 und höher. Sobald Sie die richtige Kernel-Version haben, müssen Sie sicher gehen, dass der Parameter ssl/client_sni_enabled auf den Wert TRUE gesetzt ist. Ist er dies nicht, sendet das SAP System die SNI Extension nicht. Grund dafür ist, dass es mit TLS-Servern, welche die SNI Extension noch nicht unterstützen, Probleme beim Verbindungsaufbau geben kann, wenn Sie dies tun. Für mehr Informationen, insbesondere wenn ihr SAP System auf Windows läuft, konsultieren Sie SAP Note 2384290. Inforamtionen zum Senden der SNI Extension auf dem SAP NetWeaver Java Stack, konsultieren Sie SAP Note 2284059.

Domains für SNI blacklisten

Was tun also, wenn Ihr SAP-System nicht nur mit Servern kommuniziert, bei denen Sie das SNI Verfahren einsetzen müssen, sondern auch mit Servern, welche das SNI Verfahren nicht unterstützen? In diesem Fall aktivieren Sie trotzdem SNI, lassen also den Parameter ssl/client_sni_enabled auf TRUE, konfigurieren aber in dem Parameter icm/HTTPS/client_sni_blacklist=<komma-getrennte-Liste an Domains> eine schwarze Liste mit Domains, bei denen die SNI Extension nicht mit gesendet werden soll. Sie können den Parameter dynamsich ändern, jedoch wird ohne einen Neustart der Parameter in der Transkation SMICM und in der Transaktion RZ11 immer noch falsch angezeigt werden. Lassen Sie sich davon nicht irritieren. Für mehr Informationen zu diesem Parameter konsultieren Sie SAP Note 2124480.

 

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Das könnte Dich auch interessieren...

Kommentar verfassen