पोस्टफ़िक्स और एसएसएल के साथ वर्चुअल डोमेन


21

मुझे कई वर्चुअल डोमेन (कहना xxx.comऔर yyy.com) होस्ट करने के लिए पोस्टफ़िक्स मेल सर्वर सेटअप मिला है ।

उपयोगकर्ता अपने आउटगोइंग मेल सर्वर को जैसे mail.xxx.comऔर कॉन्फ़िगर करते हैं mail.yyy.com। सभी मेल सर्वर एक ही भौतिक पोस्टफिक्स सर्वर (एक ही आईपी, इस लिनक्स सर्वर पर चलने वाले पोस्टफिक्स का एकल उदाहरण) को संदर्भित करते हैं।

पोस्टफिक्स smtpd_tls_cert_fileकॉन्फ़िगरेशन विकल्प के लिए मुझे किस SSL प्रमाणपत्र की आवश्यकता है?

या क्या मुझे mail.xxx.comउपयोगकर्ताओं को अपने निवर्तमान सर्वर के रूप में yyy.comउपयोग करने के लिए एक ही प्रमाण पत्र का उपयोग करना होगा और बताना होगा mail.xxx.com? इससे अलग-अलग वर्चुअल सर्वर का भ्रम टूट जाएगा।

[नोट: डोमेन पूरी तरह से अलग हैं। ये एक सामान्य रूट साझा करने वाले कई उप-डोमेन नहीं हैं]।

जवाबों:


10

या क्या मुझे mail.xxx.com के लिए एक एकल प्रमाणपत्र का उपयोग करना है और yyy.com के उपयोगकर्ताओं को अपने निवर्तमान सर्वर के रूप में mail.xxx.com का उपयोग करने के लिए कहना है?

हां, अंततः आपको या तो ऐसा करना होगा या कई CommonNameया SubjAltNameविशेषताओं के साथ एक प्रमाण पत्र का उपयोग करना होगा ।

कोई तरीका नहीं है पोस्टफ़िक्स पता कर सकता है कि क्लाइंट किस होस्टनाम का अनुरोध करता है। यानी HTTP / 1.1 Hostहेडर जैसी कोई चीज नहीं है जो अनुरोधित डोमेन को इंगित करता है और पोस्टफिक्स अभी तक एसएनआई का समर्थन नहीं करता है।

यदि आप वास्तव में अपने मेल सर्वर के लिए दो अलग-अलग डोमेन पर निर्भर हैं, तो आपको smtpdदो अलग-अलग नेटवर्क इंटरफेस / आईपी पते पर दो इंस्टेंसेस चलाने होंगे । आमतौर पर आप केवल एक "तटस्थ" डोमेन चुनते हैं और अपने उपयोगकर्ताओं को इसका उपयोग करने के लिए कहते हैं।


19

वास्तव में ... यदि आप चाहते हैं कि प्रत्येक डोमेन एक वैध एसएसएल प्रमाणपत्र का उपयोग करें, तो आपके पास 2 समाधान हैं: एक बहु-डोमेन प्रमाणपत्र का उपयोग करें, या प्रत्येक डोमेन को एक अद्वितीय आईपी पर सेट करें। पहला समाधान भयानक है: वे प्रमाण पत्र आमतौर पर काफी महंगे होते हैं (हालांकि आप सस्ते वाले पा सकते हैं), वे उन सभी डोमेन को सूचीबद्ध करेंगे जिन्हें आप एक ही प्रमाण पत्र पर प्रमाणित करना चाहते हैं, और सबसे महत्वपूर्ण बात यह है कि वे केवल एक बार जारी किए जाते हैं, इसलिए जोड़ना सिर्फ एक नए डोमेन का मतलब है एक पूरी तरह से नया प्रमाणपत्र प्राप्त करना।

बेहतर उपाय यह है कि प्रत्येक डोमेन को अपने स्वयं के आईपी पर रखा जाए, और फिर प्रत्येक प्रमाणपत्र को उसके संबंधित आईपी से मिलान किया जाए।

यहाँ आप इसे पोस्टफिक्स में कैसे करते हैं।

आप सबसे पहले / etc / postfix / निर्देशिका (आप / / / postfix / ssl / निर्देशिका भी बना सकते हैं) में प्रत्येक डोमेन के लिए अपने प्रमाणपत्रों को नोट करेंगे: मैं Plesk का उपयोग करता हूं, जो .pem प्रमाणपत्र फ़ाइलों का उपयोग करता है, लेकिन आप भी उपयोग कर सकते हैं। .key और .cer फाइलें (.pem फाइलें उस क्रम में .key और .cer फाइल का सिर्फ एक कॉनैट हैं)

उसके बाद, आपको Master.cf फ़ाइल को / etc / पोस्टफ़िक्स / में संशोधित करना होगा

