Public SSL Zertifikat auf Sophos UTM importieren

Um ein public SSL Zertifikat auf einer Sophos UTM zur zu verwenden, sind folgende vier Punkte notwendig.

  • Privates Key File generieren
  • CSR Request generieren
  • SSL Zertifikat kaufen und generieren lassen
  • SSL Zertifikat in kompatibles Format umwandeln (.p12 / .pfx)
  • SSL Zertifikat in Sophos importieren und mit Webadmin verlinken.

Da sämtliche Anleitungen von Sophos die ich gefunden habe, entweder Fehler enthalten oder unverständlich geschrieben sind, habe ich nachfolgen die Prozedur mit ein paar Screenshots und Copy / Paste Notizen dokumentiert.

Privates Key File generieren

Dieser Schritt ist relativ einfach, man braucht dazu lediglich OpenSSL, welches auf jedem gängigen MAC OSX oder Linux bereits enthalten sein sollte. Sollte man Windows benutzen, muss man sich entweder den Umweg über cygwin machen oder man connectet via SSH auf die UTM und generiert es dort.

Ich habe mich für die SSH auf UTM Variante entschieden, dazu reicht der normale Login mit dem „loginuser“ ohne sudo root.

cat /etc/ssl/openssl.cnf | grep -v SUBJECT_ALT_NAME > ./openssl.config

 

Damit erstellt man das Konfig file für den späteren CSR.

CSR Request generieren

openssl req -config ./openssl.config -new -newkey rsa:2048 -out ssl.meinedomain.ch.csr
Generating a 2048 bit RSA private key
...........+++
.......................+++
writing new private key to 'privkey.pem'
Enter PEM pass phrase: ********
Verifying - Enter PEM pass phrase: ********
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:CH
State or Province Name (full name) [Some-State]:basel
Locality Name (eg, city) []:basel
Organization Name (eg, company) [Default Company]: my company
Organizational Unit Name (eg, section) []:it telcom
Common Name (eg, YOUR name) []:ssl.meinedomain.ch
Email Address []:samuel.heinrich@meinedomain.ch

Wichtig: 

Common Name (eg, YOUR name) []:ssl.meinedomain.ch

Die Angabe die man hier man, bildet den Hostname des späteren Zertifikats.

danach sollte man folgende Files sehen:

loginuser@ssl:/home/login > ls -lha
drwxr-xr-x 3 loginuser users 4.0K Feb 25 20:06 .
drwxr-xr-x 3 root root 4.0K Jul 27 2010 ..
-rw-r--r-- 1 loginuser users 3.1K Feb 25 20:04 openssl.config
-rw-r--r-- 1 loginuser users 1.8K Feb 25 20:06 privkey.pem
-rw-r--r-- 1 loginuser users 1.2K Feb 25 20:06 ssl.meinedomain.csr

 

 

SSL Zertifikat kaufen und registrieren lassen

Ich habe mir beim Kauf für ein Billigzertifikat von https://www.ssls.com entschieden, diese gibts bei einer Laufzeit von 3 Jahren bereits ab 4.99 Dollar!

Der Vorgang ist ziemlich straight forward

Was mir an diesem Anbieter besonders gefällt ist, dass ich zu jedem Zeitpunkt durch die Abläufe geführt wurde. Die nächsten Schritte waren jeweils klar ersichtlich.

Um nun das SSL zu aktivieren, klickt man auf „Activate SSL“

Den CSR Request kopiert man sich von der UTM.

loginuser@ssl:/home/login > cat ssl.meinedomain.csr 
-----BEGIN CERTIFICATE REQUEST-----
MIIDEjCCAfoCAQAwgaMxCzAJBgNVBAYTAkNIMQ4wDAYDVQQIDAViYXNlbDEOMAwG
A1UEBwwFYmFzZWwxHDAaBgNVBAoME2FscGlxIGludGVjIHdlc3QgYWcxEjAQBgNV
BAsMCWl0IHRlbGNvbTEYMBYGA1UEAwwPc3NsLmFscGlxLXJ0LmNoMSgwJgYJKoZI
hvcNAQkBFhlzYW11ZWwuaGVpbnJpY2hAYWxwaXEuY29tMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA+6cTbhpJsBFNVOksRnQHfvs6CQ/6++GpMaI1ObVq
-censored-
Rc0QzjaO6aNayHRFqtQ144iBVAL0EhKmU9Sm7uh3bTCTa6py2lg5QV5oFR805m0s
7G+jYAlU422bzr+vFqO1Gcqw0NbrrEsRAIaIuyYerlkNsh8yepAjagGYMnzfSwY/
sDLa0AxnSovzZUJoZ+MGQ8BfN4NId0gJ5lItwZ58M8iJECrUYpYr5WsKpWs1MfsD
bFj1gi2ed54zbELBiloN2EYkGgtgMQ==
-----END CERTIFICATE REQUEST-----

 

 

