Referenz: Web Services Reverse Proxy für DMZ sowie AccessControl

Branche: Versicherung

Kontext: Eine Gruppe von Versicherungen teilt sich eine gemeinsame Firewall. Nur über diese Firewall ist ein Zugriff auf die Server der Gruppe möglich. Die Mitglieder der Gruppe verteilen sich auf das gesamte Bundesgebiet. Einige Mitglieder der Gruppe haben SOAP basierte Web Services für externe Partner entwickelt. Bisher wurde der Apache HTTPD Server und das mod_proxy Modul als reverse proxy in der DMZ eingesetzt.

Problem: Der bisherige reverse Proxy hat Anfragen nach WSDL und Schema Dokumenten einfach nur weitergeleitet. Eine Umschreibung der in diesen Dokumenten verwendeten Adressen ist nicht erfolgt. Daher mussten die URLs in den jeweiligen Clients von Hand geändert werden.

Aufgaben: Folgende Aufgaben galt es zu lösen:

  1. Der open source Web Services Router Membrane sollte den Apache HTTPD und mod_proxy ablösen. Die URL Rewriting Funktion für WSDL und Schema des Membrane Router sollte dafür sorgen, dass alle Adressen auf die URL des Gateways umgestellt werden.
  2. Membrane Router sollte um einen Zugriffsschutz erweitert werden. Über eine ACL-Datei sollte man festlegen können, welcher Client welchen Service aufrufen darf.

Um zu evaluieren, ob der open source reverse Proxy Membrane für diese Aufgaben geeignet ist sollte Membrane entsprechend erweitert und installiert werden.

Umfang: 2 Entwicklertage sowie 1 Beratertag vor Ort

Beschreibung: Da unser SOAP Gateway noch keine Access Control Lists unterstützte haben wir zunächst eine Erweiterung dafür erstellt. Danach haben wir Membrane Router auf einem Debian Linux beim Kunden installiert. WSDL Rewriting und die ACL hat dabei auf Anhieb funktioniert. Da der Kunde nicht den Web Services Security Standard von OASIS einsetzt kam die Anforderung die Verbindungen zwischen den Clients und dem reverse Proxy mit SSL abzusichern. Zu diesem Zeitpunkt hatte Membrane noch keine Unterstützung für SSL. Der Kunde hatte dann die Idee, den Apache HTTPD vor den Membrane zu schalten, damit dieser die SSL Verschlüssselung übernimmt. Nach einer kleinen Änderung am Router hat die Installation mit HTTPD und Membrane funktioniert. Der HTTPD kümmert sich um die Verschlüsselung und Membrane Router um das URL Rewriting. Anschliessend haben wir die Änderungen am Router und die ACL Erweiterung durch JUint Tests abgesichert. Es ist geplant, den Apache HTTPD durch eine neuere Version von Membrane zu ersetzen, die auch SSL bzw. TLS unterstützt. Die Version 1.5.0 mit SSL Unterstützung ist seit Mai verfügbar.