Migration von CentOS und RHEL 6 auf 7

Einleitung

Am 30.11.2020 endet der Support für Red Hat Enterprise Linux (RHEL) 6 und CentOS 6.

Aus diesem Grund werden verinice.PRO Pakete für diese Betriebsystemversionen nur noch für verinice-1.19 und 1.20 bereitgestellt. Für alle Versionen, die danach veröffentlicht werden, wird es nur noch Pakete für RHEL 7 und CentOS 7 geben.

verinice 1.19 und 1.20 werden die letzten Versionen sein, die für RHEL 6 und CentOS 6 verfügbar sind.

Wir empfehlen schon jetzt eine Migration ihres verinice.PRO Servers auf RHEL 7 oder CentOS 7, wenn Sie noch die Version 6 einsetzen.

Wir empfehlen, kein Upgrade mit Hilfe von Tools wie redhat-upgrade-tool oder preupgrade-assistant von Version 6 auf 7 durchzuführen. Installieren Sie stattdessen einen neuen verinice.PRO-Server auf Basis von RHEL oder CentOS 7 und migrieren Sie anschließend Konfiguration und Daten. Der alte Server, der auf RHEL oder CentOS 6 basiert wird im folgenden in dieser Anleitung Source genannt, der neue RHEL oder CentOS 7 Server Target.

Installation von verinice.PRO auf RHEL oder CentOS 7

Zuerst müssen sie einen neuen verinice.PRO Server auf Basis von RHEL oder CentOS 7 installieren. Wenn Sie eine VMWare-Umgebung einsetzen, empfehlen wir dafür unsere Software-Appliance, die sie im verinice.PRO Repository finden: https://update.verinice.com/pub/verinice.PRO_Appliances/

Die Konfiguration dieser Appliance finden Sie im Dokument Installation der verinice.PRO-Appliance.

Wenn sie die Appliance nicht benutzen wollen oder können, installieren sie RHEL oder CentOS 7 und folgen der Anleitung im Dokument Installation und Konfiguration von verinice.PRO unter CentOS und RHEL7

Migration der Konfiguration und der Datenbank

Vor dem Start der Anwendung/verinice-Client soll zuerst die Datenbank-Wiederherstellung durchgeführt werden, s. u. das Kapitel „Tomcat/PostgreSQL“.

Bitte beachten Sie, dass bei einer Migration alle verinice.PRO-Pakete auf dem Target in der gleichen Version wie auf dem Source sein müssen. Führen Sie daher ein Update der Pakete auf dem Source aus, bevor Sie mit der Migration beginnen.

Um die Konfigurationsdateien vom Source zu übernehmen, sollen die Anforderungen an der Hardware auf dem Target dem Source entsprechen.

Netzwerk

Bei der Netzwerkkonfiguration ist zu beachten, dass die Schnittstellen nicht mehr als „eth“ bezeichnet werden. Wir empfehlen hier die Konfigurationsdateien manuell anzupassen.
Die Datei auf dem Source für die Netzwerkkonfiguration enthält üblicherweise eth in Namen, so wäre die Datei /etc/sysconfig/network-scripts/ifcfg-eth0 für die erste Netzwerk-Schnittstelle zuständig.
In CentOS 7, also Target-System erhalten die Netzwerkschnittstellen unter Virtualbox-Umgebung üblicherweise die Bezeichnung enp0s* , so dass die Konfigutationsdatei hier zu finden ist: /etc/sysconfig/network-scripts/ifcfg-enp0sXX.
Und in einer Esxi-Umgebung die Bezeichnung ens*, so dass die Datei /etc/sysconfig/network-scripts/ifcfg-ensXX zu konfigureren ist.

Apache

Bei einer SSL-Verbindung kann /etc/httpd/conf.d/vhosts.d/verinice.conf übernommen werden. Es sollen allerdings Anpassungen vorgenommen werden. Die Option „SSLMutex“ muss auf „Mutex“ gesetzt werden.

Zertifikate
Wenn Sie selbtsignierte Zertifikate verwenden und die Migration auf eine neue Maschine, mit einem anderem Hostname vornehmen, dann müssen die neu auf und für Target-System erstellt werden.
Sonst können die Zertifikate übernommen werden. Die SSL-Zertifikate sollen in /etc/pki/tls/certs/ und Private Key in /etc/pki/tls/private/ abgelegt werden. Die Einstellungen sollen in der verinice.conf dementsprechend korrekt gesetzt werden. Bitte beachten Sie die Zugriffsrechte auf der Betriebssystemebene, s. Kapitel Sicherer Zugriff per SSL in der Installation und Konfiguration von verinice.PRO unter CentOS und RHEL7

Bei einer aktiven AD/OpenLDAP-Authentifizierung und in Benutzung mit ldaps-Verbindung in verinice soll das Zertifikat in /etc/pki/java/cacerts importiert werden, s. die Installationsanleitung Kapitel „LDAPS

Tomcat/PostgreSQL

  1. Erstellen Sie alle Sicherungen/Wiederherstellungen als Datenbank-Benutzer postgres wie folgt auf dem Source :
su - postgres
pg_dump -F c verinicedb > /var/lib/pgsql/backups/verinice/File-to-restore.sql
  1. Übertragen Sie die Sicherungsdatei auf Target .

  2. Stoppen Sie den Tomcat-Prozess auf Target .

systemctl stop tomcat
  1. Wenn Sie das Image von verinice.PRO-Repository aufgesetzt haben, dann löschen Sie die vorhandene Datenbank auf Target .
su - postgres
dropdb verinicedb
  1. Und erstellen Sie eine neue Datenbank auf Target .
createdb -O verinice verinicedb
  1. Stellen Sie die Daten mit pg_restore auf Target wieder her.
pg_restore -d verinicedb File-to-restore.sql

Sollte beim Ausführen dieser Fehler auftreten:

could not execute query: ERROR: language „plpgsql" already exists
Command was: CREATE PROCEDURAL LANGUAGE plpgsql;

a. Dann bitte die Datenbank löschen:
su - postgres
dropdb verinicedb
b. neue Datenbank anlegen
createdb -O verinice verinicedb
c. Mit der Datenbank verbinden:
psql -d verinicedb
d. Befehl ausführen:
drop extension plpgsql
exit
e. Und anschließend die Datenbank wiederherstellen:
pg_restore -d verinicedb File-to-restore.sql

  1. Löschen Sie alle Dateien im Verzeichnis „/usr/share/tomcat/webapps/veriniceserver/WEB-INF/“ auf Target .

  2. Übertragen Sie alle Dateien aus dem Verzeichnis „/usr/share/tomcat/webapps/veriniceserver/WEB-INF/“ auf Source nach Target .

Überprüfen Sie die Datei- und Ordnerrechte und setzen Sie sie korrekt.

Bitte beachten Sie, dass die Dateien und Unterordner die Berechtigungen „root.tomcat“ haben und die Unterordner von „elasticsearch“ auf „tomcat.tomcat“ gesetzt werden sollten.

  1. Starten Sie den Tomcat-Prozess auf Target .
systemctl start tomcat
  1. Prüfen Sie ob das Anmelden mit allen Benutzer funktioniert.

  2. Überprüfen Sie, ob das Backup-Skript funktioniert und eine funktionale und vollständige Sicherung erstellt wurde.

  3. Überprüfen Sie alle Cronjobs.

3 Likes