Technologieführer

OpenERP SSL auf Ubuntu 10.04 einrichten

6 min read Serverkonfiguration Aktualisiert 02 Oct 2025
OpenERP SSL auf Ubuntu 10.04 einrichten
OpenERP SSL auf Ubuntu 10.04 einrichten

Überblick

In diesem Beitrag beschreibe ich die aktuelle Methode, um verschlüsselten (SSL/TLS) Zugriff auf einen frisch eingerichteten OpenERP-Server unter Ubuntu 10.04 LTS bereitzustellen. Apache fungiert als Proxy und übernimmt die SSL-Terminierung für Web-Client- und WebDAV/CalDAV-Zugriffe. Der GTK-Client verbindet sich über eine verschlüsselte XMLRPC-Verbindung direkt mit OpenERP.

Hinweis: In dieser Anleitung verwenden wir selbstsignierte Zertifikate. Die Vor- und Nachteile von selbstsignierten Zertifikaten werden hier nicht vollständig behandelt; für Produktionsumgebungen ist eine CA‑signierte Lösung oder Let’s Encrypt empfehlenswert.

Kernkonzepte (eine Zeile)

  • SSL/TLS-Termination: Der Proxy (Apache) verschlüsselt den Verkehr nach außen und leitet unverschlüsselt lokal zu OpenERP weiter.
  • WebDAV/CalDAV: Kalender- und Dateizugriff, wird an den XMLRPC-Port weitergeleitet.

Schritt 11.1: Apache und Module installieren

Installieren Sie Apache auf dem Server:

sudo apt-get install apache2

Aktivieren Sie die benötigten Module (mod_ssl, mod_proxy, mod_proxy_http, mod_headers und optional mod_rewrite):

sudo a2enmod ssl proxy_http headers rewrite

Wichtig: Unter Debian/Ubuntu unterscheidet sich die Apache-Paketierung leicht von anderen Distributionen. Nützliche Hinweise finden Sie lokal unter /usr/share/doc/apache2.2-common/README.Debian.gz.

Schritt 11.2: Zertifikat und Schlüssel erstellen

Wechseln Sie in ein temporäres Verzeichnis, erzeugen Sie Schlüssel, CSR und ein selbstsigniertes Zertifikat. Ich arbeite in einem temporären Ordner und verschiebe Dateien später an ihren endgültigen Ort:

cd
mkdir temp
cd temp

Erzeugen Sie einen neuen privaten Schlüssel (Sie werden nach einer Passphrase gefragt):

openssl genrsa -des3 -out server.pkey 1024

Um die Passphrase beim Starten des Dienstes nicht eingeben zu müssen, entfernen Sie die Passphrase:

openssl rsa -in server.pkey -out server.key

Erstellen Sie die Zertifikatsanforderung (CSR):

openssl req -new -key server.key -out server.csr

Sie werden durch die üblichen Felder geführt (Country, State, Common Name etc.). Der Common Name sollte Ihre Domain oder IP sein, die der Client im Browser verwendet.

Erzeugen Sie das selbstsignierte Zertifikat (gültig z. B. 365 Tage):

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Anschließend setzen Sie Besitzer und Berechtigungen:

sudo chown openerp:root server.crt server.key
sudo chmod 640 server.crt server.key

Erstellen Sie einen sicheren Ordner und verschieben Sie die Dateien dorthin:

sudo mkdir /etc/ssl/openerp
sudo chown openerp:root /etc/ssl/openerp
sudo chmod 710 /etc/ssl/openerp
sudo mv server.crt server.key /etc/ssl/openerp/

Schritt 11.3: Apache VirtualHost-Konfiguration erstellen

Erstellen Sie die neue Site-Konfiguration:

sudo nano /etc/apache2/sites-available/openerp-ssl

Fügen Sie folgenden Inhalt ein (unverändert als Konfiguration):


   SSLEngine on
   SSLCertificateFile /etc/ssl/openerp/server.crt
   SSLCertificateKeyFile /etc/ssl/openerp/server.key
   ProxyRequests Off
 
   Order deny,allow
   Allow from all
 
   ProxyVia On
   ProxyPass /webdav/ http://127.0.0.1:8069/webdav/
 
   ProxyPassReverse /webdav/
 
   Order Deny,Allow
   Allow from all
   Satisfy Any
 
 
   ProxyPass / http://127.0.0.1:8080/
 
   ProxyPassReverse /
 
   RequestHeader set "X-Forwarded-Proto" "https"
   # Fix IE problem (httpapache proxy dav error 408/409)
   SetEnv proxy-nokeepalive 1

Erläuterung: Es gibt zwei Proxy-Regeln — eine für /webdav/ (leitet an XMLRPC) und eine für / (leitet an den Web-Client auf Port 8080). Die Reihenfolge ist wichtig: /webdav/ muss vor / stehen.

