invis_server_wiki:upgrade

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
invis_server_wiki:upgrade [2016/04/08 15:50]
flacco [Zarafa Upgrade von Version 7.2.0 auf 7.2.2]
invis_server_wiki:upgrade [2016/07/05 09:03]
flacco [Zarafa Upgrade von Version 7.2.0 auf 7.2.2]
Zeile 66: Zeile 66:
  
 Dabei stößt //​**zypper**//​ auf einen Paketkonflikt mit dem Paket "​php5-mapi-7.2.0"​. Wählen Sie hier Lösung 1, die Installation des erwähnten Paketes. Daraus resultiert kein weiteres Problem, da das Paket durch ein neues geringfügig anders benanntes Paket ersetzt wird. Dabei stößt //​**zypper**//​ auf einen Paketkonflikt mit dem Paket "​php5-mapi-7.2.0"​. Wählen Sie hier Lösung 1, die Installation des erwähnten Paketes. Daraus resultiert kein weiteres Problem, da das Paket durch ein neues geringfügig anders benanntes Paket ersetzt wird.
 +
 +Installiert werden muss auch das Paket "​zarafa-compat":​
 +
 +<​code>​
 +linux:~ # zypper in zarafa-compat
 +</​code>​
  
 Ist die Installation der neuen Pakete abgeschlossen,​ müssen manuell alle Reste der alten Paket-Struktur entfernt werden. Das lässt sich am besten per YaST erledigen. Suchen Sie hier in der Software-Verwaltung nach "​zarafa"​ und entfernen Sie alle Pakete die "​7.2.0"​ im Namen oder als Versionsnummer tragen. Ist die Installation der neuen Pakete abgeschlossen,​ müssen manuell alle Reste der alten Paket-Struktur entfernt werden. Das lässt sich am besten per YaST erledigen. Suchen Sie hier in der Software-Verwaltung nach "​zarafa"​ und entfernen Sie alle Pakete die "​7.2.0"​ im Namen oder als Versionsnummer tragen.
Zeile 78: Zeile 84:
 linux:~ # chown -R zarafa.zarafa /​srv/​zarafa/​ linux:~ # chown -R zarafa.zarafa /​srv/​zarafa/​
 linux:~ # chown -R zarafa.zarafa /​var/​log/​zarafa/​ linux:~ # chown -R zarafa.zarafa /​var/​log/​zarafa/​
-linux:~ # choen -R .zarafa /​etc/​zarafa/​*+linux:~ # chown -R .zarafa /​etc/​zarafa/​*
 </​code>​ </​code>​
  
Zeile 98: Zeile 104:
 </​code>​ </​code>​
  
-Sie müssen jetzt Ihre individuellen Konfigurationen in die neue Datei übernehmen. ​Die wichtigen Anpassungen im Einzelnen:+Sie müssen jetzt Ihre individuellen Konfigurationen in die neue Datei übernehmen. ​ 
 + 
 +//​**Hinweis:​** Auf Systemen, die sowohl IPv4 als auch IPv6 unterstützen müssen Sie in allen Konfigurationstateien,​ in denen URLs genannt sind, die "​localhost"​ enthalten, dies auf die IP-Adresse "​127.0.0.1"​ ändern. Ansonsten wird der Name "​localhost"​ in die IPv6 Adresse "::​1"​ aufgelöst, womit Zarafa (derzeit) nicht umgehen kann.// 
 + 
 +Alle weiteren ​wichtigen Anpassungen im Einzelnen:
  
 **ical.cfg** **ical.cfg**
Zeile 263: Zeile 273:
 Damit sind alle Änderungen vorgenommen und Zarafa ist auf Version 7.2.2 angehoben. ​ Damit sind alle Änderungen vorgenommen und Zarafa ist auf Version 7.2.2 angehoben. ​
  
