Web Services Atomic Transaction-Sicherheit

Web Services Atomic Transaction (WS-AT) definiert eigene interne Web-Services, die als Teil des Protokolls verwendet werden. Diese internen Web-Services werden während der Transaktionsinitialisierung und während der Verarbeitung des Festschreibung oder des Rollbacks aufgerufen. Währenddessen ist für WS-AT eine wechselseitige Übertragung erforderlich. Für WS-AT ist ein DMZ-Proxy erforderlich, damit Liberty-Server in einer typischen Firewallumgebung ausgeführt werden können und die Authentifizierung von HTTPS-Endpunkten möglich ist. Im Folgenden ist beschrieben, wie Sie Proxy und Security Socket Layer (SSL) für WS-AT in Liberty konfigurieren.

Firewall-Proxy

Wenn sich Liberty-Server in einer typischen Firewallumgebung befinden, können die Server nicht über die Firewalls miteinander kommunizieren. In dieser Situation benötigen die Server einen DMZ-Proxy, damit sie normal ausgeführt werden können. Sie können Proxy-Endpunkte definieren, indem Sie die Datei server.xml konfigurieren.

Legen Sie beispielsweise IBM HTTP Server (IHS) als DMZ-Proxy fest. Führen Sie die folgenden Schritte aus, damit die beiden Liberty-Server, wie in Abbildung 1 gezeigt, über IHS miteinander kommunizieren können:
  1. Konfigurieren Sie das IHS-Plug-in so, dass Anforderungen an Liberty-Server weitergeleitet werden. Weitere Informationen finden Sie unter Web-Server-Plug-in für Liberty konfigurieren.
    • Konfigurieren Sie für IHS 1 das IHS 1-Plug-in so, dass Anforderungen an Liberty A weitergeleitet werden, und fügen Sie die Angabe <Uri Name="/ibm/wsatservice/*"/> im Element <UriGroup> hinzu.
    • Konfigurieren Sie für IHS 2 das IHS 2-Plug-in so, dass Anforderungen an Liberty B weitergeleitet werden, und fügen Sie die Angabe <Uri Name="/ibm/wsatservice/*"/> im Element <UriGroup> hinzu.
  2. Fügen Sie den Parameter externalURLPrefix der Datei server.xml in Liberty hinzu:
    • Legen Sie in Liberty A für externalURLPrefix den Wert http://proxyserver1:80 für IHS 1 wie folgt fest:
      <wsAtomicTransaction externalURLPrefix="http://proxyserver1:80"/> 
    • Legen Sie in Liberty B für externalURLPrefix den Wert http://proxyserver2:81 für IHS 2 wie folgt fest:
      <wsAtomicTransaction externalURLPrefix="http://proxyserver2:81"/> 
Abbildung 1. Kommunikation zwischen zwei Liberty-Servern über IHS
Wenn zwischen Liberty A und Liberty B eine Firewall vorhanden ist, kann Liberty A EPRb1 an Liberty B über IHS 1 senden. Liberty B empfängt aber EPRb anstelle von EPRb1 und umgekehrt.

Secure Sockets Layer

Liberty-Server kommunizieren standardmäßig ohne SSL. Wenn die WS-AT-Sicherheit erforderlich ist und Sicherheitsinformationen an einen sicheren Port weitergeleitet werden, müssen Sie das Liberty-Feature appSecurity-2.0 der Datei server.xml hinzufügen. Sie können SSL in Liberty auch mit den Anweisungen unter Securing Liberty and its applications aktivieren.

Sie können SSL für die WS-AT-Sicherheit mit den folgenden Elementen konfigurieren:
<wsAtomicTransaction SSLEnabled="false" SSLRef="defaultSSLConfig" clientAuth="false"/>
Erläuterungen:
SSLEnabled
Gibt an, ob SSL für WS-AT aktiviert ist. Die gültigen Werte sind "true" und "false". Der Standardwert ist "false". Geben Sie den Wert "true" an, um SSL zu aktivieren.
SSLRef
Definiert die SSL-Konfiguration in der Datei server.xml. WS-AT benötigt diese SSL-Konfiguration für die Kommunikation.
clientAuth
Gibt an, ob die Clientauthentifizierung für WS-AT aktiviert ist. Die gültigen Werte sind "true" und "false". Der Standardwert ist "false". Vergewissern Sie sich, dass der Wert von clientAuthenticationSupported in der SSL-Konfiguration "true" ist, bevor Sie für clientAuth den Wert "true" zum Aktivieren der Clientauthentifizierung festlegen.
Wichtig: Die SSL-Konfiguration gilt nur auf Liberty-Serverebene.
Tipp: Im folgenden Code-Snippet ist der Standardwert von SSLEnabled "false". Wenn Sie SSL und Proxy aktivieren möchten, geben Sie für SSLEnabled den Wert "true" und für externalURLPrefix eine Proxy-Adresse an, die mit https:// beginnt.
<wsAtomicTransaction SSLEnabled="false" SSLRef="defaultSSLConfig" externalURLPrefix="" clientAuth="false"/> 

Symbol das den Typ des Artikels anzeigt. Referenzartikel

Dateiname: rwlp_dep_wsat_sec_lib.html