Gmail से मेल प्राप्त नहीं कर सकते


15

कुछ दिन पहले जीमेल ने अचानक मेरे मेलस्वर को मेल भेजना बंद करने का फैसला किया। मैं सब कुछ अद्यतन के साथ डेबियन 7 पर चलने वाले एक भुगतान एसएसएल प्रमाणपत्र के साथ पोस्टफिक्स और डवकोट का उपयोग कर रहा हूं।

मेरी mail.logनिम्न त्रुटि दिखाता है:

Dec 19 11:09:11 server postfix/smtpd[19878]: initializing the server-side TLS engine
Dec 19 11:09:11 server postfix/tlsmgr[19880]: open smtpd TLS cache btree:/var/lib/postfix/smtpd_scache
Dec 19 11:09:11 server postfix/tlsmgr[19880]: tlsmgr_cache_run_event: start TLS smtpd session cache cleanup
Dec 19 11:09:11 server postfix/smtpd[19878]: connect from mail-wi0-x230.google.com[2a00:1450:400c:c05::230]
Dec 19 11:09:11 server postfix/smtpd[19878]: setting up TLS connection from mail-wi0-x230.google.com[2a00:1450:400c:c05::230]
Dec 19 11:09:11 server postfix/smtpd[19878]: mail-wi0-x230.google.com[2a00:1450:400c:c05::230]: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STR                              ENGTH:!aNULL:!DES:!3DES:!MD5:!DES+MD5:!RC4:!RC4-MD5"
Dec 19 11:09:11 server postfix/smtpd[19878]: SSL_accept:before/accept initialization
Dec 19 11:09:11 server postfix/smtpd[19878]: SSL_accept:error in unknown state
Dec 19 11:09:11 server postfix/smtpd[19878]: SSL_accept error from mail-wi0-x230.google.com[2a00:1450:400c:c05::230]: -1
Dec 19 11:09:11 server postfix/smtpd[19878]: warning: TLS library problem: 19878:error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown                               protocol:s23_srvr.c:647:
Dec 19 11:09:11 server postfix/smtpd[19878]: lost connection after STARTTLS from mail-wi0-x230.google.com[2a00:1450:400c:c05::230]
Dec 19 11:09:11 server postfix/smtpd[19878]: disconnect from mail-wi0-x230.google.com[2a00:1450:400c:c05::230]

मेरे पोस्टफिक्स के कुछ अंश main.cf:

smtpd_use_tls=yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_tls_CAfile = path to CA Bundle
smtpd_tls_cert_file= path to cert (pem)
smtpd_tls_key_file=path to key (pem)
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_exclude_ciphers = aNULL, DES, 3DES, MD5, DES+MD5, RC4, RC4-MD5
smtpd_tls_protocols=!SSLv2,!TLSv1,!TLSv1.1,!SSLv3
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_received_header = yes
tls_preempt_cipherlist = yes
tls_medium_cipherlist = AES256+EECDH:AES256+EDH

मुझे नहीं पता कि समस्या कहां है, क्योंकि मैं नियमित रूप से दूसरों से मेल प्राप्त करता हूं। टेलनेट या पोर्ट 465 के माध्यम से पोर्ट्स 25 को पोर्ट्स से जोड़ने में कोई त्रुटि नहीं है

अतिरिक्त: मुझे यह मेल Google से बदले में मिला:

Delivery to the following recipient failed permanently:

     <removed>

Technical details of permanent failure:
TLS Negotiation failed

----- Original message -----
[...]

शायद यह मेरे सिफर के साथ एक मुद्दा है?

मसलोगेह के प्रश्न का उत्तर:

openssl s_client -connect localhost:25 -starttls smtp
CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify error:num=19:self signed certificate in certificate chain
verify return:0
---
Certificate chain
[...]
---
Server certificate
-----BEGIN CERTIFICATE-----
[...]
---
No client certificate CA names sent
---
SSL handshake has read 6267 bytes and written 477 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol  : TLSv1.2
Cipher    : ECDHE-RSA-AES256-GCM-SHA384
Session-ID: [...]
Session-ID-ctx:
Master-Key: [...]
Key-Arg   : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 3600 (seconds)
TLS session ticket: [...]

