SSL Zertifikatverteilung

  • Um Rückfragen vorzubeugen, bitten wir um folgende Angaben:
    * Thunderbird-Version: 31.5.
    * Betriebssystem + Version: W7
    * Kontenart (POP / IMAP): IMAP
    * Postfachanbieter (z.B. GMX): eigener
    * S/MIME oder PGP: -


    Ok, ich bitte um Entschuldigugn das die Frage nicht direkt mit PGP und Co zu tun hat, aber ich denke sie ist hier trotzdem besser aufgehoben als im Allgemeinen Arbeiten...


    Ich betreibe einen eigenen Mailserver (Hmailserver). die Verbindung zu diesem lief bisher über Port 25, mit Authentifizierung, Passwort normal.
    Der Mailserver läuft auf WS 2012 R2.
    Ich will jetzt endlich im 3 Versuch auf SSL umstellen. Ich rede hier wohlgemerkt über die Verbindung zwischen Clients und internen Mailsserver, es geht nicht um die Verbindung nach draußen.


    Das ganze sind so die ersten Gehversuche auf dem Weg irgendwann auch mal das Geld für DKIM Einrichtung zu bekommen :-). Signatur wäre schon cool :-)


    Zunächst bin ich damit gescheitert ein Zertifikat des IIS 8 zu verwenden, denn der Mailserver möchte ein Certifikat File und ein Private Key File haben, und da habe ich nicht herausbekommen wie ich das PKF erhalte. Wenn jemeand weiß wie das mit WS2012 Zertifikatmanager bzw IIS 8 geht, das wäre ziemlich hilfreich. Hatte immer nur ein .cert


    Also habe ich notgedrungen mit OpenSSL gearbeitet, mir die Zertifikate erzeugt und den Key, diese im Mailserver hinterlegt, SMTP auf Port 465 mit SSL umgestellt.....


    dann amTestclient Thunderbird SMTP ebenfalls auf 465, SSL, Passwort normal und.....


    ja, funktioniert. Er meckert an das er das Zertifikat nicht kennt ( erst mal normal, TB hats ja nicht im Speicher), wenn ich das abnicke versendet er aber.


    Soweit so gut.


    Die Frage lautet jetzt - wie bekomme ich das Zertifikat auf die Thunderbird Clients damit keine Warnmeldung erscheint ? Also ohne das es bei jedem Client mit Hand importiert werden muss. Nur irgendwohin kopieren reicht ja sicher nicht.
    Es würde mir ja auch nichts nützen wenn ich das Zertifikat in die Windows Zertifikatverwaltung bekomme, auch nicht wenn ich es per GPO Richtlinie auf die Clients ausrolle - Thunderbird ist das ja alles egal.
    Ich kann natürlich wiederum die Zertifizierungsstelle des Servers bei Thunderbird hinzufügen, aber auch da müßte ich erst das Zertifikat in die Windowsumgebung bekommen und dann steht doch wieder die Frage wie ich automatisch die Zertifizierungsstelle hinzufügen kann unter TB.


    Keine Idee mehr - wer weiß mehr ?


    Danke Pö

  • Hallo Poe,


    es tummeln sich hier ein paar, die wesentlich mehr Ahnung von diesen Dingen haben, als ich. Ich hoffe, dass sie sich auch noch zu Wort melden. Dennoch will ich dir meinen ersten Gedanken dazu beschreiben, die dann evtl. korrigiert werden müssen:


    ich hoffe, dass es dir nicht möglich ist, ein Zertifikat "irgendwo im Internet so abzulegen", dass Thunderbird es annimmt (ohne dass der Benutzer ihm sein Vertrauen ausgesprochen hat).



    Es ist doch so: Thunderbird hat ein paar Zertifikate von CA's vorinstalliert, denen "per default" vertraut wird. Dein Server möchte sich nun Thunderbird gegenüber authentifizieren. Da das Zertifikat, das die Authentizität des Servers sicherstellen soll, von dir selbst erstellt wurde und nicht von einer CA signiert ist, der Thunderbird bereits vertraut, erwarte ich von ihm, dass er "irgendwie meckert".
    Würde er nicht "meckern", könnte sich jeder als dein Server ausgeben.


    Das ist in meinen Augen ganz simpel "das Trust-Problem", oder bin ich da total auf dem Holzweg?


    Also meiner Meinung nach kannst du dein Ziel nur erreichen, indem du dein Zertifikat von einer CA signieren lässt, der Thunderbird bereits vertraut. Bitte nicht übel nehmen: dass das klappt, ist ist hoffentlich utopisch.



    Ich finde aber trotzdem klasse, was du da machst und ausprobierst!


    [edit:
    sorry, das war ja überhaupt nicht die Frage =O 
    Ich habe gerade folgendes ausprobiert: neues Profil angelegt, aus einem anderen Profil die Dateien
    cert8.db
    key3.db
    secmod.db
    hineinkopiert => Die CA, die ich früher mal hinzugefügt und der ich das Vertrauen ausgesprochen hatte, war auch im Zertifikatsmanager. Detailierter kannst du ja selbst experimentieren (ob auch eine Datei reicht, obs wirklich funktioniert, ...) .
    Ist das was für dich?
    [/edit]


    Grüße, Ulrich

    3 Mal editiert, zuletzt von losgehts ()

  • Hallo Pö,


    im Prinzip hat Ulrich alles schon gesagt. Und zwar vollkommen korrekt.
    Und im Prinzip hast du auch alles richtig gemacht, was dein selbst hergestelltes Zertifikat betrifft.


    Wenn du willst, dass von irgend einem Gerät dein Serverzertifikat als vertrauenswürdig anerekannt werden soll, dann muss das Herausgeberzertifikat, welches dein Serverzertifikat signiert hat, in Zertifikatsstore der Clients importiert und diesem das Vertrauen ausgesprochen sein. Und genau da gibt es wieder drei Möglichkeiten:
    1.) Du importierst selbst in jedem deiner Clients dein eigenes Herausgeberzertifikat, oder
    2.) du nutzt ein von einem bereits integrierten "ebablierten" Trustcenter ein dort hergestelltes Zertifikat, oder
    3.) deine Nutzer müssen beim ersten Kontakt eine so genannte "Ausnahmegenehmigung" erteilen.


    Jetzt kommt es eben darauf an, mit wievielen Clients oder überhaupt "Publikum" du zu tun hast, und wieviel dir das ganze überhaupt "wert" ist.


    zu 1.)
    Ich selbst betreibe seit fast 15 Jahren ein heute gar nicht mehr so kleines privates "TrustCenter" und stelle jedes Jahr einige Hundert Zertifikate für alle möglichen Menschen her, die sich Gedanken über ihre Privatsphäre machen. Also in erster Linie für E-Mailverschlüsselung mit S/MIME. Es sind aber auch eine ganze Menge Zertifikate für diverse private Server dabei. Unter anderem auch für alles das, was ich so betreibe.
    Und in jedes dieser Geräte habe ich meine beiden Herausgeberzertifikate importiert - und meine "Kunden" (meine Zertifikate gibt es natürlich gratis!) selbstverständlich auch.
    Wo ist das Problem, denen die drei Zertifikate + eine kleine Anleitung per Mail zuzuschicken oder zum Download auf der eigenen Webseite anzubieten?
    Da die beiden "Mozillen" jeder einen vom Betriebssystem völlig unabhängigen Zertifikatsstore benutzen, müssen die Zertifikate bei Fx und TB also auch alle in diesen importiert werden. Überhaupt hat jedes System so seine Stellen, wo es gerne die Zertifikate hätte. Ich persönlich kenne keine Lösung, wie man diese Zertifikate automatisiert auf die Clients bringen kann. Aber möglich muss es schon irgendwie sein!
    Nummer 1 ist also die Lösung für einen kleinen überschaubaren Nutzerkreis.


    zu 2.)
    Wenn du mit deinem Server so richtig in die Öffentlichkeit gehen willst, dann kommst du nicht um ein Zertifikat von einem etablierten TC herum.
    Auch wenn es IMHO nicht ganz sauber ist, stellen einige TrustCenter für "Hinz und Kunz" (also ohne irgend eine Identitätsfeststellung der Antragsteller!) Kostnix-Zertifikate her, welche durch die Tatsache, dass die Herausgeberzertifikate dieser TrustCenter den Weg in die diversen Browser, Mailclients und Betriebssysteme gefunden haben, dann automatisch als "vertraunswürdig" eingestuft sind. Werten möchte ich derartige TC nicht, aber es funktioniert eben. Welches TC Kostnixzertifikate herstellt, findest du mit der Suchmaschine des geringsten Misstrauens heraus.
    Ich erlaube mir aber auch zu erwähnen, dass es selbstverständlich auch die Möglichkeit gibt, von einem TC ein Zertifikat zu kaufen - bis hin zu welchen, bei denen du dich vorher ausweisen musst.
    Ob sich das alles bei einem internen Mailserver lohnt, wage ich zu bezweifeln.


    zu 3.)
    Das Aussprechen einer Ausnahmeregelung ist für mich (vor allem, weil die Masse der Nutzer ohne irgend eine Prüfung und ohne überhaupt darüber nachzudenken eine solche ausspricht) die absolut schlechteste Krückenlösung.



    losgehts :

    Zitat

    ch hoffe, dass es dir nicht möglich ist, ein Zertifikat "irgendwo im Internet so abzulegen", ...


    ... doch schon, wie oben beschrieben.

    Zitat

    ... dass Thunderbird es annimmt (ohne dass der Benutzer ihm sein Vertrauen ausgesprochen hat).


    Automatisch nicht, der Nutzer muss es bewusst importieren und ihm das Vertrauen aussprechen. Wir nennen das, "den Vertrauensanker setzen". Aber wie schon gesagt, ich schließe ein wie auch immer geartetes Enrollment nicht aus.


    Zitat

    Also meiner Meinung nach kannst du dein Ziel nur erreichen, indem du dein Zertifikat von einer CA signieren lässt, der Thunderbird bereits vertraut.


    Siehe meinen Punkt 2.
    Fast alle TC bieten entweder die komplette Lieferung von privatem Schlüssel und Zertifikat an, oder sie signieren einen vor dir hergestellten und zugeschickten Zertifikatsrequest oder letzteres läuft automatisch bei der Beantragung im Browser ab. In den beiden letzten Fällen hat nur der Antragsteller den privaten Schlüssel.


    Zitat

    Ich finde aber trotzdem klasse, was du da machst und ausprobierst!


    Dem schließe ich mich gerne an! :thumbsup:


    Und ja, das mit dem Kopieren (Verteilen) der drei genannten Dateien funktioniert natürlich. Nur, die dritte Datei beinhaltet die (Mailkonten- und evtl. auch anderen) Passworte des Nutzers =O und (zumindest noch) die key3.db ist mit dem gleichen Masterpasswort des Nutzers verschlüsselt. Ergebnis: alle beteiligten Nutzer haben dann das gleiche (allen, bis auf einen) unbekannte Masterpasswort. Ob das gut ist?



    MfG Peter

    Thunderbird 45.8.x, Lightning 4.7.x, openSUSE Tumbleweed, 64bit
    S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
    Nebenbei: die Benutzung der (erweiterten) Suche, und von Hilfe & Lexikon ist völlig kostenlos - und keinesfalls umsonst!
    Und: Ich mag kein ToFu und kein HTML in E-Mails!

  • Ok, erst mal Danke das ihr euch die Mühe macht.


    erst mal losgehts :
    nein, das Zertifikat liegt natürlich nicht irgendwo im Internet. Wir sind hier im Intranet.
    Mir ist auch klar das es korrekt ist das TB meckert. Und mein Ziel ist es natürlich auch nicht das alle TB weltweit mein Zertifikat akzeptieren :-)
    Ok, der zweite Teil klingt interessant. Allerdings fällt es ausfür die User neue Profile anzulegen. Ich benötige eine Integration in bestehende Profile.


    @P_L :
    ich bekomme gerade Feedback das wohl doch nicht alles korrekt ist. interne Mails funktionieren, nach außen senden geht auch, aber es kommen keine rein. ARGGG. An den IMAP Einstellungen war ich doch gar nicht dran.... aber das ist wohl eher ein Problem fürs HMAILServer Forum.


    Lösung 1 ist das was ich anstrebe, aber halt nicht zu Fuß , sondern vom Server / Admin aus eingeimpft wenn man so dagen will.
    Lösung 2 steht derzeit nicht zur Verfügung, kein Budget für Class 2 Zertifikat. Und der Mailserver hängt an einem Mail Relay unseres Internetversorgers.
    Lösung 3 ist der aktuelle Stand.


    Tja. Also ich fasse zusammen: kein Verteillösung derzeit bekannt. Ist ja echt ein Ding......

  • Hallo,


    mich persönlich würde eine E-Mail vom Admin mit einer guten Anleitung (Lösung 1, "zu Fuß") jetzt nicht stören.
    Das sind ja nur eine Hand voll Schritte, die durchgeführt werden müssen.


    Und ich hoffe echt inständig - auch wenn ich deinen Wunsch sehr gut verstehen kann - , dass es nicht möglich ist, dem Zertifikatsmanager eines bestehenden, mit Masterpasswort versehenen Profils ein Zertifikat unterzuschieben.


    Grüße, Ulrich

  • Nun, nun, natürlich würde dich das nicht stören, aber du bist ja auch kein Standartuser.
    Und es ist überhaupt nichts dagegen zu sagen ein Zertifikat einzuimpfen, die Frage ist nur wie.


    Mal zum Vergleich. Es ist doch absolut normal, das man selbstsignierte Zertifikate per GPO auf die Clients ausrollt. Die ganze Softwareverteilung und WSUS basiert zum Beispiel darauf. Genauso könnte ich es in den Speicher bei TB oder FF veröffentlichen.
    TB müßte halt nur dem Server / Active Directory über den Weg trauen.
    Ich kann die Zertifizierungsstelle im AD ja auch händisch in den TB Zertifikatspeicher aufnehmen. Dann akzeptiert er auch alles an beliebigen Zertifikaten was ich dem AD Zertifikatspeicher an Certs eingebe.

    Einmal editiert, zuletzt von Poe ()