UCS 3.0.2 (c't) offizielles SSL SAN Zertifikat

german

#1

Hallo zusammen,

Ich bin beruflich in der Windows IT Administration verwurzelt und kenne mich grundsätzlich ganz gut aus. Ich habe bisher, privat, eine Windows Home Server Lösung gefahren. Nach dem Abschaffen des Windows Home Server und des SBS Konzeptes und dem freundlichen aufzeigen neuer Horizonte seitens der c’t habe ich mich etwas in den UCS eingearbeitet und bin grundsätzlich sehr angetan.

Mein Hauptproblem ist natürlich das ich in Sachen LINUX keine große Erfagrung aufweisen kann. Wir arbeiten schon seit Jahren mit der IPCOP und ich habe mich mal mit OPSI auseinander gesetzt. Mehr habe ich leider nicht vorzuweisen.

Den UCS habe ich soweit am laufen. Bisher in Hyper-V auf einem 2012 Server, aber wenn alles so klappt wie ich hoffe wird das System auf eine HP MicroServer Plattform umziehen die ich noch herumstehen habe.

Ich nenne ein ofizielles SSL Zertifikat von GoDaddy mein Eigen und würde dieses gerne wie bisher weiter verwenden.

Ich habe eine private Internetdomäne und würde gerne wie gehabt Webzugriff, Email, Mobile Geräte etc. “störungsfrei” von außen nutzen.

Die im UCS verwendete Domäne stimmt mit der externen Domäne und somit mit dem Zertifikat überein. Split-DNS ist entsprechend umgesetzt.

Was ich nun nicht weiß ist wie ich das vorhadene Zertifikat umfassend in das LINUX System einbinde. Debian, speziell der UCS.

Ich vermute mal das muss in Apache und Zarafa geschehen und evtl noch an anderen Punkten.

Google hat mir diesmal nicht wirklich weitergeholfen und so hoffe ich hier Hilfe zu finden.

Was muss ich genau machen? oder an welchen Punkte habe ich anzusetzen?

Ich verbleibe freundlich dankend =)


#2

Hi,

schau mal hier: Verwendung eigener SSL-Zertifikate

emg


#3

seltsam,

irgendwie muss ich jeden Artikel zu SSL Zertifikaten in der Support Datenbank gefunden haben außer diesem ^^

Danke! Ich probiere mal mein Glück.


#4

Hallo,

ich würde gerne nochmal auf meine Frage bezüglich des eigenen SSL-Zertifikates eingehen.

Der Link ist soweit verständlich.

Ich lade bei GoDaddy mein Zertifikat herunter und zwar für Apache-Webserver.

ich bekomme dann zwei Dateien.

  • meinedomaene.de.crt
  • sf_bundle.crt

Wie unter dem Link beschrieben brauche ich eine meinedomaene.de.pem und eine private.key

Ich konnte nachlesen das die .crt Datei ein Binärformat ist das ich in .pem umbennen kann?

Die Datei sf_bundle.crt ist die Zertifikatkette?

Was ich mich nun frage ist wo ich die private.key herbekomme?

Kann es sein das diese Datei nur beim CSR-Verfahren erzeugt wird?

Das Zertifikat ist seinerzeit für Exchange 2010 registriert worden, die Erstellung der .csr Datei fand also unter Windows statt.

Wäre super nett wenn mich jemand erleuchten würde =)


#5

Hallo,

anhand der Dateiendung lässt sich nicht mit Sicherheit sagen was genau sich in der Datei befindet. Anhand der Namen würde ich vermuten dass es sich um Ihr Zertifikat (meinedomaene.de.crt) und das intermediate Zertifikat (sf_bundle.crt) handelt. Evtl. helfen die Seiten von GoDaddy hier weiter (um z.B. ein neues Keyfile zu erhalten):
[ul]
[li]Downloading an SSL Certificate[/li]
[li]Re-Keying an SSL Certificate[/li]
[li]Installing SSL Certificate - Apache 2.x[/li][/ul]

Mit freundlichen Grüßen
Janis Meybohm


#6

Hallo,

vielen Dank für die Antwort.

Es verhält sich genau wie Sie sagen.

Zertifikat und Zwischenzertifizierungsstellenzertifikat (feines Wort ^^).

Meine Frage ist eigentlich nur wo bekomme ich im Regelfall die “server.key” Datei her die doch den privaten Schlüssel darstellt?

Die Godaddy Seiten hahte ich schon gefunden, vielen Dank.

Ich bräuchte mal das “System” erklärt, wie es unter Linux zu laufen hat. Am Ende sicher wie unter Windows, aber es ist halt ein bisschen anders und da hänge ich drann fest. Erstelle ich mir den privaten Schlüssel selber und verbinde ihn dann mit der Zertifikatdatei und dem öffentlichen Schlüssel?