Compression: 1 (zlib compression)
Start Time: 1418986680
Timeout   : 300 (sec)
Verify return code: 19 (self signed certificate in certificate chain)

---
250 DSN

अपडेट 1: मेरे एसएसएल प्रमाणपत्र को फिर से जारी किया। निम्नलिखित के रूप में सब कुछ उत्पन्न:
openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr -sha256

मैं तो एक नया से मिलकर फ़ाइल बनाई crtऔर key, के बाद यह मैं सीए बंडल बनाया:
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > bundle.crt

मेरे dovecot और postfix config में सब कुछ जोड़ा और दोनों सेवाओं को फिर से शुरू किया।
Google अभी भी मेल भेजने में विफल रहता है, जिसके परिणामस्वरूप मेरा सर्वर बदल जाता हैTLS Negotiation failed

मैंने एक और मेल प्रोवाइडर (web.de) की कोशिश की और मेल सेंड हो गया।
web.de लॉग:

Dec 19 17:33:15 server postfix/smtpd[14105]: connect from mout.web.de[212.227.15.3]
Dec 19 17:33:15 server postfix/smtpd[14105]: setting up TLS connection from mout.web.de[212.227.15.3]
Dec 19 17:33:15 server postfix/smtpd[14105]: mout.web.de[212.227.15.3]: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STRENGTH"
Dec 19 17:33:15 server postfix/smtpd[14105]: mout.web.de[212.227.15.3]: save session EA1635ED786AFC2D9C7AB43EF43620A1D9092DC640FDE21C01E7BA25981D2445&s=smtp&l=268439647 to smtpd cache
Dec 19 17:33:15 server postfix/tlsmgr[14107]: put smtpd session id=EA1635ED786AFC2D9C7AB43EF43620A1D9092DC640FDE21C01E7BA25981D2445&s=smtp&l=268439647 [data 127 bytes]
Dec 19 17:33:15 server postfix/tlsmgr[14107]: write smtpd TLS cache entry EA1635ED786AFC2D9C7AB43EF43620A1D9092DC640FDE21C01E7BA25981D2445&s=smtp&l=268439647: time=1419006795 [data 127 bytes]
Dec 19 17:33:15 server postfix/smtpd[14105]: Anonymous TLS connection established from mout.web.de[212.227.15.3]: TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)

Soultion:
सक्रिय करने के बाद TLSv1और TLSv1.1में smtpd_(mandatory)_protocolsखंड सब कुछ काम करता है ठीक। धन्यवाद masegaloeh !

Dec 20 11:44:46 server postfix/smtpd[31966]: initializing the server-side TLS engine
Dec 20 11:44:46 server postfix/tlsmgr[31968]: open smtpd TLS cache btree:/var/lib/postfix/smtpd_scache
Dec 20 11:44:46 server postfix/tlsmgr[31968]: tlsmgr_cache_run_event: start TLS smtpd session cache cleanup
Dec 20 11:44:46 server postfix/smtpd[31966]: connect from mail-wi0-x235.google.com[2a00:1450:400c:c05::235]
Dec 20 11:44:46 server postfix/smtpd[31966]: setting up TLS connection from mail-wi0-x235.google.com[2a00:1450:400c:c05::235]
Dec 20 11:44:46 server postfix/smtpd[31966]: mail-wi0-x235.google.com[2a00:1450:400c:c05::235]: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STRENGTH"
Dec 20 11:44:46 server postfix/smtpd[31966]: Anonymous TLS connection established from mail-wi0-x235.google.com[2a00:1450:400c:c05::235]: TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)

कमांड का आउटपुट क्या है openssl s_client -connect localhost:25 -starttls smtp?
मसलोगेह

इसे मेरे प्रश्न @masegaloeh
Octfx

यह मुझे एक्जिम के साथ भी प्रभावित कर रहा है; बड़ा सवाल।
बॉय स्टीफन स्मिथ जूनियर

