bg-tutorials

Courier IMAP Server पर SSL Certificate कैसे इंस्टॉल करें

इस ट्यूटोरियल में, आप सीखेंगे Courier IMAP सर्वर पर SSL सर्टिफिकेट कैसे इंस्टॉल करें। आप अपने सर्टिफिकेट, प्राइवेट की और CA चेन को एक ही PEM फाइल में जोड़ते हैं, Courier की TLS_CERTFILE सेटिंग को उस फाइल पर पॉइंट करते हैं, और सर्विस को रीस्टार्ट करते हैं ताकि IMAPS और POP3S नया सर्टिफिकेट सर्व करें।

Courier IMAP सर्वर पर CSR कोड जनरेट करें

यदि आपने पहले ही अपना CSR जनरेट कर लिया है और SSL फाइलें प्राप्त कर ली हैं, तो पार्ट 1 को छोड़ दें और सीधे इंस्टॉलेशन स्टेप्स पर जाएं।

CSR (Certificate Signing Request) एन्कोडेड टेक्स्ट का एक ब्लॉक है जिसमें आपकी संपर्क जानकारी होती है। आप इसे बनाते हैं और SSL वेरिफिकेशन पास करने के लिए अपने Certificate Authority (CA) को भेजते हैं। CSR जनरेट करने से मिलती-जुलती प्राइवेट की भी बनती है, जो आपके सर्वर पर रहती है और इंस्टॉलेशन के लिए आवश्यक होती है। आपके पास दो विकल्प हैं:

  • CSR को स्वचालित रूप से बनाने के लिए हमारे CSR जनरेटर का उपयोग करें।
  • Courier IMAP सर्वर पर CSR कैसे जनरेट करें, इस पर हमारे चरण-दर-चरण ट्यूटोरियल का पालन करें।

CSR फाइल को खोलने के लिए किसी भी प्लेन टेक्स्ट एडिटर का उपयोग करें। ऑर्डर करते समय, पूरे ब्लॉक को कॉपी करें, जिसमें BEGIN और END लाइनें शामिल हों। प्राइवेट की फाइल को सुरक्षित रखें: इंस्टॉलेशन के दौरान आप इसे अपनी PEM फाइल में जोड़ेंगे।

Courier IMAP सर्वर पर SSL सर्टिफिकेट इंस्टॉल करें

वेरिफिकेशन के बाद, आपका CA आपको एक ZIP आर्काइव ईमेल करता है जिसमें आपकी SSL फाइलें होती हैं: प्राइमरी (सर्वर) सर्टिफिकेट और एक या अधिक इंटरमीडिएट (CA) सर्टिफिकेट। अपने सर्वर पर आर्काइव को एक्सट्रैक्ट करें, फिर नीचे दिए गए स्टेप्स का पालन करें।

चरण 1: सर्टिफिकेट, चेन और की को एक PEM फाइल में जोड़ें

Courier सर्टिफिकेट और प्राइवेट की को एक ही PEM फाइल से पढ़ता है जो TLS_CERTFILE में सेट होती है। फाइलों को इस क्रम में जोड़ें: पहले आपका सर्वर सर्टिफिकेट, फिर CA इंटरमीडिएट चेन, फिर आपकी प्राइवेट की। एक्सट्रैक्ट की गई फाइलों वाली डायरेक्टरी से यह चलाएं:

cat yourdomain.crt yourdomain.ca-bundle yourdomain.key > imapd.pem
sudo mv imapd.pem /etc/courier/imapd.pem
sudo chmod 600 /etc/courier/imapd.pem

यदि आपके CA ने इंटरमीडिएट्स को एक ही .ca-bundle के बजाय अलग-अलग फाइलों के रूप में डिलीवर किया है, तो सर्टिफिकेट और की के बीच प्रत्येक को सूचीबद्ध करें। पूर्ण PEM फाइल इस तरह दिखनी चाहिए:

-----BEGIN CERTIFICATE-----
(the text of your primary SSL certificate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(the text of the intermediate / CA chain certificate)
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
(the text of your private key)
-----END PRIVATE KEY-----

पुरानी की को BEGIN PRIVATE KEY के बजाय BEGIN RSA PRIVATE KEY के रूप में लेबल किया जा सकता है; दोनों ही ठीक हैं। की को पासफ्रेज से एन्क्रिप्ट नहीं किया जाना चाहिए, क्योंकि Courier इसे बिना पूछे लोड करता है। PEM फाइल केवल root द्वारा पढ़ने योग्य होनी चाहिए (ऊपर दिया गया chmod 600), क्योंकि इसमें प्राइवेट की होती है।

यदि आप प्राइवेट की को अपनी अलग फाइल में रखना पसंद करते हैं, तो PEM से की को बाहर छोड़ दें और कॉन्फिग में TLS_PRIVATE_KEYFILE को की के पथ पर सेट करें (चरण 2)। जब की पहले से ही TLS_CERTFILE में एम्बेडेड है, तो अलग की फाइल वैकल्पिक है।

चरण 2: Courier को अपनी PEM फाइल पर पॉइंट करें

वह कॉन्फिग फाइल खोलें जिसका उपयोग Courier SSL के माध्यम से IMAP के लिए करता है। पथ आपके डिस्ट्रीब्यूशन पर निर्भर करता है: यह आमतौर पर /etc/courier/imapd-ssl होता है, या कुछ सिस्टम पर /usr/lib/courier-imap/etc/imapd-ssl। इसे टेक्स्ट एडिटर से एडिट करें, उदाहरण के लिए:

sudo nano /etc/courier/imapd-ssl

TLS_CERTFILE लाइन का पता लगाएं (या यदि गायब है तो इसे जोड़ें) और इसे अपनी PEM फाइल पर सेट करें:

TLS_CERTFILE=/etc/courier/imapd.pem

यदि आपने चरण 1 में प्राइवेट की को अलग रखा है, तो उसका पथ भी सेट करें:

TLS_PRIVATE_KEYFILE=/etc/courier/imapd.key

जब आप इस फाइल में हों, तो TLS सेटिंग्स को मजबूत बनाएं। किसी भी ऐसी लाइन को हटाएं या कमेंट करें जो पुराने प्रोटोकॉल को फोर्स करती है, जैसे TLS_PROTOCOL=SSL3: SSLv3 और शुरुआती TLS 1.0 और 1.1 वर्जन असुरक्षित हैं और इन्हें डिसेबल किया जाना चाहिए। Courier को TLS 1.2 या उससे ऊपर की आवश्यकता के लिए सेट करें। TLS_PROTOCOL डेडिकेटेड SSL पोर्ट (IMAPS) पर लागू होता है, और TLS_STARTTLS_PROTOCOL स्टैंडर्ड पोर्ट पर STARTTLS पर लागू होता है:

TLS_PROTOCOL=TLSv1.2
TLS_STARTTLS_PROTOCOL=TLSv1.2

TLSv1.2 वैल्यू का अर्थ है “TLS 1.2 या उससे ऊपर,” इसलिए जब आपका OpenSSL बिल्ड इसे सपोर्ट करता है तो TLS 1.3 भी नेगोशिएट होता है। मेल क्लाइंट्स को अपना सर्टिफिकेट सर्व करने के लिए आपको TLS_TRUSTCERTS सेट करने की आवश्यकता नहीं है; वह वेरिएबल केवल क्लाइंट सर्टिफिकेट्स को वेरिफाई करने के लिए है।

Debian, Ubuntu, और Devuan: इन डिस्ट्रीब्यूशंस पर Courier OpenSSL के बजाय GnuTLS के साथ बनाया गया है, और TLS_PROTOCOL का कोई असर नहीं होता। इसके बजाय TLS_PRIORITY के साथ प्रोटोकॉल फ्लोर सेट करें, उदाहरण के लिए TLS_PRIORITY=NORMAL:-VERS-TLS1.0:-VERS-TLS1.1 (जो केवल TLS 1.2 और 1.3 छोड़ता है)। TLS_CERTFILE और ऊपर दी गई संयुक्त PEM दोनों बिल्ड्स पर समान हैं, इसलिए सर्टिफिकेट इंस्टॉलेशन स्वयं अपरिवर्तित रहता है।

Diffie-Hellman पैरामीटर्स पर नोट: वर्तमान Courier पैकेज स्वचालित रूप से एक DH पैरामीटर फाइल जनरेट करते हैं (mkdhparams स्क्रिप्ट और एक पीरियोडिक cron जॉब के माध्यम से) और इसे TLS_DHPARAMS से पढ़ते हैं, इसलिए आपको स्टैंडर्ड इंस्टॉल के लिए इसे हाथ से बनाने की आवश्यकता नहीं है। पुराना TLS_DHCERTFILE निर्देश Courier 4.15 में हटा दिया गया था। यदि mkdhparams आपके सर्वर पर कभी नहीं चली है, तो फाइल बनाने के लिए इसे एक बार चलाएं।

यदि आप POP3S (पोर्ट 995) भी सर्व करते हैं, तो POP3 कॉन्फिग फाइल, /etc/courier/pop3d-ssl (या /usr/lib/courier-imap/etc/pop3d-ssl) खोलें, और वही सेटिंग्स लागू करें। आप उसी PEM फाइल का पुन: उपयोग कर सकते हैं, या समान सामग्री के साथ एक समर्पित /etc/courier/pop3d.pem बना सकते हैं:

TLS_CERTFILE=/etc/courier/pop3d.pem
TLS_PROTOCOL=TLSv1.2
TLS_STARTTLS_PROTOCOL=TLSv1.2

चरण 3: Courier को रीस्टार्ट करें

नया सर्टिफिकेट लोड करने के लिए Courier को रीस्टार्ट करें। अधिकांश systemd-आधारित डिस्ट्रीब्यूशंस पर, SSL सर्विसेज और ऑथेंटिकेशन डेमॉन को रीस्टार्ट करें:

sudo systemctl restart courier-imap-ssl
sudo systemctl restart courier-pop3-ssl
sudo systemctl restart courier-authdaemon

कुछ पैकेज इसके बजाय एक ही संयुक्त यूनिट एक्सपोज करते हैं। यदि ऊपर दी गई सर्विसेज नहीं मिलतीं, तो यह आजमाएं:

sudo systemctl restart courier

ऐसे सिस्टम पर जो systemd का उपयोग नहीं करता, Courier के अपने स्क्रिप्ट्स के माध्यम से रीस्टार्ट करें:

/usr/lib/courier-imap/libexec/imapd-ssl.rc restart
/usr/lib/courier-imap/libexec/pop3d-ssl.rc restart

एक बार सर्विस साफ-सुथरे तरीके से रीस्टार्ट हो जाने पर, आपका नया SSL सर्टिफिकेट IMAPS (पोर्ट 993) और POP3S (पोर्ट 995) के साथ-साथ पोर्ट 143 और 110 पर STARTTLS के लिए भी लाइव हो जाता है।

अपनी SSL इंस्टॉलेशन का टेस्ट करें

इंस्टॉलेशन के बाद, पुष्टि करें कि सर्टिफिकेट सही ढंग से सर्व किया जा रहा है। टर्मिनल से, IMAPS पोर्ट पर एक TLS कनेक्शन खोलें और सर्वर द्वारा प्रस्तुत सर्टिफिकेट को पढ़ें:

openssl s_client -connect mail.yourdomain.com:993 -servername mail.yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -subject -dates

POP3S के लिए, पोर्ट 995 का उपयोग करें। इसके बजाय स्टैंडर्ड IMAP पोर्ट पर STARTTLS का टेस्ट करने के लिए, यह चलाएं:

openssl s_client -connect mail.yourdomain.com:143 -starttls imap

पहला कमांड कनेक्शन को openssl x509 में पाइप करता है और इश्यूअर, सब्जेक्ट (कॉमन नेम), और वैलिडिटी डेट्स प्रिंट करता है, ताकि आप पुष्टि कर सकें कि सही सर्टिफिकेट सर्व किया जा रहा है। STARTTLS कमांड पूरा हैंडशेक दिखाता है: जांचें कि इश्यूअर और चेन सही हैं और अंत के पास Verify return code: 0 (ok) दिखाई देता है। अपने सर्टिफिकेट और उसके कॉन्फिगरेशन पर पूरी रिपोर्ट के लिए, हमारे SSL Checker का उपयोग करें।

अक्सर पूछे जाने वाले प्रश्न

मैं Courier PEM में फाइलों को किस क्रम में जोड़ूं?

पहले सर्वर सर्टिफिकेट, फिर इंटरमीडिएट (CA) चेन, फिर प्राइवेट की, सभी एक ही PEM फाइल में। Courier इस फाइल को TLS_CERTFILE से पढ़ता है और क्लाइंट्स को पूरी चेन प्रस्तुत करता है। प्राइवेट की अनएन्क्रिप्टेड होनी चाहिए (कोई पासफ्रेज नहीं)।

Courier SSL कॉन्फिगरेशन फाइल कहां है?

SSL पर IMAP को /etc/courier/imapd-ssl में कॉन्फिगर किया जाता है, और SSL पर POP3 को /etc/courier/pop3d-ssl में। कुछ डिस्ट्रीब्यूशंस पर ये इसके बजाय /usr/lib/courier-imap/etc/ के अंतर्गत होती हैं। प्लेन-टेक्स्ट पोर्ट्स के लिए STARTTLS सेटिंग्स मिलती-जुलती imapd और pop3d फाइलों में हैं।

क्या मुझे Courier के लिए अभी भी Diffie-Hellman (DH) पैरामीटर्स की आवश्यकता है?

सामान्य इंस्टॉल के लिए हाथ से नहीं। वर्तमान Courier पैकेज mkdhparams स्क्रिप्ट के साथ स्वचालित रूप से एक DH पैरामीटर फाइल जनरेट करते हैं और इसे शेड्यूल पर रिफ्रेश करते हैं, इसे TLS_DHPARAMS से पढ़ते हुए। पुराना TLS_DHCERTFILE निर्देश Courier 4.15 में हटा दिया गया था। केवल तभी mkdhparams एक बार चलाएं जब अभी तक कोई DH फाइल मौजूद न हो।

Courier में SSLv3 और पुराने TLS वर्जनों को कैसे डिसेबल करूं?

किसी भी TLS_PROTOCOL=SSL3 लाइन को हटाएं और imapd-ssl और pop3d-ssl में TLS_PROTOCOL=TLSv1.2 सेट करें। STARTTLS पोर्ट्स के लिए TLS_STARTTLS_PROTOCOL=TLSv1.2 सेट करें। TLSv1.2 वैल्यू का अर्थ है “1.2 या उससे ऊपर,” इसलिए जब आपका OpenSSL इसे सपोर्ट करता है तो TLS 1.3 स्वचालित रूप से उपयोग होता है।

Courier को रीस्टार्ट करने के बाद मैं सर्टिफिकेट को कैसे वेरिफाई करूं?

OpenSSL के साथ मेल पोर्ट से कनेक्ट करें और सर्व किए गए सर्टिफिकेट को पढ़ें: IMAPS के लिए openssl s_client -connect mail.yourdomain.com:993, या पोर्ट 143 पर -starttls imap जोड़ें। पुष्टि करें कि इश्यूअर और चेन सही हैं और आउटपुट में Verify return code: 0 (ok) दिखाई देता है।

आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!

तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10

उड़ान में एक ड्रैगन की एक विस्तृत छवि
द्वारा लिखित

एसएसएल प्रमाणपत्रों में विशेषज्ञता वाला अनुभवी सामग्री लेखक। जटिल साइबर सुरक्षा विषयों को स्पष्ट, आकर्षक सामग्री में बदलना। प्रभावशाली आख्यानों के माध्यम से डिजिटल सुरक्षा को बेहतर बनाने में योगदान करें।