पोस्टफ़िक्स के साथ निवर्तमान SMTP के लिए एन्क्रिप्शन को मजबूर करना


23

क्या किसी को पता है कि आउटगोइंग मेल को एन्क्रिप्ट करने के लिए पोस्टफिक्स को कैसे बताया जाए?

मैंने इसे रिसेप्शन पर एन्क्रिप्शन का उपयोग करने के लिए कॉन्फ़िगर किया है, लेकिन मैं इसे आउटगोइंग मेल के साथ करने में असमर्थ हूं। यह मेरी main.cfफाइल है:

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
transport_maps = hash:/etc/postfix/transport

# tls config
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

जवाबों:


30

smtp_tls_security_level = एन्क्रिप्ट या smtp_enforce_tls = हाँ

विशिष्ट गंतव्यों के लिए आप smtp_tls_policy_maps का उपयोग कर सकते हैं

smtp_use_tls = हां और smtp_enforce_tls = हां पदावनत हैं। पोस्टफिक्स 2.3 के साथ और बाद में इसके बजाय smtp_tls_security_level का उपयोग करें ।

याद रखें: टीएलएस एन्क्रिप्शन लागू करने से एसएमटीपी होस्ट के लिए मेल डिलीवरी की समस्या हो सकती है, जिसमें टीएलएस कॉन्फ़िगर नहीं है। यदि सर्वर का उपयोग कॉन्फ़िगर किए गए TLS के साथ केवल आपके आंतरिक सर्वर तक मेल पहुंचाने के लिए किया जाता है, तो यह उस स्थिति में समस्या नहीं है। लेकिन यदि सर्वर का उपयोग सार्वजनिक सर्वर पर मेल पहुंचाने के लिए किया जाता है, तो आप यह नहीं मान सकते कि सभी सर्वरों में टीएलएस का समर्थन है। उस स्थिति में smtp_tls_security_level = may का उपयोग करें