Aktivieren Sie die Site:

sudo a2ensite openerp-ssl

Optional: HTTP auf HTTPS umleiten. Fügen Sie in /etc/apache2/sites-available/default folgendes hinzu (außerhalb von -Blöcken):

RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]

Schritt 11.4: OpenERP-Server- und Web-Client-Konfiguration anpassen

Damit die unverschlüsselten Dienste nur lokal erreichbar sind, konfigurieren Sie OpenERP so, dass die nicht-verschlüsselten Interfaces auf localhost beschränkt werden. Außerdem geben Sie Pfade zum Schlüssel und Zertifikat an.

Bearbeiten Sie /etc/openerp-server.conf:

sudo nano /etc/openerp-server.conf

Setzen Sie folgende Werte:

xmlrpc = True
xmlrpc_interface = 127.0.0.1
xmlrpc_port = 8069
netrpc = True
netrpc_interface = 127.0.0.1
netrpc_port = 8070
xmlrpcs = True
xmlrpcs_interface =
xmlrpcs_port = 8071
secure_pkey_file = /etc/ssl/openerp/server.key
secure_cert_file = /etc/ssl/openerp/server.crt

Für WebDAV/CalDAV fügen Sie unten im Config-File hinzu:

[webdav]
enable = True
vdir = webdav

Bearbeiten Sie die Web-Client-Konfiguration /etc/openerp-web.conf, damit auch dieser nur localhost annimmt:

sudo nano /etc/openerp-web.conf

Verwenden Sie folgende Einstellungen (gerade Anführungszeichen und korrekte IP geprüft):

# Some server parameters that you may want to tweak
server.socket_host = "127.0.0.1"
# Set to True if you are deploying your App behind a proxy
# e.g. Apache using mod_proxy
tools.proxy.on = True
# If your proxy does not add the X-Forwarded-Host header, set
# the following to the *public* host url.
tools.proxy.base = 'https://your-ip-or-domain'
# Set to false to disable CSRF checks
tools.csrf.on = False

Wichtig: Ersetzen Sie ‘https://your-ip-or-domain’ durch Ihre öffentliche Domain oder IP.

Schritt 11.5: Dienste neu starten und testen

Starten Sie die Dienste neu:

sudo service openerp-server restart
sudo service openerp-web restart
sudo service apache2 restart

Tests und Akzeptanzkriterien:

  • Der Web-Client auf Port 8080 darf von außen nicht erreichbar sein.
  • GTK-Client sollte nicht über NetRPC (8070) oder XMLRPC (8069) erreichbar sein.
  • Für Web-Zugriff öffnen Sie https://your-ip-or-domain im Browser.
  • Im GTK-Client verwenden Sie Port 8071 (XMLRPC Secure).
  • CalDAV-Beispiel-URL:
https://your-ip-or-domain/webdav/DB_NAME/calendars/users/USERNAME/c/CALENDAR_NAME

Verwenden Sie openssl s_client, um das Zertifikat zu prüfen:

openssl s_client -connect your-ip-or-domain:443 -showcerts

Sicherheits-Hardening (Empfehlungen)

  • Verwenden Sie bei Produktivsystemen einen mindestens 2048 Bit langen RSA-Schlüssel oder ECC-Keys.
  • Deaktivieren Sie veraltete Protokolle und Cipher (SSLv2/SSLv3, schwache RC4-Ciphers).
  • Erzwingen Sie TLS 1.2+ in der Apache-Konfiguration (z. B. SSLProtocol, SSLCipherSuite).
  • Aktivieren Sie HSTS (Strict-Transport-Security), wenn Sie HTTPS vollständig durchsetzen.
  • Setzen Sie passende Dateiberechtigungen für Schlüssel (nur openerp/root, chmod 640 oder restriktiver).
  • Überprüfen Sie AppArmor/SELinux-Profiles — sie können Apache oder OpenERP blockieren.
  • Rotieren Sie Zertifikate regelmäßig und automatisieren Sie das, wenn möglich (z. B. mit Let’s Encrypt Certbot).

Wichtig: Selbstsignierte Zertifikate führen zu Browser-Warnungen. Für Nutzerfreundlichkeit und Vertrauen nutzen Sie eine CA‑Signatur.

Wann diese Lösung scheitern kann

  • Portkonflikte: Ein anderer Dienst bindet bereits an Port 443, 8080 oder den XMLRPC-Ports.
  • Firewall-Regeln verhindern Verbindungen (UFW, iptables).
  • Falscher Common Name oder fehlende Subject Alternative Names führen zu Zertifikatwarnungen.
  • AppArmor/SELinux verweigert Zugriff auf die Zertifikatdateien oder das Binden der Ports.
  • Apache-Module fehlen oder sind inkompatibel (Versionen, Paketunterschiede auf Ubuntu 10.04).
  • Wenn Sie WebDAV nicht korrekt weiterleiten (Reihenfolge ProxyPass /webdav/ vor /), funktioniert CalDAV nicht.