मूल रूप से, मेरा ऐसा दिखता था (शायद क्योंकि मैंने सर्वर स्थापित करने के बाद अंतिम 3 आईपी जोड़े थे:

1.1.1.1- unix - n n - - smtp -o smtp_bind_address=1.1.1.1 -o smtp_bind_address6= -o smtp_address_preference=ipv4

2.2.2.2- unix - n n - - smtp -o smtp_bind_address=2.2.2.2 -o smtp_bind_address6= -o smtp_address_preference=ipv4

smtp inet n - n - - smtpd
smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes
submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticate d,reject -o smtpd_sender_restrictions=

3.3.3.3- unix - n n - - smtp -o smtp_bind_address=3.3.3.3 -o smtp_bind_address6= -o smtp_address_preference=ipv4

4.4.4.4- unix - n n - - smtp -o smtp_bind_address=4.4.4.4 -o smtp_bind_address6= -o smtp_address_preference=ipv4

5.5.5.5- unix - n n - - smtp -o smtp_bind_address=5.5.5.5 -o smtp_bind_address6= -o smtp_address_preference=ipv4

अब, प्रत्येक प्रमाणपत्र को उसके संबंधित आईपी से बांधने के लिए, आप इस प्रकार हैं:

1.1.1.1- unix - n n - - smtp -o smtp_bind_address=1.1.1.1 -o smtp_bind_address6= -o smtp_address_preference=ipv4

2.2.2.2- unix - n n - - smtp -o smtp_bind_address=2.2.2.2 -o smtp_bind_address6= -o smtp_address_preference=ipv4

3.3.3.3- unix - n n - - smtp -o smtp_bind_address=3.3.3.3 -o smtp_bind_address6= -o smtp_address_preference=ipv4

4.4.4.4- unix - n n - - smtp -o smtp_bind_address=4.4.4.4 -o smtp_bind_address6= -o smtp_address_preference=ipv4

5.5.5.5- unix - n n - - smtp -o smtp_bind_address=5.5.5.5 -o smtp_bind_address6= -o smtp_address_preference=ipv4

#smtp inet n - n - - smtpd
#smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes
#submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_restrictions=

1.1.1.1:smtp inet n - n - - smtpd -o smtpd_tls_cert_file=/etc/postfix/cert1.pem -o smtpd_tls_key_file=/etc/postfix/cert1.pem
1.1.1.1:smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_tls_cert_file=/etc/postfix/cert1.pem -o smtpd_tls_key_file=/etc/postfix/cert1.pem
1.1.1.1:submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_restrictions= -o smtpd_tls_cert_file=/etc/postfix/cert1.pem -o smtpd_tls_key_file=/etc/postfix/cert1.pem

2.2.2.2:smtp inet n - n - - smtpd -o smtpd_tls_cert_file=/etc/postfix/cert2.pem -o smtpd_tls_key_file=/etc/postfix/cert2.pem
2.2.2.2:smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_tls_cert_file=/etc/postfix/cert2.pem -o smtpd_tls_key_file=/etc/postfix/cert2.pem
2.2.2.2:submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_restrictions= -o smtpd_tls_cert_file=/etc/postfix/cert2.pem -o smtpd_tls_key_file=/etc/postfix/cert2.pem

3.3.3.3:smtp inet n - n - - smtpd -o smtpd_tls_cert_file=/etc/postfix/cert3.pem -o smtpd_tls_key_file=/etc/postfix/cert3.pem
3.3.3.3:smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_tls_cert_file=/etc/postfix/cert3.pem -o smtpd_tls_key_file=/etc/postfix/cert3.pem
3.3.3.3:submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_restrictions= -o smtpd_tls_cert_file=/etc/postfix/cert3.pem -o smtpd_tls_key_file=/etc/postfix/cert3.pem

4.4.4.4:smtp inet n - n - - smtpd -o smtpd_tls_cert_file=/etc/postfix/cert4.pem -o smtpd_tls_key_file=/etc/postfix/cert4.pem
4.4.4.4:smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_tls_cert_file=/etc/postfix/cert4.pem -o smtpd_tls_key_file=/etc/postfix/cert4.pem
4.4.4.4:submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_restrictions= -o smtpd_tls_cert_file=/etc/postfix/cert4.pem -o smtpd_tls_key_file=/etc/postfix/cert4.pem

5.5.5.5:smtp inet n - n - - smtpd -o smtpd_tls_cert_file=/etc/postfix/cert5.pem -o smtpd_tls_key_file=/etc/postfix/cert5.pem
5.5.5.5:smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_tls_cert_file=/etc/postfix/cert5.pem -o smtpd_tls_key_file=/etc/postfix/cert5.pem
5.5.5.5:submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_restrictions= -o smtpd_tls_cert_file=/etc/postfix/cert5.pem -o smtpd_tls_key_file=/etc/postfix/cert5.pem

बस!! (मूल लाइनों की टिप्पणी करना न भूलें जैसा कि ऊपर देखा गया है)

PS: POP / IMAP के लिए समान करने के लिए यदि आप कूरियर-इमैप का उपयोग करते हैं, तो आप बस उन .pem फ़ाइलों की प्रतियां / usr / share / Courier-imap / (या Plesk के मामले में, आप उन्हें usr / usr में रखते हैं। / शेयर / ) और आप उन्हें इस प्रकार नाम दें: imapd.pem.xx.xx.xx.xx pop3d.pem.xx.xx.xx.xx

जहाँ xx.xx.xx.xx संबंधित आईपी पता है (2 प्रमाणपत्र उसी फ़ाइल की प्रतियां हैं)

उम्मीद है की यह मदद करेगा!


इस तरह के एक विस्तृत जवाब लिखने के लिए समय निकालने के लिए धन्यवाद! मुझे यकीन है कि यह भविष्य में किसी की मदद करेगा।
नीमरोड

2
यही आशा है! इसे एक साथ करने में मुझे कुछ समय लगा, और ऐसा समाधान मिलना दुर्लभ था जो वास्तव में काम करता हो, बजाय इसके कि कोई व्यक्ति इस पर काम कर रहा हो या हो सकता है ..
पीटर

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