Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mailserver:ssl_tls_-_postfixverbindungen_verschluesselte_kommunikation [13.01.2011 21:08. ] – link eingefügt django | centos:mailserver:ssl_tls_-_postfixverbindungen_verschluesselte_kommunikation [08.03.2011 17:51. ] (aktuell) – [Zertifikatserstellung] django | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== SSL/TLS - Postfixverbindungen verschlüsselte Kommunikation ====== | ||
+ | {{: | ||
+ | Die für die Versachlüsselung notwendigen // | ||
+ | |||
+ | ===== OpenSSL ===== | ||
+ | Bei der Standardinstallation unseres Systems wurde in der Regel bereits das Paket **openssl** installiert. Ein kurzer Blick in die RPMdatenbank schafft hierzu Gewissheit. | ||
+ | # yum list openssl | ||
+ | | ||
+ | | ||
+ | Sollte das Paket noch fehlen, installieren wir dies einfach via: | ||
+ | # yum install openssl | ||
+ | Was uns das Paket **// | ||
+ | < | ||
+ | Name : openssl | ||
+ | ... | ||
+ | ... | ||
+ | URL : http:// | ||
+ | Summary | ||
+ | Description : | ||
+ | Das OpenSSL-Toolkit liefert Support für die sichere Kommunikation | ||
+ | zwischen Computern. OpenSSL enthält ein zertifiziertes Management-Tool | ||
+ | und gemeinsam genutzte Bibliotheken, | ||
+ | Algorithmen und Protokolle zur Verfügung stellen. | ||
+ | /etc/pki/CA | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ...</ | ||
+ | ===== Zertifikatserstellung ===== | ||
+ | Für die Verschlüsselung unserer Kommunikation nutzen wir ein selbstsigniertes Zertifikat. Hierzu benötigen wir: | ||
+ | - unseren //Private Key//, den wir hüten wie unseren Augapfel | ||
+ | - unseren //Public Key//, den wir von einer CA((Certification Authority)) signieren, in unserem Falle unsere eigene CA, und | ||
+ | - den //Public Key// der unterschreibenden CA, um deren Unterschrift zu prüfen. | ||
+ | Dem Paket //openssl// liegt zwar ein Bash-Script bei, mit dessen Hilfe die nachfolgenden Installationsschritte automatisiert ablaufen sollen, aber zum besseren Verständnis, | ||
+ | # cat / | ||
+ | <code bash CA> | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # CA - wrapper around ca to make it easier to use ... basically ca requires | ||
+ | # some setup stuff to be done before you can use it and this makes | ||
+ | # things easier between now and when Eric is convinced to fix it :-) | ||
+ | # | ||
+ | # CA -newca ... will setup the right stuff | ||
+ | # CA -newreq ... will generate a certificate request | ||
+ | # CA -sign ... will sign the generated request and output | ||
+ | # | ||
+ | # At the end of that grab newreq.pem and newcert.pem (one has the key | ||
+ | # and the other the certificate) and cat them together and that is what | ||
+ | # you want/need ... I'll make even this a little cleaner later. | ||
+ | # | ||
+ | # | ||
+ | # 12-Jan-96 tjh Added more things ... including CA -signcert which | ||
+ | # converts a certificate to a request and then signs it. | ||
+ | # 10-Jan-96 eay Fixed a few more bugs and added the SSLEAY_CONFIG | ||
+ | # environment variable so this can be driven from | ||
+ | # a script. | ||
+ | # 25-Jul-96 eay Cleaned up filenames some more. | ||
+ | # 11-Jun-96 eay Fixed a few filename missmatches. | ||
+ | # 03-May-96 eay Modified to use ' | ||
+ | # 18-Apr-96 tjh Original hacking | ||
+ | # | ||
+ | # Tim Hudson | ||
+ | # tjh@cryptsoft.com | ||
+ | # | ||
+ | |||
+ | # default openssl.cnf file has setup as per the following | ||
+ | # demoCA ... where everything is stored | ||
+ | |||
+ | if [ -z " | ||
+ | |||
+ | DAYS=" | ||
+ | CADAYS=" | ||
+ | REQ=" | ||
+ | CA=" | ||
+ | VERIFY=" | ||
+ | X509=" | ||
+ | |||
+ | CATOP=../ | ||
+ | CAKEY=./ | ||
+ | CAREQ=./ | ||
+ | CACERT=./ | ||
+ | |||
+ | for i | ||
+ | do | ||
+ | case $i in | ||
+ | -\? | ||
+ | echo " | ||
+ | exit 0 | ||
+ | ;; | ||
+ | -newcert) | ||
+ | # create a certificate | ||
+ | $REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS | ||
+ | RET=$? | ||
+ | echo " | ||
+ | ;; | ||
+ | -newreq) | ||
+ | # create a certificate request | ||
+ | $REQ -new -keyout newkey.pem -out newreq.pem $DAYS | ||
+ | RET=$? | ||
+ | echo " | ||
+ | ;; | ||
+ | -newca) | ||
+ | # if explicitly asked for or it doesn' | ||
+ | # structure that Eric likes to manage things | ||
+ | NEW=" | ||
+ | if [ " | ||
+ | # create the directory hierarchy | ||
+ | mkdir ${CATOP} | ||
+ | mkdir ${CATOP}/ | ||
+ | mkdir ${CATOP}/ | ||
+ | mkdir ${CATOP}/ | ||
+ | mkdir ${CATOP}/ | ||
+ | echo " | ||
+ | touch ${CATOP}/ | ||
+ | fi | ||
+ | if [ ! -f ${CATOP}/ | ||
+ | echo "CA certificate filename (or enter to create)" | ||
+ | read FILE | ||
+ | |||
+ | # ask user for existing CA certificate | ||
+ | if [ " | ||
+ | cp $FILE ${CATOP}/ | ||
+ | RET=$? | ||
+ | else | ||
+ | echo " | ||
+ | $REQ -new -keyout ${CATOP}/ | ||
+ | -out ${CATOP}/ | ||
+ | $CA -out ${CATOP}/ | ||
+ | | ||
+ | | ||
+ | RET=$? | ||
+ | fi | ||
+ | fi | ||
+ | ;; | ||
+ | -xsign) | ||
+ | $CA -policy policy_anything -infiles newreq.pem | ||
+ | RET=$? | ||
+ | ;; | ||
+ | -sign|-signreq) | ||
+ | $CA -policy policy_anything -out newcert.pem -infiles newreq.pem | ||
+ | RET=$? | ||
+ | cat newcert.pem | ||
+ | echo " | ||
+ | ;; | ||
+ | -signcert) | ||
+ | echo "Cert passphrase will be requested twice - bug?" | ||
+ | $X509 -x509toreq -in newreq.pem -signkey newreq.pem -out tmp.pem | ||
+ | $CA -policy policy_anything -out newcert.pem -infiles tmp.pem | ||
+ | cat newcert.pem | ||
+ | echo " | ||
+ | ;; | ||
+ | -verify) | ||
+ | shift | ||
+ | if [ -z " | ||
+ | $VERIFY -CAfile $CATOP/ | ||
+ | RET=$? | ||
+ | else | ||
+ | for j | ||
+ | do | ||
+ | $VERIFY -CAfile $CATOP/ | ||
+ | if [ $? != 0 ]; then | ||
+ | RET=$? | ||
+ | fi | ||
+ | done | ||
+ | fi | ||
+ | exit 0 | ||
+ | ;; | ||
+ | *) | ||
+ | echo " | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | done | ||
+ | exit $RET | ||
+ | </ | ||
+ | ==== Verzeichnisse und Dateien anlegen ==== | ||
+ | Als erstes legen wir die noch fehlenden verzeichnisse und Dateien an. | ||
+ | < | ||
+ | # mkdir / | ||
+ | # mkdir / | ||
+ | |||
+ | # echo " | ||
+ | # touch / | ||
+ | Somit befidnet sich in unserem Pfad **/ | ||
+ | < | ||
+ | insgesamt 24 | ||
+ | drwxr-xr-x 2 root root 4096 26. Mär 21:17 certs | ||
+ | drwxr-xr-x 2 root root 4096 26. Mär 21:18 crl | ||
+ | -rw-r--r-- 1 root root 0 26. Mär 21:20 index.txt | ||
+ | drwxr-xr-x 2 root root 4096 26. Mär 21:18 newcerts | ||
+ | drwx------ 2 root root 4096 26. Mär 20:30 private | ||
+ | -rw-r--r-- 1 root root 3 26. Mär 21:19 serial</ | ||
+ | ==== Erstellen unserer eigenen CA ==== | ||
+ | Die Gültigkeit setzen wir mit 25 Jahren bewusst sehr hoch an. Nach dem Ablauf der Gültigkeit der CA werden nämlich auch alle damit signierten Serverzertifikate ungültig! Bei der nun folgenden Generierung unserer CA wird automatisch ein Schlüssel (//private key//), mit einer Länge von 2048 Bit, erzeugt und in der Datei **// | ||
+ | |||
+ | Zur Sicherheit schützen wir den //private key// unserer CA mit einer Passphrase! Denn wer den geheimen Schlüssel der CA hat/kennt, könnte damit beliebige Serverzertifikate signieren. Daher legen wir dieses Keyfile nicht im Klartext auf der Festplatte ab, sondern mit einer Passphrase verschlüsselt. Diese Passphrase benötigen wir immer dann, wenn wir mit unser eigenen CA neue Zertifikate ausstellen wollen. Im nachfolgenden Dialog akzetieren wir die Vorgaben in eckigen Klammern, geben unsere individuellen Daten an, oder quittieren ein //leeres Feld// mittels eines **Punktes** **.**. Beim Feld Common Name (CN) geben wir den Domain-Namen unserer Zertifizierungsstelle ein. | ||
+ | |||
+ | Diese Daten werden dem Client angezeigt, sobald dieser aufgefordert wird, das Zertifikat zu akzeptieren oder abzulehnen. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | < | ||
+ | Generating a 2048 bit RSA private key | ||
+ | ..............+++ | ||
+ | ..................................................+++ | ||
+ | writing new private key to ' | ||
+ | Enter PEM pass phrase: des-woas-blos-I-und-sundst-koana | ||
+ | Verifying - Enter PEM pass phrase: des-woas-blos-I-und-sundst-koana | ||
+ | ----- | ||
+ | You are about to be asked to enter information that will be incorporated | ||
+ | into your certificate request. | ||
+ | What you are about to enter is what is called a Distinguished Name or a DN. | ||
+ | There are quite a few fields but you can leave some blank | ||
+ | For some fields there will be a default value, | ||
+ | If you enter ' | ||
+ | ----- | ||
+ | Country Name (2 letter code) [GB]:DE | ||
+ | State or Province Name (full name) [Berkshire]: | ||
+ | Locality Name (eg, city) [Newbury]: | ||
+ | Organization Name (eg, company) [My Company Ltd]:Nausch | ||
+ | Organizational Unit Name (eg, section) []: | ||
+ | Common Name (eg, your name or your server' | ||
+ | Email Address []: | ||
+ | Als Ergebnis erhalten wir zwei Dateien: | ||
+ | * **cakey.pem** den //private key// unserer //CA// und | ||
+ | * **cacert.pem** das CA-Certifikat unserer //CA//. | ||
+ | |||
+ | # ll *.pem | ||
+ | | ||
+ | | ||
+ | Vorsichtshalber ändern wir die Rechte so, dass die Schlüsseldateien nur für root lesbar sind: | ||
+ | # chmod 400 *.pem | ||
+ | Bei Bedarf kann man mit **openssl rsa -in < | ||
+ | < | ||
+ | Enter pass phrase for cakey.pem: des-woas-blos-I-und-sundst-koana | ||
+ | Private-Key: | ||
+ | modulus: | ||
+ | 00: | ||
+ | 68: | ||
+ | a3: | ||
+ | a1: | ||
+ | 24: | ||
+ | 54: | ||
+ | 68: | ||
+ | 58: | ||
+ | 25: | ||
+ | 24: | ||
+ | 54: | ||
+ | | ||
+ | Will man die Passphrase eines Schlüssels entfernen, geht man wie folgt vor: | ||
+ | # openssl rsa < | ||
+ | Enter pass phrase: des-woas-blos-I-und-sundst-koana | ||
+ | | ||
+ | ==== Schlüssel für das Serverzertifikat erzeugen ==== | ||
+ | Nachdem wir nun unsere eigene CA erstellt haben, machen wir uns daran, endlich für unseren Server ein Zertifikat herausgeben. Hierzu erzeugen wir als erstes einen 2048 Bit langen RSA Schlüssel, den wir mit AES 256 verschlüsselt auf der Platte abgelegt lassen. Da OpenSSL keine leere Passphrase zulässt braucht die Passphrase diesmal nicht sonderlich geheim sein, da wir diese im Anschluss ohnehin sofort wieder entfernen werden: | ||
+ | < | ||
+ | Generating RSA private key, 2048 bit long modulus | ||
+ | ......+++ | ||
+ | ......................................+++ | ||
+ | e is 65537 (0x10001) | ||
+ | Enter pass phrase for serverkey.pem: | ||
+ | Verifying - Enter pass phrase for serverkey.pem: | ||
+ | Wie schon erwähnt entfernen wir die Passphrase nun wieder, damit unser Postfix-Server, | ||
+ | # openssl rsa < | ||
+ | Wei schon zuvor schützen wir auch hier den Serverschlüssel über die Dateirechte, | ||
+ | # mv serverkey_2.pem serverkey.pem | ||
+ | # chmod 400 serverkey.pem | ||
+ | ==== Certificate Signing Request erzeugen ==== | ||
+ | Im folgenden Schritt zu unserem eigenen Zertifikat erzeugen wir einen **CSR**((Certificate Signing Request)), den wir dann in einem weiteren Schritt von unserer eigenen CA signieren lassen werden. **__Wichtig__**: | ||
+ | < | ||
+ | You are about to be asked to enter information that will be incorporated | ||
+ | into your certificate request. | ||
+ | What you are about to enter is what is called a Distinguished Name or a DN. | ||
+ | There are quite a few fields but you can leave some blank | ||
+ | For some fields there will be a default value, | ||
+ | If you enter ' | ||
+ | ----- | ||
+ | Country Name (2 letter code) [GB]:DE | ||
+ | State or Province Name (full name) [Berkshire]: | ||
+ | Locality Name (eg, city) [Newbury]: | ||
+ | Organization Name (eg, company) [My Company Ltd]:Nausch | ||
+ | Organizational Unit Name (eg, section) []: | ||
+ | Common Name (eg, your name or your server' | ||
+ | Email Address []: | ||
+ | |||
+ | Please enter the following ' | ||
+ | to be sent with your certificate request | ||
+ | A challenge password []: | ||
+ | An optional company name []:</ | ||
+ | ==== Serverzertifikat signieren ==== | ||
+ | Bevor wir nun unser eigenes Zertifikat signieren können, passen wir in der OpenSSL-Konfigurationsdatei die Laufzeit an, da wir diese nicht auf der Komandozeile übergeben können. | ||
+ | < | ||
+ | |||
+ | ... | ||
+ | #################################################################### | ||
+ | [ ca ] | ||
+ | default_ca | ||
+ | |||
+ | #################################################################### | ||
+ | [ CA_default ] | ||
+ | |||
+ | dir = / | ||
+ | certs = $dir/ | ||
+ | crl_dir | ||
+ | database | ||
+ | # | ||
+ | # several ctificates with same subject. | ||
+ | new_certs_dir | ||
+ | |||
+ | certificate | ||
+ | serial | ||
+ | crlnumber | ||
+ | # must be commented out to leave a V1 CRL | ||
+ | crl = $dir/ | ||
+ | private_key | ||
+ | RANDFILE | ||
+ | |||
+ | x509_extensions = usr_cert | ||
+ | |||
+ | # Comment out the following two lines for the " | ||
+ | # (and highly broken) format. | ||
+ | name_opt | ||
+ | cert_opt | ||
+ | |||
+ | # Extension copying option: use with caution. | ||
+ | # copy_extensions = copy | ||
+ | |||
+ | # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs | ||
+ | # so this is commented out by default to leave a V1 CRL. | ||
+ | # crlnumber must also be commented out to leave a V1 CRL. | ||
+ | # crl_extensions | ||
+ | |||
+ | default_days | ||
+ | default_crl_days= 30 # how long before next CRL | ||
+ | default_md | ||
+ | preserve | ||
+ | |||
+ | ...</ | ||
+ | Außerdem verschieben wir den privaten Schlüssel unserer CA nach **/ | ||
+ | # mv / | ||
+ | Kommen wir zum krönenen Abschluss - wir signieren nun das Server-Zertifikat durch unsere CA: | ||
+ | < | ||
+ | Using configuration from / | ||
+ | Enter pass phrase for / | ||
+ | Check that the request matches the signature | ||
+ | Signature ok | ||
+ | Certificate Details: | ||
+ | Serial Number: 0 (0x0) | ||
+ | Validity | ||
+ | Not Before: Mar 26 21:59:14 2009 GMT | ||
+ | Not After : Mar 21 21:59:14 2029 GMT | ||
+ | Subject: | ||
+ | countryName | ||
+ | stateOrProvinceName | ||
+ | organizationName | ||
+ | organizationalUnitName | ||
+ | commonName | ||
+ | emailAddress | ||
+ | X509v3 extensions: | ||
+ | X509v3 Basic Constraints: | ||
+ | CA:FALSE | ||
+ | Netscape Comment: | ||
+ | OpenSSL Generated Certificate | ||
+ | X509v3 Subject Key Identifier: | ||
+ | E7: | ||
+ | X509v3 Authority Key Identifier: | ||
+ | keyid: | ||
+ | |||
+ | Certificate is to be certified until Mar 21 21:59:14 2029 GMT (7300 days) | ||
+ | Sign the certificate? | ||
+ | |||
+ | |||
+ | 1 out of 1 certificate requests certified, commit? [y/n]y | ||
+ | Write out database with 1 new entries | ||
+ | Data Base Updated</ | ||
+ | ==== Schlüsseldateien ablegen ==== | ||
+ | Für unsere Postfix-Installation legen wir uns am besten einen eigenen Unterordner unter **/ | ||
+ | # mkdir / | ||
+ | Anschließend legen wir dort die drei benötigten Dateien ab: | ||
+ | - unseren // | ||
+ | - unseren // | ||
+ | - das // | ||
+ | und schützen diese Dateien mit den Dateirechten **400**: | ||
+ | # mv / | ||
+ | # mv / | ||
+ | # cp / | ||
+ | # chmod 400 / | ||
+ | ===== Postfix Konfigurieren ===== | ||
+ | ==== SSL/TLS für den Mailempfang ==== | ||
+ | Für den verschlüsselten Empfangsmodus erweitern wir unsere Postfix-Konfigurationsdatei wie folgt: | ||
+ | # | ||
+ | # SSL/TLS - Schutz durch verschlüsselte Verbindungen | ||
+ | # eingetragen am 24.03.09 | ||
+ | # | ||
+ | # Pfade zu den Keys für den Mailempfang | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | # Aktiviert STARTTLS für den Mailempfang | ||
+ | | ||
+ | |||
+ | ==== SSL/TLS für den Mailversand ==== | ||
+ | Ähnlich trivial gestaltet sich die Geschichte für den Mailversand: | ||
+ | # Aktiviert STARTTLS für den Mailversand | ||
+ | | ||
+ | ==== SSL/TLS - Logging im Maillog ==== | ||
+ | Für die Dokumentation der Verschlüsselung tragen wir in der **main.cf** noch folgende Zeilen nach: | ||
+ | # Logged in den Received-Zeilen | ||
+ | | ||
+ | | ||
+ | | ||
+ | Abschließend starten wir nun unseren Postfix einmal durch, damit unsere Änderungen aktiv werden. | ||
+ | # service postfix restart | ||
+ | ===== Postfix Verbindungstest ===== | ||
+ | ==== erster Test ==== | ||
+ | Als erstes kontrollieren wir, ob unser MX nun **// | ||
+ | < | ||
+ | Trying 88.217.187.21... | ||
+ | Connected to mx1.nausch.org (88.217.187.21). | ||
+ | Escape character is ' | ||
+ | 220 mx1.nausch.org ESMTP Postfix | ||
+ | EHLO test | ||
+ | 250-mx1.nausch.org | ||
+ | 250-PIPELINING | ||
+ | 250-SIZE 10240000 | ||
+ | 250-VRFY | ||
+ | 250-ETRN | ||
+ | 250-STARTTLS | ||
+ | 250-AUTH LOGIN PLAIN | ||
+ | 250-AUTH=LOGIN PLAIN | ||
+ | 250-ENHANCEDSTATUSCODES | ||
+ | 250-8BITMIME | ||
+ | 250 DSN | ||
+ | QUIT | ||
+ | 221 2.0.0 Bye | ||
+ | Connection closed by foreign host. | ||
+ | </ | ||
+ | ==== zweiter Verbindungstest ==== | ||
+ | Als nächstes verbinden wir uns unter Einbeziehung von OpenSSL mit unserem Mailserver via telnet auf Port 25: | ||
+ | |||
+ | < | ||
+ | CONNECTED(00000003) | ||
+ | depth=1 / | ||
+ | verify error: | ||
+ | verify return:0 | ||
+ | --- | ||
+ | Certificate chain | ||
+ | 0 s:/ | ||
+ | | ||
+ | 1 s:/ | ||
+ | | ||
+ | --- | ||
+ | Server certificate | ||
+ | -----BEGIN CERTIFICATE----- | ||
+ | MIIEGDCCAwCgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCREUx | ||
+ | DzANBgNVBAgTBkJheWVybjERMA8GA1UEBxMIUGxpZW5pbmcxDzANBgNVBAoTBk5h | ||
+ | dXNjaDEeMBwGA1UECxMVWmVydGlmaXppZXJ1bmdzc3RlbGxlMRMwEQYDVQQDEwpu | ||
+ | YXVzY2gub3JnMSQwIgYJKoZIhvcNAQkBFhVjYS1zdXBwb3J0QG5hdXNjaC5vcmcw | ||
+ | HhcNMDkwMzI2MjE1OTE0WhcNMjkwMzIxMjE1OTE0WjCBgzELMAkGA1UEBhMCREUx | ||
+ | DzANBgNVBAgTBkJheWVybjEPMA0GA1UEChMGTmF1c2NoMRMwEQYDVQQLEwpQb3N0 | ||
+ | b2ZmaWNlMRcwFQYDVQQDEw5teDEubmF1c2NoLm9yZzEkMCIGCSqGSIb3DQEJARYV | ||
+ | cG9zdG1hc3RlckBuYXVzY2gub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB | ||
+ | CgKCAQEAyrqXcbSu0IDs6yM/ | ||
+ | m4Mll15Yhi8E6GBJr/ | ||
+ | a78VTOpxcFwTD2cVbH/ | ||
+ | MCE2pdWJ9exucbTQ7qgIRxXCz+5REHFSghgGqG39TgMK248RW/ | ||
+ | 7dNa4Cng/ | ||
+ | o0zUhZerVYVaqHms2LAWsdcShZPMUQIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCG | ||
+ | SAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4E | ||
+ | FgQU5xMKn9DCYjmutqFzcOXLrUYVugAwHwYDVR0jBBgwFoAUTT4WTdd2cxH01DTv | ||
+ | gmLolXUPmIMwDQYJKoZIhvcNAQEFBQADggEBABH05WaHg3xM4sb1jAqDF+LMHPsZ | ||
+ | LIImt6BreB8WGNZGdfLF8HofRpcbmqci6/ | ||
+ | ZEVhey5+LQq6WYNyQ+Kt7IZOdbKj0evNe+zv4V7Gqv1cqacL/ | ||
+ | PaIECvoCt+b0PQIRuu4hkPQp9hDGImZEU/ | ||
+ | d+F+JIctlOpEO25SpazbzPsZuYZIeSDnn7vgll/ | ||
+ | nRoL+jf/ | ||
+ | -----END CERTIFICATE----- | ||
+ | subject=/ | ||
+ | issuer=/ | ||
+ | --- | ||
+ | No client certificate CA names sent | ||
+ | --- | ||
+ | SSL handshake has read 3038 bytes and written 341 bytes | ||
+ | --- | ||
+ | New, TLSv1/ | ||
+ | Server public key is 2048 bit | ||
+ | Compression: | ||
+ | Expansion: NONE | ||
+ | SSL-Session: | ||
+ | Protocol | ||
+ | Cipher | ||
+ | Session-ID: F6AD4BFB16B73DA658F36A6D1DD501592FB030BB73DA658FC6C1BD13CC8435A | ||
+ | Session-ID-ctx: | ||
+ | Master-Key: 36867781B392C49512375B320686FF078F353AB414F33C0137FEA2C4951F9CAE403E2F523209E49E75EB4167AEFC4BA59 | ||
+ | Key-Arg | ||
+ | Krb5 Principal: None | ||
+ | Start Time: 1238106514 | ||
+ | Timeout | ||
+ | Verify return code: 19 (self signed certificate in certificate chain) | ||
+ | --- | ||
+ | 220 mx1.nausch.org ESMTP Postfix | ||
+ | EHLO test | ||
+ | 250-mx1.nausch.org | ||
+ | 250-PIPELINING | ||
+ | 250-SIZE 10240000 | ||
+ | 250-VRFY | ||
+ | 250-ETRN | ||
+ | 250-AUTH LOGIN PLAIN | ||
+ | 250-AUTH=LOGIN PLAIN | ||
+ | 250-ENHANCEDSTATUSCODES | ||
+ | 250-8BITMIME | ||
+ | 250 DSN | ||
+ | QUIT | ||
+ | DONE | ||
+ | </ | ||
+ | |||
+ | Die Verbindung wurde uns im Maillog entsprechewnd positiv quittiert: | ||
+ | < | ||
+ | Mar 26 23:28:33 nss postfix/ | ||
+ | Mar 26 23:28:34 nss postfix/ | ||
+ | Mar 26 23:29:00 nss postfix/ | ||
+ | Mar 26 23:29:00 nss postfix/ | ||
+ | |||
+ | ==== eMail-Verkehr ==== | ||
+ | Der verschlüsselte Transportweg wird in der Headerzeilen einer eMail entsprechend vermerkt: | ||
+ | < | ||
+ | by mx1.nausch.org (Postfix) with ESMTP for < | ||
+ | Auch im **Maillog** wird die gesicherte Kommunikation protokolliert: | ||
+ | < | ||
+ | Mar 26 23:40:40 nss postfix/ | ||
+ | Mar 26 23:40:52 nss postfix/ |