SSL/TLS in der Version 1.3.0 - HowTo

  • Hallo zusammen,


    zum aktuellen Release 1.3.0 habe ich (evt. dumme) Fragen bzgl. dem Einsatz von SSL/TLS auf dem Server, jedoch zunächst einmal beschränkt auf den Server an sich, also nicht auf die jeweiligen Installationen der Kunden.


    Ich bin derzeit dabei, eine frische Installation auf Ubuntu 16.04 LTS durchzuführen.


    Ich habe im Forum und auch WIKI bzgl. SSL/TLS bereits gesucht, aber noch nichts Konkretes gefunden. Nun zu den Fragen:


    Zum meinem Verständnis, im Bezug auf den Komplex Verschlüsselung via SSL/TLS gibt es ein (1) Zertifikat (Paket), einen (2) public key und ggfs. auch ein (3) Passwort.


    Bei den Anbietern von Zertifikaten, wie in meinem Beispiel host.example.com bei StartSSL erhalte ich zu (1) eine verschiedene Zahl an Paketen (gezippt), spezifiziert nach Apache, Nginx, Other, usw.


    für Apache:
    1_root_bundle.crt
    2_host.example.com.crt


    für Nginx:
    1_host.example.com_bundle.crt


    für OtherServer:
    1_Intermediate.crt
    2_host.example.com.crt
    root.crt


    Ich habe bereits in einer Nicht-I-MSCP-Installation mit einem Apache-Server das Paket für den Apache zusammen mit den hierfür notwendigen Angaben in der Konfiguration problemlos verwenden können.


    Da I-MSCP ja die Pakete und die jeweilige Konfiguration einer Reihe von verschiedenen Diensten, wie http(apache2), imap, ftp, für SSL/TLS vornimmt, sowie für das Backend nginx bereit stellt, stelle ich mir die Frage, welches Paket (1) hier zum Einsatz kommt. Ich tippe jetzt einmal auf OtherServer, da es wohl bei übrigen Paketen sich um optimierte Bündel handelt. Das ist meine erste Frage.


    Die zweite Frage ist das optionale Passwort (3) für den public key. Nun, mir ist klar, dass hiermit der puplic key abgesichert wird, der ebenso neben dem Zertifikat (Paket) auf dem Server gespeichert wird. Aber sofern dies genutzt wird, können Dienste, wie der apache2 nicht mehr ohne die Eingabe des Passworts gestartet werden. Ist dies hier irgendwie berücksichtigt, d.h. wird das Passwort in der Installation hinterlegt? Alternantiv kann man das Passwort auch deaktivieren, erfolgt dies im Rahmen der Installation oder muss man dies selbst vorab vornehmen?


    Ich möchte in diesem Falle try and error vermeiden, sondern möglichst direkt den richtigen Weg einschlagen. Danke.

  • Also Try and error.


    Während der Installation wird zweimal nach einem SSL-Zertifikat gefragt, einmal für die Dienste FTP, POP/IMAP und FTP und einmal für das Panel.


    Bei dem ersten Punkt bin ich bisher gescheitert, ich kann das Zertifikat hier nicht hinterlegen. ich habe bisher die Dateien unter "OtherServer" vergeblich versucht. Hier kommt einmal die Frage nach dem CA Bundle und dann nochmals die Frage nach dem SSL-Zertifikat.


    Beim zweiten Punkt, wobei sich nginx hinter dem panel verbirgt, hat das mit dem Bundle (1_host.example.com_bundle.crt) funktioniert. Merkwürdig ist hier, das einmal das CA bundle angefragt und anschließend nochmal das SSL-Zertifkat. Für beide Fragen habe ich jeweils einunddieselbe Datei angegeben.


    Ich hänge hier beim ersten Schritt irgendwie fest.

  • Hallo yacsp,


    kann es sein, dass du für das gleiche Thema 2 Beiträge offen hast (zumindest ähneln sie sich sehr) -- hier


    Leider habe ich keine Lösung für dein Thema, aber ich schaue mal nach, vielleicht finde ich noch was.

  • @yacsp


    Send me your certificate and also the CA bundle in private (and the private key). Then, I could try locally and fix your CA bundle. I known that sometime StartSSL don't give the right CA bundle which can explain your problem.

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • Since some months they also ship new intermediate and root certificates with better encryption..
    If I'm home back I'll post them here.


    Update: See attachment.

  • Hallo,


    zunächst Danke für die Infos. Ich habe mir jetzt eine Lösung erarbeitet, die wohl auch funktioniert. Ob das der Königsweg ist, nun das weiß ich nicht. Aber evt. stolpert ja der ein oder andere ebenso hierüber.


    Wenn man bei StartSSl ein Zertifikat erwirbt, gibt es neben dem public key einen Satz ZIP-Archive mit verschiedenen Zertifikats-Bündeln. Für I-MSCP sind folgende von Bedeutung:


    ApacheServer.zip
    dies enthält das CA Bundle (1_root_bundle.crt) und z.B. das Zertifkat (2_host.example.com.crt).
    Benötigt wird dies für die Installation in den Services. Die Dateien sollten z.B. in /usr/local/src entpackt werden.


    Nachgeholt die Konfiguration von I-MSCP mit folgendem Befehl


    Code
    1. perl imscp-autoinstall -dar services_ssl


    • Bei der Aufforderung SSL-Verschlüsselung wählen.
    • Den Pfad zur Datei mit dem private key eingeben, ggfs. das Passwort eingeben.
    • Die Frage nach dem CA-Bundle bejahen und den Pfad zur Datei 1_root_bundle.crt eingeben.
    • Den Pfad zum Zertifikat, z.B. 2_host.example.com.crt eingeben.


    NginxServer.zip
    dies enthält jedglich ein Bundle z.b. 1_host.example.com_bundle.crt.
    Benötigt wird dies für die Installation in das Panel. Die Datei sollten z.B. in /usr/local/src entpackt werden.


    Nachgeholt die Konfiguration von I-MSCP mit folgendem Befehl


    Code
    1. perl imscp-autoinstall -dar panel


    • Bei der Aufforderung SSL-Verschlüsselung wählen.
      Den Pfad zur Datei mit dem private key eingeben, ggfs. das Passwort eingeben.
      Den Pfad zum Bundle, z.B. 1_host.example.com_bundle.crt eingeben.
      Den Pfad zum Zertifikat, z.B. 1_host.example.com_bundle.crt eingeben. Ja, zweimal die gleiche Datei, aber funktioniert.
  • @yacsp


    So your problem is solved, right?

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • Jepp, es läuft. Mir leuchtete es irgendwie nicht ein, das ApacheServer.zip für die Dienste nehmen zu müssen. Ich habe da wohl zu kompliziert gedacht. Aber nun habe ich das klar.


    Der Knackpunkt ist, dass OtherServer.zip 3 Dateien enthält, also root.crt, 1_intermediate.crt und z.B. 2_host.example.com.crt


    So wie ich das verstehe, wird beim ApacheServer.zip aus dem root.crt und intermediate.crt ein CA bundle und genau das wird bei der Installation benötigt.


    Ich gehe auch einmal davon aus, dass die oben beschriebene Methode, wenn das abgelaufene Zertifikat ersetzt werden muss, zum Einsatz kommt, oder?