ucsCA als intermidiate CA

german

#1

Hallo liebes Forum,

ich wollte mal nachfragen ob jemand schon mal die UCS CA als intermidiate CA verwendet hat? (Sprich als Zwischeninstanz)
Ich habe nach viel gefrickel es soweit hinbekommen per Hand. Gibt es einen automatisierten Weg? Wird es überhaupt supported?
In der Dokumentation steht dazu nämlich nichts.

Viele Grüße,
go2sh


#2

Das ist leider “Out of the Box” nicht einfach konfigurierbar. Wir haben das in Kundenumgebungen bereits realisiert, allerdings nur im Rahmen von Kundenprojekten.


#3

Gegebenenfalls habe ich hier noch etwas für Sie. Es gibt dazu zwar (noch) keine Dokumentation, wenn das so funktioniert können wir das jedoch gern ins Wiki oder die SDB aufnehmen. Bitte beachten Sie aber, dass es sich hier um einen Vorgang handelt, der ggf. an neuere Versionen und Verzeichnisnamen angepasst werden muss.

Die in UCS integrierte CA kann durch eine andere CA zertifiziert werden.
Dadurch wird die UCS-CA, die standardmäßig eine Root-CA ist, in eine Sub-CA umgewandelt.

Zunächst sollte eine Sicherheitskopie von /etc/univention/ssl und seinen Unterverzeichnissen angelegt werden. Nach der Installation des Domänencontroller Master liegt die Signierungsanfrage (Request) unter /etc/univention/ssl/ucsCA/CAreq.pem. Diese Anfrage muss mit der übergeordneten CA unterschrieben werden. Durch die Signatur wird aus der Anfrage ein Zertifikat.

Hinweis: Falls das UCS=Zertifikat und das Zertifikat der übergeordneten CA nicht im PEM=Format vorliegen, so muss dies umgewandelt werden. Im folgenden Beispiel wird ein Zertifikat im DER-Format umgewandelt:

openssl x509 -inform der -outform pem -in MpublicCA.der -out MPublicCA.pem

Das UCS=Zertifikat muss an zwei Stellen gespeichert werden (/etc/univention/ssl/ucsCA/CAcert.pem und eine Kopie in /etc/univention/ssl/ucsCA/certs/00.pem):

cd /etc/univention/ssl cp <Pfad>/CAcert.pem ucsCA/CAcert.pem cp ucsCA/CAcert.pem ucsCA/newcerts/00.pem source /usr/share/univention-ssl/make-certificates.sh move_cert ucsCA/newcerts/00.pem

Der letzte Befehl verschiebt das Zertifikat aus dem Verzeichnis /etc/univention/ssl/ucsCA/newcerts/ in das Verzeichnis /etc/univention/ssl/ucsCA/certs/ und legt dort einen Link auf das Zertifikat an.

Das Zertifikat kann nun auf dem Webserver abgelegt werden:

cd /etc/univention/ssl openssl x509 -in ucsCA/CAcert.pem -out /var/www/ucs-root-ca.crt

Das CA=Zertifikat der übergeordneten CA muss ebenfalls auf dem Domänencontroller Master gespeichert werden:

mkdir -p /etc/univention/ssl/mca/ cp <Pfad>/MPublicCA.pem /etc/univention/ssl/mca/

Nun kann die Zertifikatskette erzeugt werden:

cd /etc/univention/ssl cat mca/MPublicCA.pem >> ucsCA/CAcert.pem

Der Webserver muss nun so eingerichtet werden, dass dieser die Chain-Datei zusammen mit seinem Zertifikat an die Clients schickt. Dazu muss die folgende Zeile

SSLCertificateChainFile /etc/univention/ssl/CAChain.pem

in die Datei /etc/univention/templates/files/etc/apache2/mods-available/ssl.conf eingefügt werden. Die Einstellungen können mit dem Befehl

univention-config-registry commit /etc/apache2/mods-available/ssl.conf

übernommen werden, danach muss der Webserver neu gestartet werden:

/etc/init.d/apache2 restart

Das CA=Zertifikat der übergeordneten CA muss auf den Clients importiert werden, damit die Clients entsprechend andere Zertifikate überprüfen können, die von der UCS-CA unterschrieben wurden.

Folgende Browser=Einstellungen sind auf den Clients vorzunehmen:

Im Browser Firefox sind keine speziellen Einstellungen erforderlich.
Bei Microsoft Internet Explorer schalten Sie die TLS 1.0=Unterstützung ein über Extras -> Internetoptionen -> Erweitert -> Sicherheit.
Der Browser Konqueror unterstützt derzeit keine Zertifikatsketten.