यह सिर्फ मुझे प्रभावित करने लगा, मेरे ts_protocol लाइनों में मेरी main.cf नहीं थी, और दस्तावेज डिफ़ॉल्ट केवल SSL2 / 3 को अक्षम करना है। हालांकि नीचे दिए गए जवाब ने मेरी समस्या को ठीक कर दिया।
Bwooce

जवाबों:


21

TLDR : आपके TLS प्रोटोकॉल बहुत सख्त हैं क्योंकि आप केवल TLSv1.2 कनेक्शन की अनुमति देते हैं।

smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_protocols=!SSLv2,!TLSv1,!TLSv1.1,!SSLv3

और GMAIL अपने सर्वर को TLSv1 प्रोटोकॉल के साथ ईमेल भेजें । इसीलिए टीएलएस वार्ता विफल हो जाती है।

स्पष्ट समाधान TLSv1 और TLSv1.1 प्रोटोकॉल और अभी भी अक्षम (असुरक्षित) SSLv2 और SSLv3 प्रोटोकॉल की अनुमति दे रहा है।


व्याख्या

जब मैं STARTTLS से अधिक GMAIL और FACEBOOK से ईमेल प्राप्त करने में विफल रहा तो मैं आपके मामले की पुष्टि कर सकता हूं ।

केवल GMAIL ही ऐसा क्यों करता है जो मेरे सर्वर पर ईमेल भेजने में विफल रहता है

जब GMAIL ईमेल भेजती है तो यह Maillog स्निपेट होता है

Dec 19 23:37:47 tls postfix/smtpd[3876]: initializing the server-side TLS engine
Dec 19 23:37:47 tls postfix/smtpd[3876]: connect from mail-wg0-f47.google.com[74.125.82.47]
Dec 19 23:37:48 tls postfix/smtpd[3876]: setting up TLS connection from mail-wg0-f47.google.com[74.125.82.47]
Dec 19 23:37:48 tls postfix/smtpd[3876]: mail-wg0-f47.google.com[74.125.82.47]: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STRENGTH:!aNULL:!DES:!3DES:!MD5:!DES+MD5:!RC4:!RC4-MD5"
Dec 19 23:37:48 tls postfix/smtpd[3876]: SSL_accept:before/accept initialization
Dec 19 23:37:48 tls postfix/smtpd[3876]: SSL_accept:error in unknown state
Dec 19 23:37:48 tls postfix/smtpd[3876]: SSL_accept error from mail-wg0-f47.google.com[74.125.82.47]: -1
Dec 19 23:37:48 tls postfix/smtpd[3876]: warning: TLS library problem: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:647:
Dec 19 23:37:48 tls postfix/smtpd[3876]: lost connection after STARTTLS from mail-wg0-f47.google.com[74.125.82.47]
Dec 19 23:37:48 tls postfix/smtpd[3876]: disconnect from mail-wg0-f47.google.com[74.125.82.47]

और यह माॅलॉग स्निपेट है जब FACEBOOK ईमेल भेजती है

