eudatabase
Goto Top

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
#--- 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 face-wink

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.

Content-Key: 118948

Url: https://administrator.de/contentid/118948

Printed on: April 16, 2024 at 05:04 o'clock