Mit OpenSSL und CAcert ein X.509-Zertifikat für Postfix und Courier erstellen
Die Vorgeschichte:
Ich habe einen Ubuntu 8.10 Server nach der Anleitung http://www.howtoforge.com/perfect-server-ubuntu-8.10 „Der perfekte Server“ eingerichtet. Allerdings mit Postfix und Courier als Mailserver.
Da die dort selbst erstellten Zertifikate bei MS Outlook 2003 permanent um die Bestätigung bitten benutzt werden zu dürfen habe ich mich für ein Zertifikat von CAcert entschieden.
CAcert ist eine gemeinschaftsbetriebene, nicht-kommerzielle Zertifizierungsstelle (Certification Authority, Root-CA oder kurz CA), die kostenfrei X.509-Zertifikate für verschiedene Einsatzgebiete ausstellt. Damit soll eine Alternative zu den kommerziellen Root-CAs geboten werden, die zum Teil recht hohe Gebühren für ihre Zertifikate erheben.
Durch das Root-Zertifikat, welches bei CAcert herruntergeladen werden kann vertraut Outlook nun den Zertifikaten.
Das Vorgehen:
Ein Zertifkat erstellen
Zur besseren Übersicht erstellen wir uns ein Verzeichnisse „/etc/ssl-cacert/“
mkdir /etc/ssl-cacert/
mkdir /etc/ssl-cacert/mail
dann brauchen wir eine Datei für die OpenSSL Config
nano /etc/ssl-cacert/openssl.conf
Am wichtigsten ist der commonName. Hier muss der qualifizierte Name Ihres Servers stehen!
Das hinter challengePassword angegebene Passwort brauchen wir später noch einige male, daher sollten Sie es sich merken können. Da es auch der Schutz des Zertifikates ist sollte das Passwort nicht zu kurz sein. Ein sicheres Passwotz sollte Groß-, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten und nicht in einem Wörterbuch vorkommen.
Jetzt erstellen wir unser OpenSSL Zertifikat.
openssl genrsa -des3 -out /etc/ssl/certs/mail_server.key 1024
openssl req -new -days 1825 -key /etc/ssl/certs/mail_server.key \ -out /etc/ssl/certs/mail_server.csr \ -config /etc/ssl-cacert/openssl.conf
openssl rsa -in /etc/ssl/certs/mail_server.key –out /etc/ssl/certs/mail_private.key.decrypted
Bei diesen 3 Befehlen wir immer wieder nach dem Passwort gefragt. Also nicht einfach Enter – Enter – Enter
Jetzt brauchen wir einen Account bei CAcert. Unter https://www.cacert.org/index.php?id=1 müssen wir uns registrieren. Für die Registrierung ist ebenfalls ein sicheres Passwort erforderlich. Nach dem ausfüllen des Formulars sendet CACert uns die übliche Mail, die wir bestätigen müssen. Danach dürfen wir uns unter My Account – Password Login einloggen und dort unsere Domain, unter Domains -> Hinzufügen, eintragen. Um eine Domain hinzuzufügen müst Ihr über eine Mailadresse verfügen, die dem Domaininhaber (AdminC) gehört. Maist ist das webmaster@EureDomain.de. An diese Mailadresse sendet CAcert dann ebenfalls eine Mail um die Angaben zu verifizieren. Ich musste mich für jede Domain neu anmelden, aber das bischen Tiparbeit habe ich überlebt.
Nachdem die Domain hinzugefügt wurde, kann nun das Server Zertifikat beantragt werden. Dazu geht man in Server Zertifikate -> Neu und kopiert den Inhalt von /etc/ssl/certs/mail_server.csr in das untenstehende leere Textfeld.
cat /etc/ssl/certs/mail_server.csr
BEGIN CERTIFICATE REQUEST-----
.
.
END CERTIFICATE REQUEST-----
Nach ein paar Sekunden wird dann das CAcert Zertifikat angezeigt:
BEGIN CERTIFICATE------
.
.
END CERTIFICATE-----
Jetzt brauchen wir eine neue Datei mit den Namen apache_server.crt.
nano /etc/ssl/certs/mail_server.crt
Hier kopieren wir das Zertifikat von CAcert hinein.
Anwendung in Postfix
Um Postfix mit SSL zu benutzen, kopieren wir einfach die Dateien nach /etc/ssl-cacert/mail/.
cp /etc/ssl/certs/mail_server.key /etc/ssl-cacert/mail/mail.key
cp /etc/ssl/certs/mail_server.csr /etc/ssl-cacert/mail/mail.csr
cp /etc/ssl/certs/mail_server.crt /etc/ssl-cacert/mail/mail.crt
cp /etc/ssl/certs/mail_private.key.decrypted /etc/ssl-cacert/mail/mail.key.decrypted
Jetzt wird noch das root Zertifikat von CAcert benötigt. Dieses laden wir uns direkt von CAcert herunter.
wget --no-check-certificate https://www.CAcert.org/certs/root.crt -O /etc/ssl-cacert/mail/cacert.crt
chmod a=r /etc/ssl-cacert/mail/cacert.crt
Jetzt passen wir noch die Konfiguration von Postfix an.
nano /etc/postfix/main.cf
Hier suchen wir die Zeilen bzw. fügen diese ein:
Nachdem abspeichern muss Postfix neu gestartet werden, damit die Ändernungen wirksam werden.
/etc/init.d/postfix restart
Anwendung in Courier IMAP-SSL
Courier IMAP-SSL brauch eine PEM Datei, welche aus der key Datei, sowie der beglaubigten CRT Datei von CAcert besteht.
Diese PEM Datei müssen wir erstellen.
cat /etc/ssl-cacert/mail/mail.key.decrypted /etc/ssl-cacert/mail/mail.crt > /etc/ssl-cacert/mail/mail.pem
Nun konfigurieren wir Courier-IMAP für SSL mit CAcert Zertifikat. Dazu muss in der /etc/courier/imapd-ssl der Pfad zur eben erstellten PEM Datei verweisen.
nano /etc/courier/imapd-ssl
Hier suchen wir die Zeilen bzw. fügen diese ein:
Nachdem abspeichern muss Courier neu gestartet werden.
/etc/init.d/courier-imap-ssl restart
Anwendung in Courier POP3-SSL
Wie bei IMAP-SSL muss auch für Courier POP3-SSL eine PEM Datei bereitgestellt werden. Die haben wir aber schon, daher brauchen wir keien neue erstellen.
Lediglich die Eintragung der PEM-Datei in der Konfig von POP3-SSL fehlt noch.
nano /etc/courier/pop3d-ssl
Wie gewohnt nach dem abspeichern muss Courier neu gestartet werden.
/etc/init.d/courier-pop-ssl restart
Damit haben wir nun unser eigenes neues Zertifikat auf unserem Mailserver. Leider reicht das für Outlook immernochnicht aus um die Meldung beim senden und emofangen von Mails abzuschalten. Allerdings gilt unser Zertifikat nun nicht mehr als unsicher.
Um den Meldungen nun letztendlich den Gar aus zu machen öffnen wir den Internetexplorer und gehen auf die Seite http://www.cacert.org/index.php?id=3 . Dort können wir das Root-Zertifikat von CAcert herunterladen bzw. installieren. Es gibt einen Link „Click here if you want to import the root certificate into Microsoft Internet Explorer 5.x/6.x“, der aber bei mir nicht funktioniert hat. Deshalb habe ich den Link „Root Certificate (PEM Format)“ gewählt und mit „öffnen“ bestätigt. Danach öffnet sich das Root-Zertifikat von CAcert, welches dann mittels „Zertifikat installieren ...“ in den eigenen Zertifikatscontainer für vertrauet Zertifikatsstellen kopiert wird. Die Sicherheitsabfrage von Outlook gehört nun der Vergangenheit an.
Das hier erstellte Zertifikat kann natürlich auch für diverse andere Anwendungen wie z.B. für den Apachen benutzt werden.
Ich hoffe ich konnte einigen heir ein paar Anregungen geben und wünsche viel Erfolg beim ausprobieren.
Ich habe einen Ubuntu 8.10 Server nach der Anleitung http://www.howtoforge.com/perfect-server-ubuntu-8.10 „Der perfekte Server“ eingerichtet. Allerdings mit Postfix und Courier als Mailserver.
Da die dort selbst erstellten Zertifikate bei MS Outlook 2003 permanent um die Bestätigung bitten benutzt werden zu dürfen habe ich mich für ein Zertifikat von CAcert entschieden.
CAcert ist eine gemeinschaftsbetriebene, nicht-kommerzielle Zertifizierungsstelle (Certification Authority, Root-CA oder kurz CA), die kostenfrei X.509-Zertifikate für verschiedene Einsatzgebiete ausstellt. Damit soll eine Alternative zu den kommerziellen Root-CAs geboten werden, die zum Teil recht hohe Gebühren für ihre Zertifikate erheben.
Durch das Root-Zertifikat, welches bei CAcert herruntergeladen werden kann vertraut Outlook nun den Zertifikaten.
Das Vorgehen:
Ein Zertifkat erstellen
Zur besseren Übersicht erstellen wir uns ein Verzeichnisse „/etc/ssl-cacert/“
mkdir /etc/ssl-cacert/
mkdir /etc/ssl-cacert/mail
dann brauchen wir eine Datei für die OpenSSL Config
nano /etc/ssl-cacert/openssl.conf
#--- openssl.conf ---RANDFILE = $ENV::HOME/.rnd[ req ]default_bits = 1024default_keyfile = keyfile.pemdistinguished_name = req_distinguished_nameattributes = req_attributesprompt = nooutput_password =[ req_distinguished_name ]C = Ihr Land z.B. DEST = Ihr BundeslandL = Ihre StadtO = Ihre OrganisationOU = Ihre OrganisationcommonName = DOMAIN.TLD emailAddress = webmaster@DOMAIN.TLD[ req_attributes ]challengePassword = ein beliebiges Passwort#--- Ende openssl.conf ---
Am wichtigsten ist der commonName. Hier muss der qualifizierte Name Ihres Servers stehen!
Das hinter challengePassword angegebene Passwort brauchen wir später noch einige male, daher sollten Sie es sich merken können. Da es auch der Schutz des Zertifikates ist sollte das Passwort nicht zu kurz sein. Ein sicheres Passwotz sollte Groß-, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten und nicht in einem Wörterbuch vorkommen.
Jetzt erstellen wir unser OpenSSL Zertifikat.
openssl genrsa -des3 -out /etc/ssl/certs/mail_server.key 1024
openssl req -new -days 1825 -key /etc/ssl/certs/mail_server.key \ -out /etc/ssl/certs/mail_server.csr \ -config /etc/ssl-cacert/openssl.conf
openssl rsa -in /etc/ssl/certs/mail_server.key –out /etc/ssl/certs/mail_private.key.decrypted
Bei diesen 3 Befehlen wir immer wieder nach dem Passwort gefragt. Also nicht einfach Enter – Enter – Enter
Jetzt brauchen wir einen Account bei CAcert. Unter https://www.cacert.org/index.php?id=1 müssen wir uns registrieren. Für die Registrierung ist ebenfalls ein sicheres Passwort erforderlich. Nach dem ausfüllen des Formulars sendet CACert uns die übliche Mail, die wir bestätigen müssen. Danach dürfen wir uns unter My Account – Password Login einloggen und dort unsere Domain, unter Domains -> Hinzufügen, eintragen. Um eine Domain hinzuzufügen müst Ihr über eine Mailadresse verfügen, die dem Domaininhaber (AdminC) gehört. Maist ist das webmaster@EureDomain.de. An diese Mailadresse sendet CAcert dann ebenfalls eine Mail um die Angaben zu verifizieren. Ich musste mich für jede Domain neu anmelden, aber das bischen Tiparbeit habe ich überlebt.
Nachdem die Domain hinzugefügt wurde, kann nun das Server Zertifikat beantragt werden. Dazu geht man in Server Zertifikate -> Neu und kopiert den Inhalt von /etc/ssl/certs/mail_server.csr in das untenstehende leere Textfeld.
cat /etc/ssl/certs/mail_server.csr
BEGIN CERTIFICATE REQUEST-----
.
.
END CERTIFICATE REQUEST-----
Nach ein paar Sekunden wird dann das CAcert Zertifikat angezeigt:
BEGIN CERTIFICATE------
.
.
END CERTIFICATE-----
Jetzt brauchen wir eine neue Datei mit den Namen apache_server.crt.
nano /etc/ssl/certs/mail_server.crt
Hier kopieren wir das Zertifikat von CAcert hinein.
Anwendung in Postfix
Um Postfix mit SSL zu benutzen, kopieren wir einfach die Dateien nach /etc/ssl-cacert/mail/.
cp /etc/ssl/certs/mail_server.key /etc/ssl-cacert/mail/mail.key
cp /etc/ssl/certs/mail_server.csr /etc/ssl-cacert/mail/mail.csr
cp /etc/ssl/certs/mail_server.crt /etc/ssl-cacert/mail/mail.crt
cp /etc/ssl/certs/mail_private.key.decrypted /etc/ssl-cacert/mail/mail.key.decrypted
Jetzt wird noch das root Zertifikat von CAcert benötigt. Dieses laden wir uns direkt von CAcert herunter.
wget --no-check-certificate https://www.CAcert.org/certs/root.crt -O /etc/ssl-cacert/mail/cacert.crt
chmod a=r /etc/ssl-cacert/mail/cacert.crt
Jetzt passen wir noch die Konfiguration von Postfix an.
nano /etc/postfix/main.cf
Hier suchen wir die Zeilen bzw. fügen diese ein:
smtp_tls_key_file = /etc/ssl-cacert/mail/mail.key.decryptedsmtp_tls_cert_file = /etc/ssl-cacert/mail/mail.crtsmtp_tls_CAfile = /etc/ssl-cacert/mail/cacert.crtsmtpd_tls_key_file = /etc/ssl-cacert/mail/mail.key.decryptedsmtpd_tls_cert_file = /etc/ssl-cacert/mail/mail.crtsmtpd_tls_CAFile = /etc/ssl-cacert/mail/cacert.crt
Nachdem abspeichern muss Postfix neu gestartet werden, damit die Ändernungen wirksam werden.
/etc/init.d/postfix restart
Anwendung in Courier IMAP-SSL
Courier IMAP-SSL brauch eine PEM Datei, welche aus der key Datei, sowie der beglaubigten CRT Datei von CAcert besteht.
Diese PEM Datei müssen wir erstellen.
cat /etc/ssl-cacert/mail/mail.key.decrypted /etc/ssl-cacert/mail/mail.crt > /etc/ssl-cacert/mail/mail.pem
Nun konfigurieren wir Courier-IMAP für SSL mit CAcert Zertifikat. Dazu muss in der /etc/courier/imapd-ssl der Pfad zur eben erstellten PEM Datei verweisen.
nano /etc/courier/imapd-ssl
Hier suchen wir die Zeilen bzw. fügen diese ein:
TLS_CERTFILE=/etc/ssl-cacert/mail/mail.pemTLS_TRUSTCERTS=/etc/ssl-cacert/mail/mail.crtTLS_VERIFYPEER=none
Nachdem abspeichern muss Courier neu gestartet werden.
/etc/init.d/courier-imap-ssl restart
Anwendung in Courier POP3-SSL
Wie bei IMAP-SSL muss auch für Courier POP3-SSL eine PEM Datei bereitgestellt werden. Die haben wir aber schon, daher brauchen wir keien neue erstellen.
Lediglich die Eintragung der PEM-Datei in der Konfig von POP3-SSL fehlt noch.
nano /etc/courier/pop3d-ssl
TLS_CERTFILE=/etc/ssl-cacert/mail/mail.pem
Wie gewohnt nach dem abspeichern muss Courier neu gestartet werden.
/etc/init.d/courier-pop-ssl restart
Damit haben wir nun unser eigenes neues Zertifikat auf unserem Mailserver. Leider reicht das für Outlook immernochnicht aus um die Meldung beim senden und emofangen von Mails abzuschalten. Allerdings gilt unser Zertifikat nun nicht mehr als unsicher.
Um den Meldungen nun letztendlich den Gar aus zu machen öffnen wir den Internetexplorer und gehen auf die Seite http://www.cacert.org/index.php?id=3 . Dort können wir das Root-Zertifikat von CAcert herunterladen bzw. installieren. Es gibt einen Link „Click here if you want to import the root certificate into Microsoft Internet Explorer 5.x/6.x“, der aber bei mir nicht funktioniert hat. Deshalb habe ich den Link „Root Certificate (PEM Format)“ gewählt und mit „öffnen“ bestätigt. Danach öffnet sich das Root-Zertifikat von CAcert, welches dann mittels „Zertifikat installieren ...“ in den eigenen Zertifikatscontainer für vertrauet Zertifikatsstellen kopiert wird. Die Sicherheitsabfrage von Outlook gehört nun der Vergangenheit an.
Das hier erstellte Zertifikat kann natürlich auch für diverse andere Anwendungen wie z.B. für den Apachen benutzt werden.
Ich hoffe ich konnte einigen heir ein paar Anregungen geben und wünsche viel Erfolg beim ausprobieren.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 118948
Url: https://administrator.de/contentid/118948
Ausgedruckt am: 21.11.2024 um 20:11 Uhr