सवाल किसी भी डोमेन से डीकेआईएम साइन आउटगोइंग मेल (पोस्टफिक्स और उबंटू के साथ)


मुझे अपने मेल सर्वर (पोस्टफिक्स और उबंटू) पर डीकेआईएम सेटअप मिला है, इसलिए यह आउटगोइंग ईमेल पर हस्ताक्षर करता है। मैंने इन निर्देशों का उपयोग किया: https://help.ubuntu.com/community/Postfix/DKIM

हालांकि, मुझे किसी भी डोमेन (प्रेषक पते में) से ईमेल पर हस्ताक्षर करने की आवश्यकता है, न सिर्फ मेरे। मैं एक ईमेल न्यूजलेटर सेवा बना रहा हूं और ग्राहक सर्वर के माध्यम से अपना ईमेल भेज देंगे।

सबसे पहले मैंने /etc/dkim-filter.conf में "डोमेन *" सेट किया है। यह सभी आउटगोइंग ईमेल में डीकेआईएम हेडर को शामिल करने के लिए मिला, इससे कोई फर्क नहीं पड़ता कि डोमेन क्या है।

हालांकि, सत्यापन जांच जीमेल पर विफल हो जाती है क्योंकि यह पते से डोमेन की जांच कर रही है, न कि मेरे डोमेन (और डीएनएस रिकॉर्ड)। क्या किसी को भी यह करना आता है?


38
2017-08-11 16:41


मूल




जवाब:


ठीक है, मैंने इसे अपने आप समझने में कामयाब रहा, लेकिन मैं यहां पोस्टरिटी के लिए कदम पोस्ट करना चाहता था क्योंकि इस पर शून्य दस्तावेज था (जो मुझे मिल सकता था) और यह व्यावहारिक रूप से अनुमान लगाया गया था और जांच कर रहा था।

ऊपर वर्णित अनुसार "डोमेन *" सेट करने के बाद, यह इस तरह हस्ताक्षर करेगा:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=clientdomain.com;
    s=main; t=1250005729;
    bh=twleuNpYDuUTZQ/ur9Y2wxCprI0RpF4+LlFYMG81xwE=;
    h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
    b=kohI7XnLlw/uG4XMJoloc4m9zC13g48+Av5w5z7CVE0u3NxsfEqwfDriapn7s7Upi
     31F3k8PDT+eF57gOu2riXaOi53bH3Fn/+j0xCgJf8QpRVfk397w4nUWP/y8tz4jfRx
     GhH21iYo05umP0XflHNglpyEX02bssscu2VzXwMc=

"d = clientdomain.com" पर ध्यान दें। यह ईमेल में पते से इस पर आधारित था, जहां से पता "contact@clientdomain.com" जैसा था। जाहिर है अगर उसने क्लाइंट के डोमेन की जांच की है और मेरा कोई DNS TXT रिकॉर्ड नहीं था और सत्यापन विफल हो जाएगा।

तो फिर भी मुझे इस दस्तावेज़ में पता चला कि आप एक KeyList पैरामीटर सेट कर सकते हैं। http://manpages.ubuntu.com/manpages/hardy/man5/dkim-filter.conf.5.html

यह वास्तव में वर्णन नहीं करता था कि मैं क्या करना चाहता था, लेकिन मुझे लगा कि मैं इसके साथ खेलूँगा। मैंने KeyFile पर टिप्पणी की और Keylist को "/etc/mail/dkim_domains.key" पर सेट किया जो कि एक मनमानी फ़ाइल नाम है जिसे मैंने बनाया है। मैंने तब उस फाइल को बनाया और इसे "*: feedmailpro.com: /etc/mail/dkim.key" में रखा। यह किसी भी ग्राहक डोमेन के लिए बताता है, इसे मेरे डोमेन (feedmailpro.com) से साइन करें, और dkim.key फ़ाइल का उपयोग करें।

डीकेआईएम और पोस्टफिक्स को पुनरारंभ किया गया

sudo /etc/init.d/dkim-filter restart
sudo /etc/init.d/postfix restart

अब जब मैं एक टेस्ट ईमेल भेजता हूं तो यह कुंजी उत्पन्न होती है।

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=feedmailpro.com;
    s=dkim.key; t=1250005729;
    bh=twleuNpYDuUTZQ/ur9Y2wxCprI0RpF4+LlFYMG81xwE=;
    h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
    b=kohI7XnLlw/uG4XMJoloc4m9zC13g48+Av5w5z7CVE0u3NxsfEqwfDriapn7s7Upi
     31F3k8PDT+eF57gOu2riXaOi53bH3Fn/+j0xCgJf8QpRVfk397w4nUWP/y8tz4jfRx
     GhH21iYo05umP0XflHNglpyEX02bssscu2VzXwMc=

