Jump to content
Froxlor Forum
  • 0

[solved] Wie realisiere die Einbindung eines SSL-Zertifikates f?r SSL-Email?


Curio

Question

Hallo Leute,

 

Habe schon viel recherchiert zu diesem Thema und so ziemlich jeder schreibt was anderes. Bin sehr verwirrt. Die entscheidenden Fragen bleiben unbeantowrtet.

 

Ausgangssituation: Strato vServer mit Debian 6.0, Froxlor, Postfix/Dovecot, Startssl-Zertifikat f?r die Domain meinedomain.de.

Die Dateien meinedomain.de.crt und meinedomain.de.key liegen unter /etc/postfix/ssl/. Die Postfix-Konfigurationsdateien (main.cf und master.cf) und die Dovecot-Konfiguration (dovecot.conf) habe ich entsprechend angepasst.

 

Ich kann danach mit Windows Live Mail meine Mails info@mainedomain.de ?ber imaps (Port 993) und pops (Port 995) empfangen und ?ber Port 25 bzw 587 verschl?sselt versenden.

 

Meine Fragen:

 

1. Ziel des Zertifikates ist vor allem die M?glichkeit ssl-gesicherten Emailverkehrs auf meinem vServer. Nun habe ich bei der Zertifikatserstellung die Domain mainedomain.de angegeben. Allerdings m?chte ich nat?rlich, dass das Zertifikat f?r alle Domains auf meinem vServer funktioniert. Grunds?tzlich scheint dies mit dem vorhandenen Zertifikat zu funktionieren, denn auch die anderen Mailkonten kann ich per ssl ansprechen.

Nur erhalte ich beim Start des Emailprogramms stets die Fehlermeldung: "... Der CN-Name des Zertifikates stimmt nicht mit dem ?bergebenen Wert ?berein ...". Diese muss ich dann immer erst mit Ja best?tigen.

Unzumutbar f?r meine Kunden.

 

2. In einem Froxlor-Tutorial kam die Empfehlung, im Email-Client als pop3-, smtp- und imap-server stets den FQDN des Servers (bei mir xxx.stratoserver.net) einzutragen. W?re toll wenn ich f?r diese Domain ein Zertifikat generieren k?nnte, damit w?ren alle Emailkonten aller Domains mit den selben Email-Serverdomains versehen, unabh?ngig von ihren jeweiligen Emailadressdomains.

F?r welche Domain muss ich also ein Zertifikat generieren, dass ich alle Emailkonten damit abdecke?

 

3. Macht es einen Unterschied ein Zertifikat f?r die ssl-Absicherung des Emailverkehrs einzusetzen oder f?r eine https-Verbindung z.B. f?rs Froxlor-Login? Oder kann ich f?r beides das gleiche Zertifikat verwenden?

Auch f?r die https-Verschl?sselung von Webseiten stellt sich die Frage, ob die Zertifikate nur f?r eine Domain gelten. Gibt es die M?glichkeit mehrere Domains mit ein- und dem selben Zertifikat zu sch?tzen?

 

4. Ist es egal, wo ich die Schl?sseldateien speichere (Pfade werden nat?rlich in den Programmen angepasst)? Und welche Rechte m?ssen die Verzeichnisse haben?

Ich habe, wie oben schon erw?hnt eine crt-Datei und eine key-Datei. In den Tutorials ist auch immer die Rede von pem-Dateien. Fehlt da was bei mir?

 

Das solls erst mal gewesen sein. Ich bin erstaunt, dass ich f?r solche essentielln Fragen keine klaren Tutorials finden konnte.

 

Gru?, Curio

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

Hallo Curio,

 

ist dir klar das es ein /etc/ssl Verzeichnis gibt? Warum also speicherst du .{key,crt,pem,crs} was auch immer in Konfigurationsordner der Programme oder eines Programmes?

 

Ich selbst habe es so angelegt:

 

/etc/ssl/certs/$hauptdomain/${crt,crs}

/etc/ssl/combined/$hauptdomian/$pem <- crt + key + dh

/etc/ssl/private/$hauptdomain/$key

 