-Abschließend noch der Hinweis für all diejenigen, die unsere invis-Server Zarafa-Erweiterungen nutzen. Diese Erweiterung enthält die Komponenten Zarafa-Backup und den Zarafa Lizenz Dienst. Wir werden dieses Erweiterungspack nicht mehr aktualisieren. Wer ohnehin eine Subskription erworben hat, bekommt auch die von Zarafa unterstützten Pakete. Aus diesen Paketen in der Version für SUSE Linux Enterprise 12 heraus lassen sich die RPMs für Zarafa-Backup und Lizenz-Dienst auch unter openSUSE betreiben.+Abschließend noch der Hinweis für all diejenigen, die unsere invis-Server Zarafa-Erweiterungen nutzen. Diese Erweiterung enthält die Komponenten Zarafa-Backup und den Zarafa Lizenz Dienst. Wir werden dieses Erweiterungspack nicht mehr aktualisieren. Wer ohnehin eine Subskription erworben hat, bekommt auch die von Zarafa unterstützten Pakete. Aus diesen Paketen in der Version für SUSE Linux Enterprise 12 heraus lassen sich die RPMs für Zarafa-Backup und Lizenz-Dienst auch unter openSUSE betreiben. ​Wer keinen Zugriff auf "​supportete"​ Pakete hat kann den Lizenz-Dienst auch aus den Zarafa Community-Pakten heraus installieren. Zu finden sind die Pakete hier:
  