सुधार, आप देखते हैं कि डी = अब मेरे डोमेन पर सेट है (भले ही ईमेल का पता मेरा डोमेन नहीं था)। हालांकि s = dkim-filter.conf में चुने गए चयनकर्ता के बजाय "dkim.key" में बदल गया है। मूल रूप में सेटअप निर्देश मैं चयनकर्ता को "मेल" पर सेट कर दूंगा। वह अजीब था, लेकिन मैंने देखा कि यह इसे मेरी कुंजी, dkim.key के फ़ाइल नाम में बदल दिया।

तो मैं गया और "/etc/mail/dkim.key" का नाम बदलकर "/ etc / mail / mail" कर दिया। "/Etc/mail/dkim_domains.key" में इसके संदर्भ को भी अपडेट किया गया।

उपरोक्त के रूप में फिर से dkim-filter और postfix को पुनरारंभ करें, और अब यह काम करना शुरू कर दिया। यहां अंतिम शीर्षलेख है जो सही चयनकर्ता का सही ढंग से उपयोग करता है (स्पष्ट रूप से कुंजी के फ़ाइल नाम से आधारित)।

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=feedmailpro.com;
    s=mail; t=1250006218;
    bh=tBguOuDhBDlhv0m4KF66LG10V/8ijLcAKZ4JbjpLXFM=;
    h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
    b=c9eqvd+CY86BJDUItWVVRvI3nibfEDORZbye+sD1PVltrcSBOiLZAxF3Y/4mP6vRX
     MUUNCC004oIH1u7FYafgF32lpuioMP1cd7bi6x3AZ5zH4BYETNBnnz4AhAPBtqlIh/
     FFMz8jkhhLhcM2hDpwJkuKjAe3LzfNVDP8kD11ZI=

अब एस = मेल सही है, और डी = feedmailpro.com सही है। यह काम करता हैं!

कुल मिलाकर यह मेरी अपेक्षा से कठिन था और ऐसा करने के लिए शून्य दस्तावेज होना चाहिए (सभी आउटगोइंग डोमेन के लिए साइन इन करना), लेकिन मुझे लगता है कि यह ओपन सोर्स सॉफ्टवेयर है इसलिए मैं शिकायत नहीं कर सकता।

एक अंतिम नोट, यह जांचने के लिए कि क्या TXT DNS रिकॉर्ड सही तरीके से सेटअप किया गया था, आप अपने डोमेन के साथ एक कमांड कर सकते हैं

dig mail._domainkey.feedmailpro.com TXT

खुदाई स्थापित करने की आवश्यकता हो सकती है (सूडो apt-get dig dig स्थापित करें)। यदि आप DNS प्रविष्टि जोड़ने के लिए स्लाइसहोस्ट प्रबंधक का उपयोग कर रहे हैं, तो आप इस तरह के TXT रिकॉर्ड दर्ज करेंगे।

Type: TXT
Name: mail._domainkey
Data: k=rsa; t=s; p=M5GfMA0...YOUR LONG KEY...fIDAQAB
TTL seconds: 86400

मैं वास्तव में समझ नहीं पा रहा हूं कि नाम "mail._domainkey.feedmailpro.com" जैसे अंत में या मेरे डोमेन के बिना "mail._domainkey" पर क्यों सेट किया गया है। लेकिन जो भी हो, ऐसा लगता है कि मैं खुश हूं।

यदि आप इसे डुप्लिकेट करने का प्रयास कर रहे हैं, तो यहां दिए गए निर्देश दिए गए हैं: https://help.ubuntu.com/community/Postfix/DKIM


40
2017-08-11 17:04



इसे यहां डालने के लिए धन्यवाद, यह दूसरों की मदद कर रहा है (मुझे पसंद है) :) - thomasrutter
आपका स्वागत है थॉमस! - Brian Armstrong
वाह, इससे बहुत मदद मिली। जब तक मैं आपकी पोस्ट में नहीं आया, तब तक मैं "s = dkim.key" की वजह से अपने सिर पर टक्कर लगी थी! - 3molo
एक बात यह है कि ubuntu.com पर गाइड का उल्लेख करने में असफल रहा है कि एक बार जब आप इसे काम कर लेते हैं, तो टीटीए रिकॉर्ड में टी = वाई को टी = एन में बदलें ताकि यह बताने के लिए कि यह एक परीक्षण नहीं है। - 3molo
साइनिंगटेबल इत्यादि का उपयोग करने के लिए वहां कुछ अच्छे संसाधन हैं। उदाहरण के लिए, blog.tjitjing.com/index.php/2012/03/...(उत्कृष्ट) और यहां तक ​​कि opendkim readme, opendkim.org/opendkim-README - rfay


ब्रायन आर्मस्ट्रांग के डीकिम-फ़िल्टर के जवाब से प्रेरित यहां मैंने यह कैसे किया है OpenDKIM

/etc/opendkim.conf

Syslog          yes
UMask           002
KeyTable        /etc/mail/dkim_key_table
SigningTable    refile:/etc/mail/dkim_signing_table

