AuthenticationService and CommunicationLogService‌

1. Um Messages an den inneren Server senden zu können, muss der MessageService des DMZ-Servers gestartet sein (was grundsätzlich ohnehin in einer DMZ-Konfiguration erforderlich ist). Das geschieht durch den entsprechenden Abschnitt in der Datei ./etc/factory_dmz.xml auf dem DMZ-Server. Die Remote-Schnittstelle sollte ebenfalls aktiviert werden (analog Abschnitt Konfiguration des inneren Systems‌). Diese ist z. B. erforderlich, wenn ein neuer FTP-Benutzer angelegt wird, für den auch auf dem DMZ-Server ein Home-Verzeichnis erzeugt werden soll.


2. Ein DMZ-Server oder mehrere DMZ-Server (in einem DMZ-Verbund) muss/müssen jeweils über ihren MessageAuthenticationService auf den AuthenticationService des inneren Servers zugreifen. Die Datei ./etc/auth_dmz.xml enthält als Kommentarabschnitte die wichtigsten Konfigurationsparameter. Die erforderliche Mindestangabe ist Parameter defaultTarget. Das ist die IP-Adresse oder der DNS-Name des inneren Servers. Dabei wird als Default die Portnummer 8020 verwendet.


<Configure class="com.ebd.hub.services.auth.MessageAuthenticationService">
<!-- The Message Queue for receiving from DMZ. Default if not set: System:AuthCall
<Set name="messageContext">System</Set>
<Set name="messageQueue">AuthCall</Set>
-->
<!-- Host and port for forwarding Messages. Use it if no Routes are defined for Message Service. If no routes and no defaultTarget
is defined, the service can not connect. If the port is omitted, the default port 8020 is used. -->
<Set name="defaultTarget">192.168.93.67</Set>
...


Wenn der MessageService des inneren Servers auf eine abweichenden Portnummer hört, muss die Portnummer angegeben werden, z. B. 192.168.93.67:8722

Hinweis: Das defaultTarget ist die einfachste Möglichkeit, eine Route zum inneren MessageService zu konfigurieren, falls in der Datei ./etc/message.xml (auf DMZ-Server) keine Routen konfiguriert sind. Wenn es aber für den MessageService des DMZ-Server bereits explizite Routen gibt, wird der Parameter defaultTarget vom MessageAuthenticationService ignoriert. Falls die Message Queue noch nicht existiert, wird sie beim Start erzeugt. Der Name der Queue muss mit der Konfiguration des inneren Servers (siehe Abschnitt Konfiguration des inneren Systems‌ ) übereinstimmen. Empfehlung: Verwenden Sie den Standard-Namen (Abschnitt auskommentieren). Der MessageCommunicationLogService hat analog gleichnamige Konfigurationsparameter, der Default-Wert für die Message Queue ist dort aber System:CommlogCall.

3. Die Netzverbindung zwischen dem DMZ-Server und dem inneren Server ist üblicherweise durch eine Firewall gesichert. Die Firewall-Konfiguration muss eingehende TCP-Verbindungen vom DMZ-Server (bzw. in einem DMZ-Verbund von allen DMZ-Servern) zum Message Port des inneren Servers (Default: 8020) zulassen. Der MessageAuthenticationService und der MessageCommunicationLogService arbeiten beide mit der gleichen Target-Portnummer. Die Konfiguration des Parameters defaultTarget sollte identisch sein. Dieser Port wird auch vom CommunicationForwardManager (auf DMZ-Server) genutzt. Dadurch muss in der Firewall nur ein einziger Port, der Message-Port (Default: 8020) für eingehende Verbindungen vom DMZ-Server in das innere Netz freigeschaltet werden.


4. Zusatzfunktion: Der MessageCommunicationLogService erlaubt es, genau wie der CommunicationLogService, dass sich eine Anwendung als Communication Log Listener registriert, um über Ereignisse und Einträge informiert zu werden, die vom CommunicationLogService geloggt werden. Das wird aber im Standard nicht verwendet. Um dieses Feature nutzen zu können, ist folgendes zusätzlich erforderlich.

  • DMZ-Server: Das Remote Interface des MessageServices muss aktiviert werden.

  • Firewall: TCP-Verbindung vom inneren Server zur DMZ-Remote-Schnittstelle (Port 8020) muss offen sein.