Nun muss man seine Email Adresse validieren, dazu gibt man eine gültige Mailadresse aus der Liste an, auf welcher man einen Validierungscode zugeschickt bekommt.

Da ich hinter der UTM auf dieser Domain keinen Email Server habe, der auf diese Adresse antwortet, habe ich die Email Subscription auf der UTM aktiviert, damit diese das Mail zwischengspreichert und ich es von dort ansehen kann.  Das Problem ist nur, dass das Mail ggf. im Spamfilter landen würde, daher habe ich sicherheitshalber sämtliche Spamfilter vorübergehen deaktiviert.

Nach dem man seine Email mit den Code validiert hat, bekommt man die Zertifikate als Zipfile zugeschickt. Man kann sich das Zertifikat auch jeder Zeit aus dem Portal runterladen.

SSL Zertifikat in kompatibles Format umwandeln (.p12 / .pfx)

Um das Zertifikat nun auf der UTM zu importieren, muss man es in ein PKCS12 Format umwandeln, das heisst Key + Zertifikat in einem File. 

Dazu nimmt man das erhaltene .crt file + den selber generierten Key aus schritt 1 dieser Anleitung.

sh-3.2# openssl pkcs12 -export -in ssl.meinedomain.ch.crt -inkey privkey.pem -out ssl.meinedomain.ch.p12
Enter pass phrase for ssl.meinedomain.ch.crt:
Enter Export Password:
Verifying - Enter Export Password:
sh-3.2#

 

SSL Zertifikat in Sophos importieren und mit Webadmin verlinken.

 

Nach einem Logout sollte nun der Hostname grün erscheinen.

Samuel Heinrich
Senior Network Engineer at Selution AG (Switzerland)
Arbeitet in Raum Basel (Switzerland) als Senior Network Engineer mit über 15 Jahren Erfahrung im Bereich Netzwerk