-Erläuterung zu nachfolgendem Codeblock folgt....+**{{https://​download.zarafa.com/​community/​final/​7.2/​|Zarafa-Pakete ohne Support}}**
  
-<​code>​ +//​**Achtung:​** Nicht enthalten ist der Lizenz-Dienst in den Open-Source Paketen.//
-# SERVER SETTINGS+
  
-# The socket that the license server will run on +Auch an der Konfiguration des License-Daemons muss der Pfad zum Zarafa-Socket an das neue Setup angepasst werden.
-# default: /​var/​run/​zarafa-licensed +
-#​server_pipe_name = /​var/​run/​zarafa-licensed +
-server_pipe_name = /​var/​run/​zarafad/​licensed.sock+
  
 +**licensed.cfg**
 +
 +<​code>​
 +...
 # The URL on which we can contact zarafa-server # The URL on which we can contact zarafa-server
 # default: file:///​var/​run/​zarafa # default: file:///​var/​run/​zarafa
-#​server_socket = file:///​var/​run/​zarafa-prio 
 server_socket = file:///​var/​run/​zarafad/​prio.sock server_socket = file:///​var/​run/​zarafad/​prio.sock
- +...
-# Login to the Zarafa server using this SSL Key +
-#​sslkey_file ​        = /​etc/​zarafa/​ssl/​licensed.pem +
- +
-# The password of the SSL Key +
-#​sslkey_pass ​        = replace-with-server-cert-password +
- +
-# License path (should contain '​base'​ and CALs in other files) +
-license_path ​           = /​etc/​zarafa/​license +
- +
-# drop privileges and run the process as this user +
-run_as_user ​            = zarafa +
- +
-# drop privileges and run the process as this group +
-run_as_group ​           = zarafa+
 </​code>​ </​code>​
 ==== "​kleines Update"​ mit dem invis-updater Script ==== ==== "​kleines Update"​ mit dem invis-updater Script ====
Zeile 902: Zeile 897:
  
 Ansonsten gilt: **Wilkommen zu Ihrem aktuellen invis-Server** Ansonsten gilt: **Wilkommen zu Ihrem aktuellen invis-Server**
 +
 +===== invisAD 10.4 -> invisAD 10.5 =====
 +
 +Mit Version 10.5 des invis-Servers ergeben sich ein paar strukturelle Unterschiede. Allem voran geht dabei die Umstellung der "​Public Key Infrastructure",​ also die Organisation von Schlüsseln und Zertifikaten für die verschiedenen Verschlüsselungsaufgaben.
 +
 +Bisher wurden zwei sogenannte Zertifizierungsstellen (CA) erstellt, davon diente eine zur Verwaltung der Schlüssel und Zertifikate für die verschiedenen Serverdienste (LDAP, Mail, Web) und eine zweite ausschließlich für openVPN. Zur Pflege der Schlüssel- und Zertifikate wurde das Toolkit "​easy-rsa"​ in Version 2.0 verwendet, der Rest direkt mit //​**openssl**//​ und eigenen Scripten.
 +
 +Das Toolkit "​easy-rsa"​ liegt inzwischen in Version 3.0 vor und wurde im Zuge der Weiterentwicklung deutlich verbessert. Nach ersten Tests damit war klar, dass easy-rsa 3.0 ideal zur Verwaltung aller Schlüssel- und Zertifikaten eines invis-Servers ist. Kurzum ab Version 10.5 verfügen invis-Server nur noch über eine mit easy-rsa erstellte Zertifizierungsstelle.
 +
 +Aus dem bisherigen Script //​**serverkeys**//​ zur Generierung ​ von Serverzertifikaten wurde //​**inviscerts**//​. Die Handhabung des Scripts wird im Abschnitt "invis Administration"​ erläutert.
 +
 +Beim Upgrade von 10.4 auf 10.5 müssen die Schritte zum Aufbau einer PKI die //​**sine**//​ während des Setups erledigt manuell vorgenommen werden.
 +
 +==== Aufbau einer Public Key Infrastruktur mit easy-rsa ====
 +
 +Unter anderem zur Nutzung im invis-Server wurde ein easy-rsa 3.x RPM im Repository "​spins:​invis:​common"​ gebaut. Die nachfolgende Anleitung beschreibt, wie mit easy-rsa eine PKI manuell aufgebaut wird. Die spätere Verwaltung von Zertifikaten übernimmt auf invis-Servern das Script //​**inviscerts**//​.
 +
 +Ab Version 3.0 stellt easy-rsa nur noch ein einziges Script //​**easyrsa**//​ für alle Aufgaben zur Verfügung. Sämtliche Konfigurationsdateien liegen in: <​file>/​etc/​easy-rsa</​file>​
 +
 +Vor dem Aufbau einer PKI muss im genannten Verzeichnis die Datei "​vars"​ an die eigenen Bedürfnisse angepasst werden. Es ist im Unterschied zu älteren easy-rsa Versionen nicht mehr notwendig die Variablen in dieser Datei manuell mittels //​**source**//​ in die aktuelle Shell Umgebung zu laden. Dies erledigt //​**easyrsa**// ​ selbsttätig.
 +
 +=== Vorbereitung ===
 +
 +Angepasst werden müssen zumindest folgende Zeilen:
 +
 +Name der PKI:\\
 +(Zeile 65)
 +
 +<​code>​
 +...
 +set_var EASYRSA_PKI ​            "​$EASYRSA/​fsp-net.loc"​
 +...
 +</​code>​
 +
 +PKI individualisieren:​\\
 +(Ab Zeile 84)
 +<​code>​
 +...
 +set_var EASYRSA_REQ_COUNTRY ​    "​DE"​
 +set_var EASYRSA_REQ_PROVINCE ​   "​Hessen"​
 +set_var EASYRSA_REQ_CITY ​       "​Schotten"​
 +set_var EASYRSA_REQ_ORG ​        "​FSP Computer und Netzwerke"​
 +set_var EASYRSA_REQ_EMAIL ​      "​stefan@invis-server.org"​
 +set_var EASYRSA_REQ_OU ​         "​invis-Server.org"​
 +...
 +</​code>​
 +
 +Die vorgegebene Länge der DH-Parameter ist auf 2048 Bit eingestellt,​ dies reicht nach gegenwärtigem Stand der Technik aus. Eine Erhöhung auf 4096 Bits verlängert den Bau der DH-Datei immens (Die Rede ist hier von Stunden).
 +
 +Voreingestellt sind Gültigkeitsdauern für CA und damit signierte Zertifikate von 10 Jahren. Kann man lassen, die Lebensdauer der Zertifikate im Vergleich zur CA zu verkürzen ist auch OK.
 +
 +Jetzt kann die PKI vorbereitet werden:
 +
 +<​code>​
 +linux:~ # easyrsa init-pki
 +</​code>​
 +
 +Damit wird unter "/​etc/​easy-rsa"​ eine Verzeichnisstruktur für die neue PKI angelegt und die Vorbereitungen sind abgeschlossen.
 +
 +=== PKI erzeugen ===
 +
 +Benötigt werden folgende Komponenten:​
 +
 +  - Eine CA zum signieren von Server und Client Zertifikaten
 +  - Eine Diffie-Hellman Parameter Datei für sicheren Schlüsselaustausch
 +  - Eine CRL Datei um Zertifikate zurückzuziehen
 +
 +
 +**CA erstellen:​**
 +
 +Auch hier genügt ein einziger Befehl:
 +
 +<​code>​
 +linux:~ # easyrsa build-ca
 +</​code>​
 +
 +Beim Bau der CA wird ein Passwort erfragt, dieses Passwort wird später beim signieren von Zertifikaten benötigt. Dieses Passwort darf nicht in falsche Hände gelangen.
 +
 +**Diffie-Hellman Parameter erstellen:​**
 +
 +<​code>​
 +linux:~ # openssl gendh -out $path/​$domain/​dh.pem -2 2048
 +linux:~ # openssl gendh -out $path/​$domain/​dh_512.pem -2 512
 +</​code>​
 +
 +Die Diffie-Hellman Parameter-Dateien werden bewusst direkt mit //​**openssl**//​ erstellt, da das Script //​**easyrsa**//​ immer die in der Konfiguration vorgegebene Schlüssellänge verwendet. Diese sollte auf 4096Bit eingestellt sein. Der Bau einer 4096 Bit großen DH-Parameterdatei dauert allerdings je nach System mehrere Stunden. Außerdem wird für die überarbeitete Postfix-Konfiguration noch eine 512Bit lange Datei benötigt.
 +
 +**CRL erzeugen**
 +
 +<​code>​
 +linux:~ # easyrsa gen-crl
 +</​code>​
 +
 +Hierfür wird wieder das CA-Passwort benötigt.
 +
 +=== Aufbau der invis-Server Verzeichnisstruktur ===
 +
 +Es sind drei neue Verzeichnisse anzulegen:
 +
 +<​code>​
 +linux:~ # mkdir /​etc/​invis/​certs
 +linux:~ # mkdir /​etc/​invis/​private
 +linux:~ # mkdir /​etc/​openvpn/​keys
 +</​code>​
 +
 +Jetzt muss das Stammzertifikat der Zertifizierungsstelle "​verteilt"​ werden:
 +
 +<​code>​
 +linux:~ # cp /​etc/​easy-rsa/​yourdomain.tld/​ca.crt /​etc/​invis/​certs/​
 +linux:~ # cp /​etc/​easy-rsa/​yourdomain.tld/​ca.crt /​etc/​openvpn/​keys/​
 +</​code>​
 +
 +Ebenfalls zu kopieren sind die CRL, sowie die Diffie-Hellman-Parameter Dateien
 +
 +<​code>​
 +linux:~ # cp /​etc/​easy-rsa/​yourdomain.tld/​dh.pem /​etc/​openvpn/​keys/​
 +linux:~ # cp /​etc/​easy-rsa/​yourdomain.tld/​crl.pem /​etc/​openvpn/​keys/​
 +linux:~ # cp /​etc/​easy-rsa/​yourdomain.tld/​dh*.pem /​etc/​postfix/​
 +</​code>​
 +
 +Jetzt können wie im Abschnitt "invis Administration"​ beschrieben Schlüssel und Zertifikate für den Server erstellt werden.
 +
 +Um die Umstellung zu komplettieren,​ müssen die Pfade zu Schlüsseln- und Zertifikaten in den Konfigurationsdateien des Apache-Webservers,​ von Postfix und ggf. Dovecot, von Samba und openVPN an die neuen Verzeichnisse und Dateinamen anzupassen. ​
 +
 +Eine detaillierte Anleitung dafür folgt.
 +
 ====== invis-Classic -> invis-AD ====== ====== invis-Classic -> invis-AD ======
  
  • invis_server_wiki/upgrade.txt
  • Zuletzt geändert: 2024/07/05 10:52
  • von flacco