Das Vorgehen ist mir nicht klar, jede Anleitung geht davon aus das diese Sachen geklärt sind =(


#7

hm.

Ich denke das ist der entscheidende Punkt.

Copy your renewed certificate, intermediate certificate bundle and key file (generated when you created the Certificate Signing Request (CSR)) into the directory that you will be using to hold your certificates.

Der private Schlüssel (wie ich schon vermutete) wird beim CSR Request erzeugt aber AUF dem Linux System, die CSR habe ich ja seinerzeit unter Windows durchgeführt.

Wollte nur etwas sicherheit bevor ich alles von vorne mache.

Ich probiers mal.


#8

Hallo zusammen,

ich mache mal einen neuen Thread auf weil ich einfach nicht weiter komme.

Ich habe hier schonmal zu dem Thema gefragt:

Ich würde das gerne mal etwas komprimieren.

Ich möchte mein bei GoDady gekauftes SAN-Zertifikat auf meinem UCS Server benutzen.

Ich bin LINUX Laie.

Mit Windows Servern ist das alles ganz einfach =)

Ich habe nun viel gelesen.

Ich lese immer wieder das gerade das Thema mit den SAN Zertifikaten nicht einfach ist.

Erstmal meine Frage an die Entwickler:

“Ist es möglich, diese Sache im Web-Interface abzubilden”?

Wie es beispielsweise ein Exchange Server 2010 mit seinem Zertifikatassisten erlaubt?

Gibt es eine Anleitung wo das speziell für den UCS abgebildet wird?

Wie erzeuge ich eine SAN-CSR und erhalte meine private.key Datei?

Danach kann ich diese CSR Anfrage bei Godaddy absegenen lassen.

Dann gibt es ja eine Anleitung wie ich mein Zertifikat im UCS Unterbringe.

Bitte sag mir doch jemand wie ich diese CSR Anfrage korrekt durchführe =)


#9

Hallo,

ich habe die Threads wieder zusammengeführt da es hier ja weiterhin um das gleiche Problem geht.

Der private Key wird unter Linux wie auch unter Windows zusammen mit dem CSR (Certificate signing request) erstellt und lokal gespeichert. Wie das unter Linux geht ist ebenfalls bei GoDaddy beschrieben:
support.godaddy.com/help/article … -apache-2x

Mit freundlichen Grüßen
Janis Meybohm


#10

Guten Tag und vielen Dank für die Antwort,

die Seite von Godaddy hatte ich schon gefunden, aber dort wird nur der common name und die Wildcare Variante angeprochen.

Dort steht nichts von Subject Alternative Names.

Ich habe ein 5er SAN Zertifikat das ich umfänglich nutzen möchte.

Ich möchte keinen Mist bauen und wollte mich deshalb im Vorfeld vernüftig informieren.

Wenn Sie evtl. so freundlich sein könnten mir den Weg zur Erstellung eines SAN Zertifikates aufzuzeigen?

Das ich eine .pfx Datei mit privatem Schlüssel aus der Windows Schiene habe bringt mich nicht evtl. weiter?

Ist das so für das UCS System auch anwendbar?
grevi.ch/blog/ssl-certificate-re … -names-san

gruß Path


#11

Hallo,

konkrete Erfahrungen mit SAN Zertifikaten habe ich nicht, daher kann ich hier keine Anleitung liefern. Generell sollten die in Ihrem Link beschriebenen Hinweise aber auch auf UCS Anwendbar sein.
Ich würde vermuten dass Sie den privaten Schlüssel auch aus der PFX-Datei extrahieren (und ggf. konvertieren) können, evtl. mit Microsofts certutil.

Mit freundlichen Grüßen
Janis Meybohm


#12

Gerne verweise ich auf einen persönlichen Favoriten, wenn man sich mit OpenSSL nicht (komplett manuell) herumschlagen will und ein paar Beispiele sucht, so eine Art “Rosettastein” für OpenSSL:
madboa.com/geek/openssl/#cert-pkcs12

Die Konvertierung von PKCS#12 bzw. PFX in PEM-Dateien lässt sich mit OpenSSL mit dem zweiten Snippet im Direktlink bewerkstelligen,
man extrahiert private key und Zertifikat in je eine separate Datei und ja dann ein PEM-Format, das Linux meist am liebsten hat.

Vereinfacht (nach meinem Verständnis) sind PFX eigentlich nichts anderes als eine Art “Container” in dem sich Private Key und Zertifikat
befinden, meist wird eine Passphrase verwendet um das ganze abzusichern. Kopiere die PFX-Datei auf UCS oder verwendet OpenSSL
auf Windows - ehrlich gesagt müsste ich mit certutil auch Handbücher/Hilfen lesen.

Auf der Seite sind noch ein paar andere OpenSSL-Einzeiler und andere Snippets wie man die verschiedenen Formate untereinander umkopieren kann.


