Mail सर्वर : DKIM सेट करें2024/07/12 |
पोस्टफिक्स में DKIM (Domain Keys Identified Mail) कॉन्फ़िगर करें। DNS में उत्पन्न सार्वजनिक कुंजी को पंजीकृत करने के लिए, आपको अपने ईमेल डोमेन को पंजीकृत करने वाले DNS सर्वर की आवश्यकता होगी। |
|
[1] | OpenDKIM को स्थापित और कॉन्फ़िगर करें। |
root@mail:~#
apt -y install opendkim opendkim-tools # उस डोमेन के लिए निर्देशिका बनाएँ जिसके लिए आप DKIM कॉन्फ़िगर करते हैं root@mail:~# mkdir /etc/dkimkeys/srv.world
# कुंजी युग्म उत्पन्न करें # -D (वह निर्देशिका जिसमें कुंजियाँ संग्रहीत की जाएँ) # -d (डोमेन नाम) # -s (चयनकर्ता का नाम) ⇒ कोई भी नाम ठीक है root@mail:~# opendkim-genkey -D /etc/dkimkeys/srv.world -d srv.world -s $(date "+%Y%m%d") root@mail:~# chown -R opendkim:opendkim /etc/dkimkeys/srv.world root@mail:~# ll /etc/dkimkeys/srv.world total 16 drwxr-xr-x 2 opendkim opendkim 4096 Jul 12 05:22 ./ drwx------ 3 opendkim opendkim 4096 Jul 12 00:54 ../ -rw------- 1 opendkim opendkim 1704 Jul 12 05:22 20240712.private -rw------- 1 opendkim opendkim 507 Jul 12 05:22 20240712.txt
root@mail:~#
vi /etc/opendkim.conf # पंक्ति 14,15 : टिप्पणी हटाएँ # Mode : s = sign # Mode : v = verify Mode sv SubDomains no # पंक्ति 22,23,24 : यदि आप एक डोमेन संभाल रहे हैं, # निम्नलिखित तीन पंक्तियों को अनकमेंट करें और प्रत्येक के मान बदलें # यदि आप एकाधिक डोमेन को संभालना चाहते हैं, तो इसे विभिन्न मापदंडों के साथ सेट करें #Domain example.com #Selector 2020 #KeyFile /etc/dkimkeys/example.private # पंक्ति 37 : टिप्पणी करें # पंक्ति 38 : टिप्पणी हटाएँ #Socket local:/run/opendkim/opendkim.sock Socket inet:8891@localhost # पंक्ति 50 : यदि आपके DNS सर्वर पर DNSSEC सक्षम नहीं है तो टिप्पणी करें #TrustAnchorFile /usr/share/dns/root.key # पंक्ति 51 : DKIM कुंजी पंजीकृत करने के लिए DNS सर्वर # यदि DNS सर्वर लोकलहोस्ट नहीं है और resolv.conf में पंजीकृत सर्वर भी नहीं है, # इसे अनकमेंट करें और DNS सर्वर निर्दिष्ट करें #Nameservers 127.0.0.1 # अंतिम पंक्ति में जोड़ें # यदि आप एकाधिक डोमेन संभाल रहे हैं, तो निम्न सेट करें # यदि आपके पास केवल एक डोमेन है, तो पंक्ति 22-24 सेट करें और निम्नलिखित आवश्यक नहीं है KeyTable /etc/dkimkeys/KeyTable SigningTable refile:/etc/dkimkeys/SigningTable ExternalIgnoreList refile:/etc/dkimkeys/TrustedHosts InternalHosts refile:/etc/dkimkeys/TrustedHosts
root@mail:~#
vi /etc/dkimkeys/KeyTable # नई फ़ाइल बनाएँ # # (selector name)._domainkey.(domain name) (domain name):(selector name):(Private Key Path) # # यदि आप एक से अधिक डोमेन संभाल रहे हैं, तो उन्हें उसी तरीके से दर्ज करें 20240712._domainkey.srv.world srv.world:20240712:/etc/dkimkeys/srv.world/20240712.private
root@mail:~#
vi /etc/dkimkeys/SigningTable # नई फ़ाइल बनाएँ # # *@(domain name) (selector name)._domainkey.(domain name) # # यदि आप एक से अधिक डोमेन संभाल रहे हैं, तो उन्हें उसी तरीके से दर्ज करें *@srv.world 20240712._domainkey.srv.world
root@mail:~#
vi /etc/dkimkeys/TrustedHosts # नई फ़ाइल बनाएँ # विश्वसनीय होस्ट जोड़ें 127.0.0.1 ::1 localhostroot@mail:~# chown opendkim:opendkim /etc/dkimkeys/{KeyTable,SigningTable,TrustedHosts} root@mail:~# chmod 600 /etc/dkimkeys/{KeyTable,SigningTable,TrustedHosts} root@mail:~# systemctl restart opendkim |
[2] | पोस्टफिक्स कॉन्फ़िगर करें। |
root@mail:~#
vi /etc/postfix/main.cf # अंतिम पंक्ति में जोड़ें smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = acceptroot@mail:~# systemctl reload postfix |
[3] | DNS सर्वर पंजीकरण के लिए सार्वजनिक कुंजी सत्यापित करें। |
# सार्वजनिक कुंजी सामग्री root@mail:~# cat /etc/dkimkeys/srv.world/20240712.txt 20240712._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5zup/hnAFPCeeaTgrC7/WGcP4UtKHWpLpRS4xyIbuGKolfqk/YE+GZQlr2pSrXkapjjIJn829l/87GJVs7mwhmR6Sb4Ga7P+bNnuqJc/vejieuX6KL7cQ/GwUDOjomJ0nI0UEB4i02kF27HshudohMLK21rUQUn7eEP3Da6yj3Ud7z6qRH6kwOxGfgxoyO9E6D850sGOLoSY2" "iTuuC7+O5Px+FLJTL5JbrvAxFf10yrtatXLzUyYR1G9s+odQehYmYnA/Pk+7G8ee9tZQ1zWaVPQGLZirN08zkMzjDy9LK1nZnnCUTMrhjniHsg1NDpg3vJx/UWr0uQZvCuOeh3VwIDAQAB" ) ; ----- DKIM key 20240712 for srv.world # ज़ोन फ़ाइल में प्रविष्टि एक पंक्ति में होनी चाहिए, अनावश्यक वर्ण को छोड़करs root@mail:~# sed "s/^\t *//g" /etc/dkimkeys/srv.world/20240712.txt | sed -z "s/\\n//g" | sed "s/( //g" | cut -d')' -f1 20240712._domainkey IN TXT "v=DKIM1; h=sha256; k=rsa; ""p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5zup/hnAFPCeeaTgrC7/WGcP4UtKHWpLpRS4xyIbuGKolfqk/YE+GZQlr2pSrXkapjjIJn829l/87GJVs7mwhmR6Sb4Ga7P+bNnuqJc/vejieuX6KL7cQ/GwUDOjomJ0nI0UEB4i02kF27HshudohMLK21rUQUn7eEP3Da6yj3Ud7z6qRH6kwOxGfgxoyO9E6D850sGOLoSY2""iTuuC7+O5Px+FLJTL5JbrvAxFf10yrtatXLzUyYR1G9s+odQehYmYnA/Pk+7G8ee9tZQ1zWaVPQGLZirN08zkMzjDy9LK1nZnnCUTMrhjniHsg1NDpg3vJx/UWr0uQZvCuOeh3VwIDAQAB" |
[4] | DNS सर्वर पर सार्वजनिक कुंजी पंजीकृत करें। यह BIND ज़ोन फ़ाइल में पंजीकरण के उदाहरण का उपयोग करेगा। |
root@dns:~#
vi /etc/bind/srv.world.wan ..... ..... # अंतिम पंक्ति में जोड़ें 20240712._domainkey IN TXT "v=DKIM1; h=sha256; k=rsa; ""p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5zup/hnAFPCeeaTgrC7/WGcP4UtKHWpLpRS4xyIbuGKolfqk/YE+GZQlr2pSrXkapjjIJn829l/87GJVs7mwhmR6Sb4Ga7P+bNnuqJc/vejieuX6KL7cQ/GwUDOjomJ0nI0UEB4i02kF27HshudohMLK21rUQUn7eEP3Da6yj3Ud7z6qRH6kwOxGfgxoyO9E6D850sGOLoSY2""iTuuC7+O5Px+FLJTL5JbrvAxFf10yrtatXLzUyYR1G9s+odQehYmYnA/Pk+7G8ee9tZQ1zWaVPQGLZirN08zkMzjDy9LK1nZnnCUTMrhjniHsg1NDpg3vJx/UWr0uQZvCuOeh3VwIDAQAB"root@dns:~# rndc reload
|
[5] | मेल सर्वर की ओर जाँच करें। |
root@mail:~# dig 20240712._domainkey.srv.world. txt
.....
.....
# यदि प्रतिक्रिया आपके द्वारा पंजीकृत की गई प्रतिक्रिया से मेल खाती है, तो कोई बात नहीं
;; ANSWER SECTION:
20240712._domainkey.srv.world. 86400 IN TXT "v=DKIM1; h=sha256; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5zup/hnAFPCeeaTgrC7/WGcP4UtKHWpLpRS4xyIbuGKolfqk/YE+GZQlr2pSrXkapjjIJn829l/87GJVs7mwhmR6Sb4Ga7P+bNnuqJc/vejieuX6KL7cQ/GwUDOjomJ0nI0UEB4i02kF27HshudohMLK21rUQUn7eEP3Da6yj3Ud7z6qRH6kwOxGfgxoyO9E6D850sGOLoSY2" "iTuuC7+O5Px+FLJTL5JbrvAxFf10yrtatXLzUyYR1G9s+odQehYmYnA/Pk+7G8ee9tZQ1zWaVPQGLZirN08zkMzjDy9LK1nZnnCUTMrhjniHsg1NDpg3vJx/UWr0uQZvCuOeh3VwIDAQAB"
.....
.....
root@mail:~# opendkim-testkey -d srv.world -s 20240712 -vvv
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20240712._domainkey.srv.world'
opendkim-testkey: key not secure
opendkim-testkey: key OK
# If [key OK], that's OK
# * [key not secure] DNSSEC के बारे में एक संदेश है
|
[6] |
अंत में, जीमेल को एक ईमेल भेजें और यदि प्राप्त ईमेल का हेडर [DKIM: 'PASS' (डोमेन: srv.world)] दिखाता है, तो सब कुछ ठीक है। |
Sponsored Link |
|