Fedora 41
Sponsored Link

Mail Server : DKIM सेट करें2024/11/13

 

पोस्टफिक्स में DKIM (डोमेन कीज़ आइडेंटिफाइड मेल) कॉन्फ़िगर करें।

DNS में जनरेटेड सार्वजनिक कुंजी को पंजीकृत करने के लिए, आपको उस DNS सर्वर की आवश्यकता होगी जो आपके ईमेल डोमेन को पंजीकृत करता है।

[1] OpenDKIM को स्थापित और कॉन्फ़िगर करें।
[root@mail ~]#
dnf -y install opendkim opendkim-tools
# उस डोमेन के लिए निर्देशिका बनाएँ जिसके लिए आप DKIM कॉन्फ़िगर करते हैं

[root@mail ~]#
mkdir /etc/opendkim/keys/srv.world
# कुंजी युग्म उत्पन्न करें
# -D (वह निर्देशिका जिसमें कुंजियाँ संग्रहीत की जाएँ)
# -d (डोमेन नाम)
# -s (चयनकर्ता का नाम) ⇒ कोई भी नाम जो आपको पसंद हो

[root@mail ~]#
opendkim-genkey -D /etc/opendkim/keys/srv.world -d srv.world -s $(date "+%Y%m%d")

[root@mail ~]#
chown -R opendkim:opendkim /etc/opendkim/keys/srv.world

[root@mail ~]#
ll /etc/opendkim/keys/srv.world

total 8
-rw-------. 1 opendkim opendkim 916 Nov 13 10:12 20241113.private
-rw-------. 1 opendkim opendkim 315 Nov 13 10:12 20241113.txt

[root@mail ~]#
vi /etc/opendkim.conf
# पंक्ति 39 : परिवर्तन
# Mode : s = sign
# Mode : v = verify
Mode    sv

# पंक्ति 92, 99 : टिप्पणी करना
#Selector    default
#KeyFile    /etc/opendkim/keys/default.private

# पंक्ति 104, 109, 113, 116 : टिप्पणी हटाएं
KeyTable    /etc/opendkim/KeyTable
SigningTable    refile:/etc/opendkim/SigningTable
ExternalIgnoreList    refile:/etc/opendkim/TrustedHosts
InternalHosts    refile:/etc/opendkim/TrustedHosts

[root@mail ~]#
vi /etc/opendkim/KeyTable
# अंतिम पंक्ति में जोड़ें
#
# (selector name)._domainkey.(domain name) (domain name):(selector name):(Private Key Path)
#
# यदि आप एक से अधिक डोमेन संभाल रहे हैं, तो उन्हें उसी तरीके से दर्ज करें

20241113._domainkey.srv.world srv.world:20241113:/etc/dkimkeys/srv.world/20241113.private

[root@mail ~]#
vi /etc/opendkim/SigningTable
# अंतिम पंक्ति में जोड़ें
#
# *@(domain name) (selector name)._domainkey.(domain name)
#
# यदि आप एक से अधिक डोमेन संभाल रहे हैं, तो उन्हें उसी तरीके से दर्ज करें

*@srv.world 20241113._domainkey.srv.world

[root@mail ~]#
vi /etc/opendkim/TrustedHosts
# विश्वसनीय होस्ट जोड़ना संभव
127.0.0.1
::1
#host.example.com
#192.168.1.0/24

[root@mail ~]#
systemctl enable --now opendkim

[2] Postfix कॉन्फ़िगर करें।
[root@mail ~]#
vi /etc/postfix/main.cf
# अंतिम पंक्ति में जोड़ें
smtpd_milters = unix:/run/opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
milter_default_action = accept

[root@mail ~]#
usermod -aG opendkim postfix

[root@mail ~]#
systemctl reload postfix

[3] DNS सर्वर पंजीकरण के लिए सार्वजनिक कुंजी सत्यापित करें।
# सार्वजनिक कुंजी सामग्री