Dec 19 23:11:14 tls postfix/smtpd[3844]: initializing the server-side TLS engine
Dec 19 23:11:14 tls postfix/tlsmgr[3846]: open smtpd TLS cache btree:/var/lib/postfix/smtpd_scache
Dec 19 23:11:14 tls postfix/tlsmgr[3846]: tlsmgr_cache_run_event: start TLS smtpd session cache cleanup
Dec 19 23:11:14 tls postfix/smtpd[3844]: connect from outcampmail003.ash2.facebook.com[66.220.155.162]
Dec 19 23:11:14 tls postfix/smtpd[3844]: setting up TLS connection from outcampmail003.ash2.facebook.com[66.220.155.162]
Dec 19 23:11:14 tls postfix/smtpd[3844]: outcampmail003.ash2.facebook.com[66.220.155.162]: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STRENGTH:!aNULL:!DES:!3DES:!MD5:!DES+MD5:!RC4:!RC4-MD5"
Dec 19 23:11:14 tls postfix/smtpd[3844]: SSL_accept:before/accept initialization
Dec 19 23:11:15 tls postfix/smtpd[3844]: SSL_accept:error in unknown state
Dec 19 23:11:15 tls postfix/smtpd[3844]: SSL_accept error from outcampmail003.ash2.facebook.com[66.220.155.162]: -1
Dec 19 23:11:15 tls postfix/smtpd[3844]: warning: TLS library problem: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:647:
Dec 19 23:11:15 tls postfix/smtpd[3844]: lost connection after STARTTLS from outcampmail003.ash2.facebook.com[66.220.155.162]
Dec 19 23:11:15 tls postfix/smtpd[3844]: disconnect from outcampmail003.ash2.facebook.com[66.220.155.162]
Dec 19 23:11:16 tls postfix/smtpd[3844]: connect from outcampmail004.ash2.facebook.com[66.220.155.163]
Dec 19 23:11:17 tls postfix/smtpd[3844]: 962C281443: client=outcampmail004.ash2.facebook.com[66.220.155.163]
Dec 19 23:11:18 tls postfix/cleanup[3849]: 962C281443: message-id=<722b2b198d163c43d3bf013bdd396817@www.facebook.com>
Dec 19 23:11:18 tls postfix/qmgr[3843]: 962C281443: from=<notification+zj4zc0zzjfac@facebookmail.com>, size=18002, nrcpt=1 (queue active)
Dec 19 23:11:18 tls postfix/local[3850]: 962C281443: to=<root@tls.example.net>, orig_to=<zera@tls.example.net>, relay=local, delay=1.6, delays=1.5/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Dec 19 23:11:18 tls postfix/qmgr[3843]: 962C281443: removed
Dec 19 23:11:24 tls postfix/smtpd[3844]: disconnect from outcampmail004.ash2.facebook.com[66.220.155.163]

कुछ विश्लेषण

  • पहले स्निपेट में, GMAIL STARTTLS पर ईमेल भेजने की कोशिश करेगा। जब टीएलएस वार्ता, कुछ त्रुटि होती है, तो GMAIL सर्वर इसे डिस्कनेक्ट करता है। हम चर्चा करेंगे कि नीचे त्रुटि क्यों हो रही है।
  • दूसरे स्निपेट में, FACEBOOK भी STARTTLS पर ईमेल भेजने में असफल रहा। फ़ॉलबैक प्रक्रिया में, फ़ेसबुक सादे पाठ मोड के साथ ईमेल को फिर से भेज देता है। इस मामले में हमारा सर्वर खुशी से इसे स्वीकार करता है।

तो, यह बताएं कि केवल GMAIL आपके सर्वर पर ईमेल भेजने में विफल क्यों है। अगर GMS TLS बातचीत विफल हो जाता है, तो GMAIL के पास कमबैक करने की व्यवस्था नहीं है । ईमेल डिलीवरी सफल होने के लिए अन्य मेल सर्वर फॉलबैक तंत्र का उपयोग कर सकते हैं।

क्यों TLS बातचीत त्रुटि होती है

मैं web.de maillog से दिलचस्प लाइन हाजिर करता हूं

Dec 19 17:33:15 foxdev postfix/smtpd[14105]: Anonymous TLS connection established from mout.web.de[212.227.15.3]: TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)

और पता करें कि आप इस कॉन्फ़िगरेशन को निर्दिष्ट करते हैं main.cf

smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_protocols=!SSLv2,!TLSv1,!TLSv1.1,!SSLv3

इसका मतलब है कि आपके सर्वर केवल TLS कनेक्शन स्वीकार करते हैं जब TLSv1.2 का उपयोग किया जाता है। TLSv1.2 के अलावा, आपका सर्वर TLS बातचीत त्रुटि की शिकायत करेगा।

यदि मैं बदल smtpd_tls_(mandatory_)protocolsजाता हूं !SSLv2,!SSLv3,!TLSv1, तो त्रुटि अभी भी होती है। इसका मतलब है कि GMAIL और FACEBOOK आपके मेल सर्वर को TLSv1.1 और TLSv1.2 के अलावा अन्य प्रोटोकॉल से संपर्क करने का प्रयास करेगा।

अगर मैं बदल smtpd_tls_(mandatory_)protocolsकरने के लिए !SSLv2,!SSLv3, TLS बातचीत इच्छा सफलता। यह पुष्टि करता है कि GMAIL और FACEBOOK आपके सर्वर से TLSv1 प्रोटोकॉल के साथ संपर्क करेगा