1
मुझे लगता है कि वह केवल सॉफ्टवेयर मेलक्लेयर से भेजने वाले मेल करने वाले के लिए इसे लागू करना चाहता है। मेल सेवर से मेलस्वर तक नहीं (अपनी टिप्पणी देखें Mar 7 '10 को 23:26 पर पोस्ट किया गया)
कोजोन

4

यह विचार उपयोगकर्ताओं को अपने ईमेल क्लाइंट को एन्क्रिप्टेड आउटगोइंग smtp सर्वर से कॉन्फ़िगर करने के लिए मजबूर करने के लिए है। वर्तमान आत्मविश्वास के साथ, थंडरबर्ड ने उन्हें सादे पाठ में smtp सर्वर के साथ संवाद करने का विकल्प छोड़ दिया ...

आप थ्रॉबर्ड में विकल्प को बिना सोर्स कोड को फिर से इंस्टॉल किए नहीं कर सकते हैं, लेकिन एन्क्रिप्शन को लागू करने के लिए आप पोस्टफ़िक्स stmpd डेमन (जो अपने क्लाइंट से मेल प्राप्त करता है) को कॉन्फ़िगर कर सकते हैं। ऐसा करने के लिए, smtpd_tls_security_level = एन्क्रिप्ट का उपयोग करें , जो अप्रचलित विकल्पों के बराबर है smtpd_use_tls = yes और smtp_enforce_tls = हांsmtpd_tls_security_level = एन्क्रिप्ट और smtp_enforce_tls = हां का अर्थ है smtpd_tls_auth_only = हाँ

Smtpd_tls_security_level = एन्क्रिप्ट के बारे में पोस्टफ़िक्स दस्तावेज़ से

अनिवार्य टीएलएस एन्क्रिप्शन: एसएमटीपी ग्राहकों को STARTTLS समर्थन की घोषणा करें, और इसके लिए ग्राहकों को टीएलएस एन्क्रिप्शन का उपयोग करने की आवश्यकता होती है। RFC 2487 के अनुसार सार्वजनिक रूप से संदर्भित SMTP सर्वर के मामले में यह जरूरी नहीं है। इसके बजाय, इस विकल्प का उपयोग केवल समर्पित सर्वर पर किया जाना चाहिए।

यदि आप सार्वजनिक सर्वर का उपयोग करते हैं, तो आप पोर्ट 25 / tcp पर ईमेल एन्क्रिप्शन लागू नहीं कर सकते। बेहतर समाधान अपने ग्राहकों से पोस्टफ़िक्स smtpd डेमॉन पोर्ट 25 / tcp द्वारा मेल डिलीवरी को अक्षम करना और पोस्टफ़िक्स सबमिशन डेमॉन को सक्षम करना है (जो कि विशेष पोस्टफ़िक्स smtpd डेमॉन का उपयोग केवल आपके स्थानीय क्लाइंट से मेल प्राप्त करने के लिए उपयोग किया जाता है जो RP 4409 में वर्णित पोर्ट 587 / tcp पर चल रहा है) । ऐसा करने के लिए, smtpd_tls_security_level = सेट करें और smtpd_recipient_restrictionspermit_sasl_authenticated से निकाल सकते हैं । डेमॉन प्रस्तुत करने के बारे में असहजता रेखा में:master.cf

submission inet n       -       n       -       -   submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_resrictions=permit_sasl_authenticated,reject

1

बस जिज्ञासु, आप कैसे बता रहे हैं कि यह टीएलएस का उपयोग नहीं कर रहा है? Smtp_tls_loglevel (जो smtpd_tls_loglevel से भिन्न है) के लिए डिफ़ॉल्ट मान 0 है, इसलिए डिफ़ॉल्ट रूप से आप पोस्टफ़िक्स के लॉग में आउटबाउंड मेल के लिए TLS वार्ता के बारे में कुछ भी नहीं देखेंगे।

यदि आप smtp_tls_loglevel = 1 या उच्चतर सेट करते हैं, तो आपको संदेश भेजे जाने पर लॉग में इस तरह की एक पंक्ति देखनी चाहिए:

Mar 7 22:28:10 रैक पोस्टफ़िक्स / smtp [27400]: क्लाइंट-साइड TLS इंजन को इनिशियलाइज़ करना

मैं मानता हूं कि मैं आलसी हो रहा हूं, लेकिन उससे अलग (और एमएस नोट्स ऊपर) विन्यास मुझे एक नज़र में ठीक लग रहा है।


1
मैं समझ गया हूं, कि साइमन TLS का उपयोग करके सभी मेल को एन्क्रिप्ट करना चाहता है। smtp_use_tls = हाँ TLS के पोस्टफ़िक्स का उपयोग करने की अनुमति देता है, यदि दूरस्थ सर्वर इसका समर्थन करता है (smtp_use_tls = हाँ smtp_tls_security_level = may के लिए बराबर है)। उचित संदेश को मैलोड में रखा जाना चाहिए, यदि आउटगोइंग मेल को टीएलएस का उपयोग करके एन्क्रिप्ट किया गया था। आप सही कह रहे हैं कि smtp_ * विकल्प smtpd_ * (smtpd_ * दूरस्थ सर्वर से मेल प्राप्त करने के लिए है, smtp_ * सुदूर सर्वरों को डिलीवरी मेल के लिए है) की तुलना में अलग पोस्टफ़ॉर्म डेमॉन के लिए हैं।
सुमर

वास्तव में मुझे लगता है कि सवाल थोड़ा अस्पष्ट हो सकता है। कम से कम मैं यह नहीं बता सकता कि साइमन पोस्टफ़िक्स को टीएलएस की आवश्यकता है या प्राप्तकर्ता के सर्वर का समर्थन करने के लिए इसका उपयोग करना चाहता है।
jlupolt

1
आपके शब्दों के लिए धन्यवाद, मैं शायद मुझे अच्छी तरह से नहीं समझाता। यह विचार उपयोगकर्ताओं को अपने ईमेल क्लाइंट को एन्क्रिप्टेड आउटगोइंग smtp सर्वर से कॉन्फ़िगर करने के लिए मजबूर करने के लिए है। वर्तमान आत्मविश्वास के साथ, थंडरबर्ड ने उन्हें सादे पाठ में smtp सर्वर के साथ संवाद करने का विकल्प छोड़ दिया ... क्या इससे बचना संभव है? अग्रिम धन्यवाद, साइमन।
साइमन

यह जानने का आसान तरीका कि क्या टीएलएस सक्रिय है, प्राप्त करने के लिए कच्चे संदेश को देखने और प्रमाणीकरण-परिणामों की तलाश करने के लिए: डोमेनकी = तटस्थ (कोई शिग) नहीं; जो टीएलएस का उपयोग नहीं करने का संकेत देता है
स्कॉट स्टेंसलैंड 1
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.