Beiträge

Sichere Kommunikation mit Nuclos einrichten

Abhörsicher

Wer Nuclos selber betreiben möchte, sollte den Datenaustausch mittels HTTPS einrichten. Das ist die durch Verschlüsselung abhörsicher gemachte Variante von HTTP (Hypertext Transfer Protocol). Dafür benötigt der Anwendungsserver Tomcat ein Zertifikat, das man sich selbst ausstellen oder von einer autorisierten Stelle (Certifcate Authority – CA) bestätigen lassen kann. Die selbst ausgestellten Zertifikate sind nicht per se unsicherer, führen aber zu Sicherheitswarnungen von Oracle Java, das Zertifikate stets bei den CA’s validieren möchte. Novabit empfiehlt in seinen Installationshinweisen im Abschnitt „Konfiguration von HTTPS“ deshalb den Einsatz offizieller Zertifkate. Solche gibt es kostenlos von der Let’s-Encrypt-Initiative, die dann aber recht häufig aktualisiert werden müssen. Eine Suche nach „Letsencrypt tomcat“ liefert einschlägige Hinweise. Kostenpflichtige Zertifikate bieten unterschiedliche Laufzeiten und müssen entsprechend seltener angepasst werden. Für die teuren EV-Zertifikate mit „Extended Validation“ muss man ein „Doing business as“-Dokument, z.B. einen Eintrag im Gewerbe- oder Handelsregister, vorweisen können.

Auch bei unverschlüsselten Verbindungen über HTTP sendet Oracle Java Warnhinweise wegen mangelnder Sicherheit. Das sieht nicht nur unschön aus, sondern hat gute Gründe. Es ist durchaus möglich, das die unverschlüsselte Kommunikation zukünftig ganz unterbunden wird.

Verschlüsselung mit Reverse Proxy

Es ist möglich, Nuclos im internen Netzwerk unverschlüsselt über HTTP zu betreiben und die Verschlüsselung in Richtung Client mit einem Reverse Proxy zu gewährleisten. Der kommuniziert dann verschlüsselt mit dem Java- oder Webclient nach „draußen“ und nach „drinnen“ unverschlüsselt mit dem Nuclos-Tomcat. Dafür muss man aber sowohl die Konfiguration von Reverse Proxy als auch die des Nuclos-Tomcat entsprechend pflegen. Der Webclient kann in einem solchen HTTP/HTTPS-Mischbetrieb aufgrund von CORS-Problemen aber nicht verwendet werden. Ein Grund mehr, Nuclos generell für die Kommunikation per HTTPS einzurichten.

Konfigurationsbeispiel

Die folgenden Beispiele werden ohne Gewähr für Richtigkeit oder Funktionsfähigkeit gegeben. Sie müssen sie in Ihrer Umgebung prüfen und ggf. anpassen. Die Anforderungen an eine korrekte Verschlüsselung verändern sich auch mit der Zeit. Dennoch hier ein Hinweis für die Konfiguration der Tomcat-Engine (Version 7.0.63) und des Reverse Proxy nginx.

Szenario: Es wird HTTPS zwischen Client und Reverse Proxy verwendet, und der Reverse Proxy kommuniziert ebenfalls per HTTPS mit Nuclos, um die o.g. CORS-Probleme mit dem Webclient zu vermeiden.

In der Datei server.xml (Pfad abhängig von Nuclos-Installation, z.B. /opt/nuclos/tomcat/apache-tomcat-7.0.63/conf/server.xml).

<Connector SSLEnabled="true"
           clientAuth="false"
           keystoreFile="/opt/nuclos/extra/.keystore"
           keystorePass="ihrgeheimespasswort"
           maxThreads="150"
           port="443"
           protocol="HTTP/1.1"
           proxyName="nuclos.irgend.wo"
           proxyPort="443"
           scheme="https"
           secure="true"
           sslProtocol="TLS"/>

Und so kann die Konfiguration für den Reverse Proxy „nginx“ aussehen:

server {
    listen       443;
    server_name  nuclos.irgend.wo;
    location /nuclos {
          proxy_set_header X-Forwarded-Host $host;
          proxy_set_header X-Forwarded-Server $host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto "https";
          proxy_pass https://nuclos.local:443/nuclos;
          proxy_redirect off;
    }
    location /webclient {
          proxy_set_header X-Forwarded-Host $host;
          proxy_set_header X-Forwarded-Server $host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto "https";
          proxy_pass https://nuclos.local:443/webclient;
          proxy_redirect off;
    }
}

Lösung für den Online-Handel – Automated/Assisted Fullfillment

Sie sind im Online-Handel tätig und liefern schnell und zuverlässig. Die Aufträge kommen aus Ihrem eigenen Shop oder dem eines Partners, und das Sendungsvolumen wächst. Wir haben für einen Kunden eine Lösung auf Basis von leistungsfähigen Open-Source-Komponenten erstellt, die den nötigen Datenaustausch und den sogenannten „Order-to-Cash“-Prozess automatisiert bzw. unterstützt. Die betriebswirtschaftliche Abwicklung wurde mit dem ERP-Baukastensystem Nuclos realisiert, und der Datenaustausch vom Auftragseingang bis zur Sammelrechnung läuft mit dem Enterprise Service Bus von Talend. Diese Kombination ist leistungsfähig und äußerst flexibel anpassbar. Als Datenbanksystem kommt PostgreSQL zum Einsatz. Damit fallen keine Lizenzkosten an – die Anzahl der Benutzer und das Datenvolumen sind nur durch die eingesetzte Hardware begrenzt.


2015-11-09 Online Trade Solution auf Basis von Nuclos

Mit dem Verwaltungskram wollen Sie sich nicht länger aufhalten als nötig, aber alles muss passen: Auf die Verfügbarkeit müssen Sie sich verlassen können, die Versandbenachrichtigungen müssen automatisch raus, und die Rechnungen müssen stimmen. Ihr wachsendes Geschäft verändert sich laufend, und mit Software „von der Stange“ erreichen Sie den gewünschten Automatisierungsgrad nicht. Hier sehen Sie einen realen Prozessablauf – Ihrer sieht wahrscheinlich etwas anders aus:

2015-11-09 Auftragsabwicklung

 

 

Die DATEV-Schnittstelle zum Steuerberater, die Einkaufsunterstützung („Procure-to-Pay“) und die Bestandsverwaltung bieten Stoff für einen weiteren Beitrag…

Portfolio Einträge