Dec 20 00:21:46 tls postfix/smtpd[4261]: Anonymous TLS connection established from outmail038.prn2.facebook.com[66.220.144.165]: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)
Dec 20 00:23:00 tls postfix/smtpd[4261]: Anonymous TLS connection established from mail-wi0-f174.google.com[209.85.212.174]: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)

FreeBSD मंच के अन्य लोग भी इस व्यवहार की पुष्टि करते हैं।

समाधान

स्पष्ट समाधान आपके पोस्टफ़िक्स में TLSv1 और TLSv1.1 सक्षम है। यह कुछ मेल सर्वर को सुनिश्चित करेगा जिनके पास फॉलबैक तंत्र नहीं है - जैसे GMAIL - अभी भी आपके सर्वर के साथ संवाद कर सकता है।

मैं केवल TLSv1.2 प्रोटोकॉल को छोड़कर, TLSv1 और TLSv1.1 समर्थन को अक्षम करने का आपका कारण नहीं जानता। यदि यह एक वेबसर्वर है और आपका उपयोगकर्ता केवल आधुनिक ब्राउज़र का उपयोग करेगा, तो आप अपने सर्वर में TLSv1 को अक्षम कर सकते हैं। यह स्वीकार्य है क्योंकि केवल पुराने ब्राउज़र जो प्रोटोकॉल TLSv1 का समर्थन नहीं करते हैं


0

एक संभावित मुद्दा जो मैं देख सकता हूं वह है ओपनएसएसएल द्वारा बताए गए स्व-हस्ताक्षरित प्रमाण पत्र का स्पष्ट उपयोग।

Verify return code: 19 (self signed certificate in certificate chain)

यदि आप सशुल्क एसएसएल प्रमाणपत्र का उपयोग कर रहे हैं, तो आपको स्व-हस्ताक्षरित प्रमाण पत्र का उपयोग नहीं करना चाहिए।

मैं जांच करूंगा कि आपकी PEM फ़ाइल में आपका सशुल्क प्रमाणपत्र है, और यह भी सत्यापित करें कि इसमें पूर्ण प्रमाणपत्र श्रृंखला है।


वैसे स्वयं हस्ताक्षरित प्रमाण पत्र सीए का मूल प्रमाणपत्र है जो सीए द्वारा हस्ताक्षरित है।
Octfx

आपका सीए कौन है? यदि वे अपनी श्रृंखला में स्व-हस्ताक्षरित प्रमाण पत्र का उपयोग करते हैं, तो आपको अपनी .pem फ़ाइल में संपूर्ण श्रृंखला प्रदान करनी होगी।
क्रेग वॉटसन

यह कोमोडो से एक प्रमाण पत्र है। मैं मेरे द्वारा हस्ताक्षरित प्रमाणपत्रों का उपयोग नहीं करता। जैसा कि कहा जाता है कि कोमोडो ने स्वयं उनके द्वारा अपने मूल प्रमाण पर हस्ताक्षर किया है, जिसके परिणामस्वरूप इस मामले में परिणाम हैcode: 19 (self signed certificate)
Octfx

1
code 19यदि आपकी पूरी श्रृंखला परोसी जा रही है तो आपको एक संदेश नहीं मिलना चाहिए । मैं StartSSL से एक प्रमाण पत्र का उपयोग करता हूं, जो कमांड के शीर्ष पर एक ही त्रुटि देता है, लेकिन जैसा कि मैं smtpd_tls_cert_filePEM फ़ाइल के भीतर पूर्ण श्रृंखला (रूट CA सहित) प्रदान करता हूं , ग्राहक के पास पूर्ण श्रृंखला को मान्य करने के लिए आवश्यक सभी प्रमाणपत्र हैं ।
क्रेग वॉटसन

मैं इसे प्रमाणित करने के लिए अपने प्रमाणपत्र को फिर से जारी करूंगा। समस्या यह है, कि मैंने कुछ भी नहीं बदला, Google अब मुझे केवल मेल नहीं दे सकता है
Octfx
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.