Du kannst es nat?rlich auch /etc/ssl/$hauptdomain/${crt,crs,pem,key} nehmen, wichtig oder sch?n w?re halt nur wenn es in /etc/ssl ist. ?berall wo der key enthalten ist sollte 400 gesetzt und bei crt kann 444 gesetzt werden. Du kannst auch ?berall 400 als Dateiberechtigung setzen, dh. nur root darf die Datei lesen.

 

Antwort zu 1:

Bei deinen Kunden solltest du deinedomain.de als pop3, imap, smtp server eintragen, Zugangsdaten sind benutzer@kundendomain.de uhr ihr Passwort. Somit haben deine Kunden auch eine SSL-Verschl?sselung. Ich empfehle dir aber mail.deinedomain.de bzw. {imap,pop3,smtp}.deinedomain.de Anzulegen bzw. daf?r Zertifikate zu machen, weil man Webserver und Mailserver so trennen kann, praktisch bei Umz?gen oder wenn man HTTP Zugriffe auf dem einen Server, mails aber auf einem anderen Server verarbeitet. Ich selbst nutze mail.meinedomain.de und meine Dovecot/Postfix (also nur die Mailcerts) zeigen auch darauf.

 

Antwort zu 2:

F?r ***.stratoserver.net wirst du kein Zertifikat beantragen k?nnen und es ist auch nicht n?tig, siehe Antwort oben. Der Rest dieser Frage ist ja auch mit Antwort 1 beantwortet. ;)

 

 

Antwort zu 3:

Es macht nat?rlich einen Unterschied, weil du dann 2 Zertifikate hast. ;) Aber egal ob Mailclient oder Browser beide werden das Zertifikat gleich bearbeiten solange es korrekt ist. Du kannst also f?r Mail und HTTP das gleiche Zertifikat nehmen, was ich selbst aber nicht mache, wie oben beschrieben.

 

Ja Zertifikate gelten nur f?r die Domain f?r die sie ausgestellt/generiert wurden, du m?sstest also f?r jede Kundendomain neue Certs erstellen. Bei HTTP gibt es aber noch eine andere Regel und zwar das Certs normal auf eine IP zeigen, dh. dein vserver hat nur 1 IP somit k?nntest du nur 1 SSL Cert nutzen. Es gibt zwar z. B. Apache Erweiterungen (module) die auch mehre SSL Certs pro IP erlauben, aber das Unterst?tzen wieder nicht alle Browser (glaube aber alle Aktuellen k?nnen es)

 

https://secure.wikimedia.org/wikipedia/de/wiki/Server_Name_Indication

 

Antwort zu 4:

Habe ich oben schon beantwortet. Verzeichnisse brauchen eventuell 500, aber versuch auch da erst 400.

http://www.online-tutorials.net/security/openssl-tutorial/tutorials-t-69-207.html#schlsselpaar-fr-ca

http://http://wiki.ubuntuusers.de/Dovecot

Am besten bei Google mal nach OpenVPN, Zertifikate erstellen, in Wikis von Gro?en Linux Distros suchen nach SSL da stehen viele Sachen dar?ber.

 

//Edit

 

Wichtig noch zu 1. die Nameserver von den Kundendomains m?ssen als Mailserver (MX) deinen Mailserver haben! Sonst bekommen die keine Mails. Bsp. du richtest mail.deinedomain.de ein dann muss bei deinerdomain.de im Nameserver mx mail.deinedomain.de stehen und auch bei allen kundendomain.de. Sonst bekommst du und die eventuell keine Mails. Gut ich denke die kundendomains.de zeigen eh auf die IP somit kommen Sie auch an, aber sicher und sch?ner ist halt sicher und sch?ner. ;)

Link to comment
Share on other sites

@Lucky

Und schon das zweite mal, dass Du mir entscheidend weiterhelfen konntest. Gerade der letzte Hinweis mit den selben MX-Eintr?gen f?r alle Domains war der Durchbruch.

 

Ich hab's jetzt so gemacht:

1. Eine reine "Serververwaltungs"-Domain erstellt - verwaltungsdomain.de, die f?r https-Logins (Froxlor, phpmyadmin, etc) und f?r ssl/tls-Emails zust?ndig ist.

 