[root@mail ~]#
cat /etc/opendkim/keys/srv.world/20241113.txt

20241113._domainkey     IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2FDt4e8t57VVayeGU/yclkwDj1+cA3FdBbpvwrHXnGQW6uKJOQYDhRyDozBjRIVsuzoc/XiHiNWG6tlrSdLmUc0c5OTOPdq3QWQ6bWCAY0sfXt6xtKYC8eQ/vZkSgR2wrCsGLf9PSYplb6OgmYv3cudx6R9X8fz6jvnAnAqDN6wIDAQAB" )  ; ----- DKIM key 20241113 for srv.world

# ज़ोन फ़ाइल में प्रविष्टि एक पंक्ति में होनी चाहिए, अनावश्यक वर्णों को छोड़कर

[root@mail ~]#
sed "s/^\t *//g" /etc/opendkim/keys/srv.world/20241113.txt | sed -z "s/\\n//g" | sed "s/( //g" | cut -d')' -f1

20241113._domainkey     IN      TXT     "v=DKIM1; k=rsa; ""p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2FDt4e8t57VVayeGU/yclkwDj1+cA3FdBbpvwrHXnGQW6uKJOQYDhRyDozBjRIVsuzoc/XiHiNWG6tlrSdLmUc0c5OTOPdq3QWQ6bWCAY0sfXt6xtKYC8eQ/vZkSgR2wrCsGLf9PSYplb6OgmYv3cudx6R9X8fz6jvnAnAqDN6wIDAQAB"
[4] DNS सर्वर पर सार्वजनिक कुंजी पंजीकृत करें।
यह BIND ज़ोन फ़ाइल में पंजीकरण के उदाहरण का उपयोग करेगा।
root@dns:~#
vi /var/named/srv.world.wan
.....
.....
# अंतिम पंक्ति में जोड़ें
20241113._domainkey     IN      TXT     "v=DKIM1; k=rsa; ""p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2FDt4e8t57VVayeGU/yclkwDj1+cA3FdBbpvwrHXnGQW6uKJOQYDhRyDozBjRIVsuzoc/XiHiNWG6tlrSdLmUc0c5OTOPdq3QWQ6bWCAY0sfXt6xtKYC8eQ/vZkSgR2wrCsGLf9PSYplb6OgmYv3cudx6R9X8fz6jvnAnAqDN6wIDAQAB"

root@dns:~#
rndc reload
[5] मेल सर्वर की ओर जाँच करें।
[root@mail ~]#
dig 20241113._domainkey.srv.world. txt

.....
.....

# यदि प्रतिक्रिया आपके द्वारा पंजीकृत की गई प्रतिक्रिया से मेल खाती है, तो कोई बात नहीं
;; ANSWER SECTION:
20241113._domainkey.srv.world. 86400 IN TXT     "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2FDt4e8t57VVayeGU/yclkwDj1+cA3FdBbpvwrHXnGQW6uKJOQYDhRyDozBjRIVsuzoc/XiHiNWG6tlrSdLmUc0c5OTOPdq3QWQ6bWCAY0sfXt6xtKYC8eQ/vZkSgR2wrCsGLf9PSYplb6OgmYv3cudx6R9X8fz6jvnAnAqDN6wIDAQAB"

.....
.....

[root@mail ~]#
opendkim-testkey -d srv.world -s 20241113 -vvv

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20241113._domainkey.srv.world'
opendkim-testkey: key not secure
opendkim-testkey: key OK
# यदि [कुंजी OK], तो यह ठीक है
# * [कुंजी सुरक्षित नहीं है] DNSSEC के बारे में एक संदेश है
[6]

अंत में, जीमेल को एक ईमेल भेजें और यदि प्राप्त ईमेल का हेडर [DKIM: 'PASS' (डोमेन: srv.world)] दिखाता है, तो सब कुछ ठीक है।

मिलान सामग्री