Novell interne CA erneuern/Tausch auf Servern im laufenden Betrieb

Die interne CA läuft in der Regel nach 10 Jahren Gültigkeit ab und muß händisch erneuert/ersetzt werden. Wir haben hier die Schritte zusammengefasst, mit Hilfe derer ein Austausch problemlos während des laufenden Betriebs durchgeführt werden kann. Wichtig dabei ist, alle Server sollten - um Probleme größtmöglich auszuschießen - den gleichen möglichst aktuellen Patchlevel aufweisen!

Bitte kontrollieren oder notieren Sie sich das Ablaufdatum Ihrer CA! Um gröbere Probleme auszuschließen, erneuern Sie Ihre CA bevor diese abläuft! Führen Sie die Updates/Erneuerung zügig an einem Tage durch (also nicht heute ein paar und nächste Woche die weiteren Server). Beginnen Sie immer mit dem Tree-Master Server. Beachten Sie bitte auch, sollten die "Domain Services for Windows (DSfW)" verwenden, daß einige nachfolgende Punkte nicht oder anders auszuführen sind!

Sämtliche Befehle basieren auf der Verwendung von Open Enterprise Servern (OES) mit Linux-Kernels.

1. CA im Tree erneuern
- alte CA im Security-Container entfernen (Name normalerweise Treename-CA)
- starten Sie den iManager, wählen Roles & Tasks, Novell Certificate Server und schliesslich Configure Certificate Authority
Wählen Sie nun jenen Server aus, der die neue CA hosten sollte (normalerweise den Tree-Master) und vergeben für die neue CA einen Namen (bitte erneut Treename-CA). Akzeptieren Sie die Default-Werte (Achtung! SHA256!!!!) und klicken Finish.

Führen Sie nachher Ihre Konfigurations-Einstellungen der CA durch. Wir empfehlen Server Self-Provisioning und den Health Check auszuwählen. Weiters kontrollieren Sie bitte unter Certificate Details das Expiration date und die RSA key size. Sie sollte 2048 Bits sein.

2. vorbereitende Arbeiten für den Zertifikattausch
- Prüfen Sie, ob Ihr DNS-Server ordentlich (inkl. Reverse lookup!) konfiguriert ist.
- Erstellen Sie sich ein Text-File aller aktiven Server auf Ihrem Tree-Master Server.
ndsrepair -T | grep Processing | sed "s/Processing server: //" > /tmp/server1.txt
cat /tmp/server1.txt | sort > /tmp/serverlist.txt
sed -i "s/^\.//" /tmp/serverlist.txt
sed -i "s/\..*//" /tmp/serverlist.txt
- Prüfen Sie, ob Ihr DNS-Server die Server ordnungsgemäß vom Tree-Master aus erkennt.
for SERVER in $(cat /tmp/serverlist.txt); do nslookup $SERVER; done
- Prüfen Sie, ob alle Server von Ihrem Tree-Master aus erreichbar sind.
for SERVER in $(cat /tmp/serverlist.txt); do ping -c1 $SERVER; done
- Prüfen Sie, wann Ihre einzelnen Serverzertifikate ablaufen oder ob sie noch aktuell sind.
for SERVER in $(cat /tmp/serverlist.txt); do echo | openssl s_client -connect $SERVER:636 2>/dev/null | openssl x509 -noout -enddate -subject -alias; done

3. Befehle auf jedem Server
- Folgende Befehle sind auf jedem Server auszuführen. Sollte Ihr Tree viele Replikas aufweisen, so sind diese ndstrace-Befehle auf jedem Server ggf. auch 2 - 3 hintereinander auszuführen!
ndstrace -c "unload pkiserver"
ndstrace -c "load pkiserver"

- Kontrollieren Sie jetzt die Datei /etc/resolv.conf (nicht auf DSfW-Servern!) und /etc/hosts auf korrekte Einträge und korrigieren Sie diese wenn notwendig!
- Kontrollieren Sie das PKIHealth-Logfile auf Fehler!
less /var/opt/novell/eDirectory/log/PKIHealth.log
- Starten Sie NLDAP neu.
ndstrace -c "unload nldap"
ndstrace -c "load nldap"

Bitte beachten Sie, daß diese Befehle auf DSfW-Servern nicht funktionieren! Führen Sie auf diesen anstatt xadctrl reload aus!
- Starten Sie den Apache-Dienst neu.
rcapache2 restart
- Starten Sie den Novell HTTPSTK-Dienst neu.
rcnovell-httpstk restart
- Kontrollieren und passen Sie Ihre Datei /etc/nam.conf an.
Suchen Sie nach dem Part preferred server=. Tragen Sie hier die 127.0.0.1 ein (sofern der Server Bestandteil einer aktiven Replika ist), ansonsten die IP Ihres Tree-Master Servers.
Suchen Sie auch nach alternative-ldap-server-list= und fügen Sie hier Ihre weiteren LDAP-Server (sofern aktiv und vorhanden) ein. Format: XXX.XXX.XXX.XXX,XXX.XXX.XXX.XXX usw.
- Führen Sie folgende 2 Namconfig-Befehle aus.
namconfig -k
namconfig cache_refresh

- Passen Sie Ihre NDSD-HTTP Server Konfiguration an das SSL CertificateDNS des Server an (Attribut "httpKeyMaterialObject").
- Löschen Sie ein eventuell vorhandenes SSL CertificateIP für den Server.

4. Abschliessende Arbeiten / Prüfungen
- Haben Sie alle Ihre aktiven Server wie unter Punkt 3. beschrieben sorgsam durchgegangen, kontrollieren Sie abschließend nochmals alle Serverzertifikate vom Tree-Master Server aus.
for SERVER in $(cat /tmp/serverlist.txt); do echo | openssl s_client -connect $SERVER:636 2>/dev/null | openssl x509 -noout -enddate -subject -alias; done

Jetzt haben Sie wieder für die nächsten 10 Jahre Ruhe vor Ihrer Novell-internen CA!