Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Da dieser Befehl meistens auf eine Eingabe von uns wartet, beenden wir den Prozess mit ctrl + c . Für den Postausgangsserver von web.de sieht der Output folgendermassen aus:

Code Block
languagebash

...
Certificate chain
0 s:/C=DE/O=1&1 Mail & Media GmbH/OU=WEB.DE/ST=Rhineland-Palatinate/L=Montabaur/emailAddress=server-certs@1und1.de/CN=smtp.web.de
i:/C=DE/O=T-Systems International GmbH/OU=T-Systems Trust Center/ST=NRW/postalCode=57250/L=Netphen/street=Untere Industriestr. 20/CN=TeleSec ServerPass DE-1
1 s:/C=DE/O=T-Systems International GmbH/OU=T-Systems Trust Center/ST=NRW/postalCode=57250/L=Netphen/street=Untere Industriestr. 20/CN=TeleSec ServerPass DE-1
i:/C=DE/O=Deutsche Telekom AG/OU=T-TeleSec Trust Center/CN=Deutsche Telekom Root CA 2
2 s:/C=DE/O=Deutsche Telekom AG/OU=T-TeleSec Trust Center/CN=Deutsche Telekom Root CA 2
i:/C=DE/O=Deutsche Telekom AG/OU=T-TeleSec Trust Center/CN=Deutsche Telekom Root CA 2
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIHUzCCBjugAwIBAgIJAKaEwtMgQ2s5MA0GCSqGSIb3DQEBBQUAMIHJMQswCQYD
...
Ulc/sMvd/LPX0f60pSQr9tkZgU4f8Jvx9EvPUCFTRXlXqkBIhgJhgCadZC+wKB1P
eQMS8rksXw==
-----END CERTIFICATE-----

...

Wie geht das ohne grossen Aufwand? Wir markieren in einem Fenster unseres ssh-client den gewünschten Text mit der Maus und kopieren ihn (unter z.B. Windows mit ctrl + c) in die Zwischenablage. Im anderen Fenster läuft der <MC> und wir wechseln ins Verzeichnis /usr/local/ssl/certs/. Dort legen wir die neue Datei mit

Code Block
languagebash

touch smtp.web.de.pem

an. Nun öffnen wir die noch leere Datei mit der Taste F4 im Editor vom <MC> und können den Inhalt aus der Zwischenablage einfügen (unter z.B. Windows mit ctrl + v) und mit F2 die Datei speichern. Falls unsere Zertifikatskette weitere Zertifikate enthält (bei smtp.web.de ist dies leider nicht der Fall), fügen wir diese – sofern noch nicht vorhanden – auf die gleiche Weise in eine .pem-Datei im Verzeichnis /usr/local/ssl/certs/ ein.

...

Wenn wir alle Zertifikate der Zertifikatskette beisammen haben wechseln wir ins Verzeichnis /usr/local/ssl/certs/ und rehashen:

Code Block
languagebash

cd /usr/local/ssl/certs/
/usr/bin/ssl/c_rehash

Nun prüfen wir, ob wir auch wirklich für die .pem-Datei des Postausgangsservers alle Zertifikate haben:

Code Block
language

...

bash

/var/install/bin/certs-show-chain <Name des Servers>.pem

 

Wenn die Kette bis +-> end of chain! aufgelöst wird, kommt der nächste Postausgangsserver dran, ansonsten sehen wir das letzte gefundene Zertifikat, ab dem wir uns in der Kette weiterhangeln müssen. Wichtig ist immer, dass alle Zertifikatsdateien .pem heissen, in usr/local/ssl/certs/ liegen und dass wir auch nach allen Änderungen neu rehasht haben. Also die gleiche Vorgehensweise wie bei den Posteingangsservern.

...

Nun muss unser Mailserver auch Listen von gesperrten und oder widerrufenen Zertifikaten haben. Ohne diese bricht er den Versand ab, da er so nicht feststellen kann, ob alle Zertifikate in der Kette noch gültig sind. Die Widerrufslisten (CRL) besorgt er sich durch

Code Block

...

languagebash

/var/install/bin/certs-update-crl -grepuri

und 

Code Block

...

language

...

bash

/var/install/bin/certs-update-crl -quiet

...



Beide Befehle können einige Minuten an Zeit beanspruchen (ich habe schon mal 20 Minuten gewartet) und liefern vermutlich Fehlermeldungen. Hier werden die oben schon erwähnten wenig aussagekräftigen .pem-Dateien heruntergeladen und es wird dann rehasht. Die Fehlermeldungen betreffen nur .cer-Dateien die wir nicht benötigen und können daher ignoriert werden.

...

Jetzt müssen wir noch in der Konfiguration des Mailpaketes die Postausgangsserver für verschlüsselten Versand eintragen (sind meist andere als ohne SSL) und dann SSL aktivieren.

Code Block
language

...

bash

SMTP_SMARTHOST_x_HOST = <Servername> # 

...

-- der Postausgangsserver

...


SMTP_SMARTHOST_x_AUTH_TYPE = plain

...


SMTP_SMARTHOST_x_ADDR = <Mailadresse>

...


SMTP_SMARTHOST_x_DOMAIN =

...


SMTP_SMARTHOST_x_USER = <geheim>

...


SMTP_SMARTHOST_x_PASS = <auch geheim>

...


SMTP_SMARTHOST_x_FORCE_AUTH = no

...


SMTP_SMARTHOST_x_FORCE_TLS = yes # 

...

-- SSL aktivieren

...


SMTP_SMARTHOST_x_PORT =

...



Ich habe bei gmx.de, gmx.net, t-online.de und web.de keinen Port angeben müssen, aber dies kann bei anderen Providern durchaus abweichen.

...

Überprüfen können wir dies im Logfile des Mailpaketes:

Code Block
language

...

bash

10. Goto mail tools

...


13. View main log file

...



Wenn hier nach (!!!) dem Versand einer Mail über ein auf SSL-Versand umgestelltes Konto keine Fehlermeldungen erscheinen (ganz nach unten scrollen) und die Mail auch beim Empfänger ankommt, hat die Umstellung geklappt.

...