Alternative Ansätze

  • Nginx als Reverse Proxy: leichter, performant, weit verbreitet—funktioniert gut als SSL-Termination.
  • Direktes TLS in OpenERP: OpenERP kann TLS-geschützte Ports bereitstellen; Aufwand und Wartung steigen.
  • Stunnel: SSL-Tunnel nur für XMLRPC, wenn Sie den gesamten HTTP-Stack nicht proxyn möchten.
  • Let’s Encrypt / ACME: Automatisierte, kostenlose CA-Zertifikate (empfohlen für Produktion).

Rollback- und Incident-Runbook (Kurz)

  1. Bei Problemen sofort: deaktivieren Sie die neue Site
sudo a2dissite openerp-ssl
sudo service apache2 reload
  1. Falls Apache wegen Zertifikatsexists fehlschlägt, verschieben Sie die Zertifikate zurück und stellen Berechtigungen wieder her.
sudo mv /etc/ssl/openerp/server.crt /root/
sudo mv /etc/ssl/openerp/server.key /root/
sudo service apache2 restart
  1. Stellen Sie eine vorherige Kopie von /etc/apache2/sites-available/default und /etc/openerp-server.conf wieder her (immer Backups vor Änderungen anlegen).

  2. Prüfen Sie Logdateien: /var/log/apache2/error.log, /var/log/syslog, OpenERP-Logs.

Rolle-basierte Checkliste

Admin:

  • Backup der Konfigurationsdateien anlegen.
  • Zertifikat und Schlüssel erzeugen und korrekt Berechtigungen setzen.
  • Apache-Site aktivieren und Dienste neu starten.

Dev/Deploy:

  • Konfiguration der internen Dienste auf localhost prüfen (ports und interfaces).
  • Funktionen testen: Login, Formularspeichern, WebDAV/CalDAV.

Endbenutzer:

  • Browser auf HTTPS-URL testen.
  • GTK-Client prüfen: Secure XMLRPC (Port 8071).

Kurze Testfälle (Akzeptanz)

  • Browser öffnet https://your-ip-or-domain und lädt die Web-Oberfläche ohne Weiterleitung auf Port 8080.
  • openssl s_client zeigt das verwendete Zertifikat an.
  • GTK-Client verbindet sich mit Port 8071 über XMLRPC Secure.
  • Kalender (CalDAV) ist unter der erwarteten /webdav/ URL erreichbar.

Glossar (ein Satz pro Begriff)

  • SSL/TLS: Verschlüsselungsprotokolle für sichere Netzwerkverbindungen.
  • Proxy-Termination: Der Proxy entschlüsselt TLS/SSL und leitet Verkehr intern unverschlüsselt weiter.
  • CSR: Certificate Signing Request, enthält Identitätsdaten für ein Zertifikat.

Kurze Zusammenfassung

  • Apache als SSL-Termination ist eine robuste Möglichkeit, OpenERP HTTPS-Zugriff zu geben. Sie erzeugen Zertifikat+Schlüssel, konfigurieren einen 443-VHost mit ProxyPass-Regeln, schränken OpenERP-Services auf localhost ein und testen anschließend gründlich. Für Produktion: CA-signierte Zertifikate, moderne TLS-Settings und Automatisierung (Let’s Encrypt) verwenden.

Wichtig: Legen Sie vor Änderungen immer Backups der Konfigurationsdateien an.

Ich hoffe, diese detaillierte Anleitung hilft. Feedback und Verbesserungsvorschläge sind willkommen.

Autor
Redaktion

Ähnliche Materialien

Beiträge anzeigen, die du auf Instagram geliked hast
Soziale Medien

Beiträge anzeigen, die du auf Instagram geliked hast

Systeminformationen auf dem Desktop anzeigen
Windows

Systeminformationen auf dem Desktop anzeigen

OpenERP Startskripte installieren
OpenERP Installation

OpenERP Startskripte installieren

YouTube Dislike‑Zähler zurückbringen — Anleitung
Anleitungen

YouTube Dislike‑Zähler zurückbringen — Anleitung

Daten schützen bei Hurrikan & Überschwemmung
Datensicherheit

Daten schützen bei Hurrikan & Überschwemmung

Schutz vor BYOVD-Angriffen mit rwdrv.sys
Sicherheit

Schutz vor BYOVD-Angriffen mit rwdrv.sys