2. Dann ?ber Startssl 2 Zertifikate erstellt, einmal f?r www.verwaltungsdomain.de und dann noch f?r mail.verwaltungsdomain.de (verwaltungsdomain.de ist automatisch auch nmit abgedeckt).

 

3. F?r alle Zertifikatsdateien habe ich ein Verzeichnis angelegt - "/etc/ssl/eigene_zertifikate/startssl/" - nur f?r root zug?nglich:

mkdir /etc/ssl/eigene_zertifikate
mkdir /etc/ssl/eigene_zertifikate/startssl
chmod -R 700 /etc/ssl/eigene_zertifikate

 

4. Im neu erstellten Verzeichnis liegen nun folgende Zertifikatsdateien:

- verwaltungsdomain.de.crt

- verwaltungsdomain.de.csr

- verwaltungsdomain.de.key

- mail.verwaltungsdomain.de.crt

- mail.verwaltungsdomain.de.csr

- mail.verwaltungsdomain.de.key

und die CA-Zertifikats- und CertificateChain-Datei vom Startssl-Server

- ca.pem

- sub.class1.server.ca.pem

Die beiden privaten Schl?sseldateien *.key besonders sch?tzen:

chmod 400 *.key

 

5. Dann das Apache2-SSL-Modul aktivieren und den Apache-Daemon auf Port 443 lauschen lassen, da sonst Fehler beim Restart der Email- und Apache-Dienste auftreten:

a2enmod ssl
a2enflag SSL

 

6. Die Pfade zu diesen Dateien und die ssl/tls-Funktionen sowohl in der /etc/postfix/main.cf als auch in der /etc/dovecot/dovecot.conf anpassen und beide Dienste neu starten. Ich musste dies stets in 2 Schritten tun - bei normalem Restart kam es h?ufiger zu Fehlermeldungen:

/etc/init.d/postfix stop
/etc/init.d/postfix start
/etc/init.d/dovecot stop
/etc/init.d/dovecot start
/etc/init.d/apache2 stop
/etc/init.d/apache2 start

 

7. Die MX-Eintr?ge aller Domains auf mail.verwaltungsdomain.de ?ndern. Damit sollte ssl/tls-Email funktionieren.

 

8. Die Pfade zu den Zertifikatsdateien in Froxlor anpassen. Erstens unter Einstellungen -> SSL-Einstellungen -> Konfiguration. Und zweitens unter "IPs und Ports" -> "IP/Port hinzuf?gen". Hier habe ich meine vorhandene IP noch einmal eingesetzt allerdings eben mit dem Port 443.

 

9. Danach Froxlor-Cronjob abwarten und schon funktionierte alles hervorragend.

 

Man sollte dazu wirklich mal ein Tutorial hier einstellen, da das Froxlor-Wiki gelinde gesagt sehr ausbauf?hig ist.

 

Zum Schluss noch eine Frage zur Froxlor-Konfiguration f?r SSL. Ich habe 3 Stellen entdeckt, an denen man SSL-Einstellungen konfigurieren kann.

1. Einstellungen -> SSL-Einstellungen

2. Ips und Ports

3. In den Domaineinstellungen

Letztere habe ich bis jetzt au?er Acht gelassen. Wof?r sind die Konfigurationen an diesen 3 Stellen gedacht? Wo liegen die Unterschiede?

 

Gru?, Curio

Link to comment
Share on other sites

Man sollte dazu wirklich mal ein Tutorial hier einstellen, da das Froxlor-Wiki gelinde gesagt sehr ausbauf?hig ist.

 

Feel free to contribute. ;)

In der contrib-Ecke unter http://redmine.froxlor.org/projects/froxlor/wiki/Contrib sollten eigentlich alle registrierten Benutzer Schreibzugriff haben.

 

 

1. Einstellungen -> SSL-Einstellungen

2. Ips und Ports

3. In den Domaineinstellungen

Letztere habe ich bis jetzt au?er Acht gelassen. Wof?r sind die Konfigurationen an diesen 3 Stellen gedacht? Wo liegen die Unterschiede?

 

Da ich die Einstellung bislang auch noch nicht verwendet hatte, wei? ich das leider auch nicht. :D

Ich habe mir aber ohnehin vorgenommen, die Thematik rund um SSL mal n?her zu behandeln.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...