#13

Hallo zusammen,

danke für die Hilfe.

Ich habe jetzt verstanden was ich machen muss, jetzt brauch nur noch Zeit für das “wie”

Die Tips helfen mir sicher, ich habe selber schon eine Seite gefunden die beschreibt wie man mit oppenssl den privaten Schlüssel aus einer .pfx exportiert.

Wenn ich was brauchbares herausbekomme werde ich mich mitteilen, danke.

P.S.
Der UCS ist mittlerweile ein 3.1.1, nur auf den Thread Titel bezogen ^^


#14

Hallo zusammen,

wie immer ist es ganz einfach wenn man weiß wie ;p

Dieses Quick-Walk-Trough setzt voraus das eine .pfx Datei vorhanden ist.

Der Teil des Textes ab APACHE2 und bezüglich des UCS-Systems, ist nicht von mir und wurde hier dankend entgegengenommen:
sdb.univention.de/content/15/183 … ikate.html

Die .pfx Datei habe ich durch erstellen des CSR mit freundlicher Hilfe von:
digicert.com/easy-csr/exchange2010.htm
und erwerben eines ofiziellen SSL-SAN Zertifikes bei Godday, erlangt.

So war die Frage: “Wie bekomme ich dieses SAN Zertifikat auf den UCS konvertiert?”

Der nun folgende Weg setzt voraus das die Datei “export.pfx” auf dem UCS in dem Verzeichnis “/etc/myssl/” liegt und auch so heißt. Dieses Verzeichnis gilt es ggf. anzulegen.

SSL Dateien erzeugen
openssl pkcs12 -in export.pfx -nocerts -out export.key
openssl pkcs12 -in export.pfx -clcerts -nokeys -out cert.crt
openssl x509 -in cert.crt -out cert.der -outform DER
openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM
openssl rsa -in export.key -out private.key (Passphrase entfernen, sonst verlangt der Apache Server diese bei jedem Neustart)

[i]Apache2
ucr set apache2/ssl/certificate="/etc/myssl/cert.pem"
ucr set apache2/ssl/key="/etc/myssl/private.key"
/etc/init.d/apache2 restart

Postfix
ucr set mail/postfix/ssl/certificate="/etc/myssl/cert.pem"
ucr set mail/postfix/ssl/key="/etc/myssl/private.key"

Datei erzeugen: 61_custom-postfix-tls-configuration
Kopieren nach: /etc/univention/templates/files/etc/postfix/main.cf.d/
Inhalt:
[size=85] @!@

Overwrite previous TLS cert/key settings

if configRegistry.get(‘mail/postfix/ssl/certificate’):
print ‘smtpd_tls_cert_file = %s’ % configRegistry.get(‘mail/postfix/ssl/certificate’)
if configRegistry.get(‘mail/postfix/ssl/key’):
print ‘smtpd_tls_key_file = %s’ % configRegistry.get(‘mail/postfix/ssl/key’)
@!@[/size]

Datei erzeugen: custom-postfix-tls-configuration.info
Kopieren nach: /etc/univention/templates/info/
Inhalt:
[size=85] Type: multifile
Multifile: etc/postfix/main.cf
Variables: mail/postfix/ssl/certificate
Variables: mail/postfix/ssl/key

Type: subfile
Multifile: etc/postfix/main.cf
Subfile: etc/postfix/main.cf.d/61_custom-postfix-tls-configuration[/size]

rm /var/cache/univention-config/cache
ucr commit /etc/postfix/main.cf
/etc/init.d/postfix restart

Cyrus
cp /etc/myssl/cert.pem /var/lib/cyrus/cert.pem
cp /etc/myssl/private.key /var/lib/cyrus/private.key
chown cyrus:mail /var/lib/cyrus/cert.pem /var/lib/cyrus/private.key
chmod 600 /var/lib/cyrus/cert.pem /var/lib/cyrus/private.key
ucr set mail/cyrus/ssl/certificate="/var/lib/cyrus/cert.pem"
ucr set mail/cyrus/ssl/key="/var/lib/cyrus/private.key"
/etc/init.d/cyrus2.2 restart[/i]


#15

Hallo,

vielen Dank für die Rückmeldung.
Das Anlegen der Dateien /etc/univention/templates/files/etc/postfix/main.cf.d/61_custom-postfix-tls-configuration und /etc/univention/templates/info/custom-postfix-tls-configuration.info sowie das anschließende aktualisieren des UCR Cahce sind allerdings ab UCS 3.0 nicht mehr notwendig. Hier reicht es aus die Zertifikate über die UCR-Variablen (mail/postfix/ssl/certificate und mail/postfix/ssl/key) zu definieren und Postfix neu zu starten.

Mit freundlichen Grüßen
Janis Meybohm