12 thoughts on “Public SSL Zertifikat auf Sophos UTM importieren

  1. Hallo,

    die Anleitung ist sehr gut geschrieben.
    Mein Zertifikat (und auch die intermediate1.crt und intermediate2.crt) habe ich installiert.
    Unter Windows Betriebssystemen wird das Zertifikat angenommen.
    Android Systeme reklamieren bei mir das Zertifikat, bzw. die Zertifizierungsstelle. Hast Du da einen TIp?
    Für die Installation aller Zertifikate habe ich die Schritte unter https://www.sophos.com/de-de/support/knowledgebase/118084.aspx beachtet. Es werden nach der Sophos Anleitung dann das eigene Zertifikat und die drei CAs installiert.

    Allerdings reklamieren Android Devices weiterhin die Zertifikatskette.

    Bin für jeden Hinweis dankbar.

    1. Hi Stefan

      Ich habe das gleiche Problem festgestellt. Vor allem Firefox stellt sich da meist ziemlich quer.
      Meiner Meinung nach sind die Intermediate CA’s von Positiv SSL schlicht weg nicht supported in gewissen Browsers.
      Habe leider keine Lösung, ausser auf teurer Zertifikate zu wechseln, welche direkt von einer Root CA ausgestellt werden.

  2. Hallo Samuel,

    über die shell kann der Fehler gefixt werden.

    Im Verzeichnis /var/sec/chroot-httpd/etc/httpd sind die Zertifikate zu prüfen!
    Die GUI vermittelt den Eindruck, dass die richtigen Zertifikate genutzt werden. Fehlanzeige!!!
    Das bei der Installation erstellte ROOT-Zertifikat bleibt ohne SHELL-EIngriff aktiv.

    Wenn Intermediate-Zertifikate genutzt werden, ist in der Datei /var/sec/chroot-httpd/etc/httpd/vhost/httpd-portal.conf zu erweitern:

    SSLCertificateFile /etc/httpd/WebAdminCert.pem
    SSLCertificateKeyFile /etc/httpd/WebAdminKey.pem
    SSLCertificateChainFile /etc/httpd/intermediate1.pem
    SSLCACertificateFile /etc/httpd/intermediate2.pem

    Mit dem APACHE Neustart ist dann der Fehler „Certificate Chain Issue“ behoben.

    MfG Stefan

  3. Hallo,

    hat bei mir super funktioniert.
    Wie gehe ich vor, wenn das Zertifikat abgelaufen ist und ich ein neues habe. Ich kann bei der UTM nur ein neues hochladen aber das bestehende nicht ersetzen.

    Muss ich einfach das neue hochladen und es ersetzt das alte automatisch?
    Oder existieren dann zwei Zertifikate und ich muss dann von Hand die Konfiguration auf das neue Zertifikat ändern und danach das alte löschen?

    Lucas

    1. Hi Lucas

      Soweit ich beurteilen kann, liegt das Problem lediglich im Zertifikatsnamen, dieser ist jedoch nur intern gebraucht und widerspiegelt nicht den CN innerhalb des Zertifikats. Theoretisch kannst du mehre Zertifikate hochladen, „ssl.domain.ch-new“ „ssl.domain.ch-new-new“ etc.. und dann jeweils das aktuelle auswählen.

      Ansonsten vorher das alte löschen, dann nutzt die Box wieder das Builtin Zertifikats, danach das neue hochladen und wieder auswählen. Etwas mühsam, da man mehrmals rausfliegt und im Hintergrund der Webserver neugestartet wird. Macht man ja wiederum eher selten.

      Gruss

  4. Hallo,

    kann mir jemand helfen wie das Zertifikat in p12 umwandle?
    Komme mit der Anleitung nicht ganz zurecht. Mach ich das per ssh in der Sophos?

    Grüße

    Nils

    1. Hi Nils

      Prinzipiell kannst du das auf jedem Rechner bzw. Betriebssystem machen, auf dem OpenSSL installiert ist. In der Regel haben Unix/Linux Betriebsysteme den OpenSSL Client schon nativ installiert, dazu zähl zb. auch MacOSX. Wenn du Windows benutzt hast du entweder die Möglichkeit OpenSSL zu installieren oder per SSH das ganze auf der Sophos zu machen, da dort ja ein Linux Betriebssystem läuft.
      An welchem Punkt scheiterst du?

      Das Command wäre wie folgt zu gebrauchen:
      openssl pkcs12 -export -in (das Zertifikat was du von der CA erhalten hast) -inkey (dein privat Key den du vorher generiert hast) -out (Der Filename des neuen .p12 Zertifikats das erstellt werden soll)

      Gruss samuel

  5. Hallo Samuel,

    mir ist nicht ganz klar wie ich das Zertifikat von der CA auf die Sophos bekomme um den Befehl auszuführen der private Key ist ja schon auf der Sophos.
    Danke für die schnelle Hilfe

    Gruss

    Nils

    1. Verstehe. Da gäbe es mehre Möglichkeiten:

      1) per wget downloaden
      2) per SSH copy übertragen, Stichwort SCP
      3) per Text editor Copy/Paste

      Die einfachste für diesen zweck ist wohl Variante 3. Dazu gehst du per ssh als root oder mit „sudo“ auf die Sophos in das Verzeichnis wo die Zertifikate liegen und machst folgendes:

      ssl:/home/login # joe meincert.crt

      (Damit startet sich der Texteditor „joe“ und erstellt eine neue Datei „meincert.crt“

      Nun öffnest du das Zertifikat auf deinem Rechner und kopierst den Inhalt in den Zwischenspeicher, danach fügst du es in der SSH Session in den Texteditor ein.

      Zum Speichern und Schliessen drückst du:

      ^KX

      (Control + K gefolgt von einem X )

      Damit sollte sich der Texteditor automatisch schliessen.

      Prüf am besten kurz, obs geklappt hat mit „cat meincert.crt“

      Gruss

  6. Danke das hat geklappt.
    Wenn ich nun den Befehl für das umwandeln der Zertifikats eingebe möchte er das Passwort für privkey.pem und nicht wie bei dir das Passwort vom Zertifikat. Danach bricht er mit Fehler ab. Unable to lad certificates

    Grüße

    Nils

  7. Ist ein Eingangsformat evt. PEM?

    Hier ein weiterführender Link
    https://www.sslshopper.com/article-most-common-openssl-commands.html

    Convert a PEM certificate file and a private key to PKCS#12 (.pfx .p12)
    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

    Ansonsten empfehle ich dir den gesamten Vorgang nochmals zu wiederholen. Evt. ist eins der Zertifikate kaputt gegangen beim Copy / Pasten.

    Gruss

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.