ध्यान दें कि साइनिंगटेबल में है फिर से प्रस्तुत करने: इसकी परिभाषा में, यह निर्दिष्ट करता है कि फ़ाइल में नियमित अभिव्यक्तियां शामिल हैं; हमारे मामले में * वाइल्डकार्ड।

/ Etc / मेल / dkim_key_table

keyname  example.com:selector:/etc/mail/selector.key

यहाँ कीनेम इस फ़ाइल और dkim_signing_table फ़ाइल के बीच कुंजी से मेल खाने के लिए प्रयोग किया जाता है। मेरी असली फाइल में मैंने इसे अपने चयनकर्ता के समान नाम दिया।

example.com तथा चयनकर्ता प्रतिस्थापित किया जाना चाहिए जो डोमेन और चयनकर्ता जिसे आप अपने हस्ताक्षर में उपयोग करना चाहते हैं d = तथा एस = क्रमशः।

/ Etc / मेल / dkim_signing_table

*   keyname

यह फ़ाइल सरल नक्शा पता मिला है से: dkim_key_table में एक कुंजी के लिए हेडर। इस मामले में हम चाहते हैं कि इस ईमेल के माध्यम से सभी ईमेल एक ही कुंजी के साथ हस्ताक्षरित हों, इसलिए * वाइल्डकार्ड का उपयोग किया जाता है।


15
2017-12-10 11:37



उन लोगों के लिए जो "OpenDKIM में कोई हस्ताक्षर तालिका मिलान नहीं करते" serverfault.com/q/569823/115907 - kommradHomer
अगर कोई इस जवाब में आता है (महान जवाब, बीटीडब्ल्यू! मुझे जो चाहिए वह मुझे सिखाया जाता है) और अलग-अलग कुंजी के साथ दो अलग-अलग डोमेन से भेजने की तलाश में है, जो इस तरह किया जा सकता है: कीटेबल फ़ाइल: "tagone._domainkey.firstdomain.com फर्स्टडोमेन .com: टैगोन: /etc/opendkim/keys/firstdomain.com/tagone tagtwo._domainkey.seconddomain.com seconddomain.com:tagtwo:/etc/opendkim/keys/seconddomain.com/tagtwo "साइनिंगटेबल:" * @ फर्स्टडोमेन। com tagone._domainkey.firstdomain.com *@seconddomain.com tagtwo._domainkey.seconddomain.com "प्रत्येक फ़ाइल 2 लाइनें हैं (टिप्पणियां यहां लाइनब्रेक को सहेजती नहीं हैं) - Sean Colombo
या: साइनिंगटेबल सीएसएल: * = कीनाम कुंजीटेबल सीएसएल: keyname = example.com: selector: /etc/mail/selector.key - danblack


पुराना धागा लेकिन हो सकता है कि कोई और जो इसे पाता है, का उपयोग मुख्य सूची के बजाय कीटेबल के साथ opendkim कार्यों के 2.x संस्करण को जानने के लिए किया जाता है।

आप अपनी KeyList फ़ाइल को opendkim-convert-keylist टूल के साथ कनवर्ट कर सकते हैं (http://manpages.ubuntu.com/manpages/lucid/man8/opendkim-convert-keylist.8.html)

आप opendkim मैन पेज पर KeyTable के कार्यान्वयन के बारे में और अधिक पढ़ सकते हैं: (http://www.opendkim.org/opendkim.conf.5.html)


3
2017-12-23 14:52



कृपया किसी भी प्रासंगिक कोड सेगमेंट या कॉन्फ़िगरेशन ब्लॉक को उद्धृत करते हुए आपके द्वारा लिंक किए गए आलेख को संक्षेप में सारांशित करें। साइटें भविष्य में बदल सकती हैं या किसी भी कारण से लोड करने में असफल हो सकती हैं। - 89c3b1b8-b1ae-11e6-b842-48d705


मुझे वास्तव में समझ में नहीं आता कि नाम किसी अवधि के बिना "mail._domainkey" पर क्यों सेट किया गया है

डीकेआईएम फ़िल्टर के लिए प्रलेखन आमतौर पर थिक्स यूनिक्स मैन प्रारूप में स्थापित किया जाता है। केवल Google ही इसे जानता है :-) मुझे भी एक समस्या थी।

man dkim-filter.conf
man dkim-filter
man dkim-genkey

man dkim-stats
man dkim-testkey
man dkim-testssp

मैंने डेबियन पर कोशिश की। यदि यह वास्तव में आपके विचलन में नहीं है, तो आप स्रोत टैरबॉल और आसान पठन दस्तावेज़ डाउनलोड कर सकते हैं।

man dkim-milter-2.8.3/dkim-filter/dkim-filter.conf.5

आदि।

-

मुझे वास्तव में समझ में नहीं आता कि नाम किसी अवधि के बिना "mail._domainkey" पर क्यों सेट किया गया है

ताकि आप अलग-अलग डोमेन के दोनों DNS रिकॉर्ड्स में सटीक रूप से इसका उपयोग कर सकें।


2
2017-10-16 23:09