DKIM(DomainKeys?Identified?Mail)是一種電子郵件驗(yàn)證方法,用于幫助檢測(cè)電子郵件中的偽造和篡改行為,以此來(lái)提高郵件的安全性和信任度。這種技術(shù)允許發(fā)件人通過(guò)使用數(shù)字簽名來(lái)證明郵件確實(shí)是由其聲稱(chēng)的發(fā)件域名所發(fā)送,并且郵件的內(nèi)容沒(méi)有在傳輸過(guò)程中被篡改。以下是詳細(xì)解釋?zhuān)?/p>
一、DKIM的核心作用
- 防偽造:
防止攻擊者偽造發(fā)件人域名(如冒充銀行發(fā)送釣魚(yú)郵件),保護(hù)用戶(hù)免受欺詐。 - 防篡改:
確保郵件內(nèi)容(正文、附件、標(biāo)題等)在傳輸過(guò)程中未被修改,維護(hù)郵件完整性。 - 提升可信度:
郵件服務(wù)商(如Gmail、Outlook)會(huì)優(yōu)先展示通過(guò)DKIM驗(yàn)證的郵件,減少被標(biāo)記為垃圾郵件的概率。
二、DKIM的工作原理
- 生成密鑰對(duì):
- 私鑰:由發(fā)件方服務(wù)器保管,用于對(duì)郵件內(nèi)容生成數(shù)字簽名。
- 公鑰:以DNS記錄形式公開(kāi),供收件方服務(wù)器驗(yàn)證簽名。
- 簽名郵件:
- 發(fā)件方服務(wù)器使用私鑰對(duì)郵件的特定部分(如頭部、正文)生成哈希值,并加密為簽名。
- 簽名以
DKIM-Signature
字段形式添加到郵件頭部。
- 驗(yàn)證簽名:
- 收件方服務(wù)器通過(guò)DNS查詢(xún)獲取發(fā)件方域名的DKIM公鑰。
- 使用公鑰解密簽名,并與郵件內(nèi)容重新計(jì)算的哈希值比對(duì)。
- 若一致,則驗(yàn)證通過(guò);否則標(biāo)記為可疑郵件。
三、DKIM記錄的DNS配置
DKIM記錄需在域名的DNS管理面板中添加,格式如下:
類(lèi)型:TXT |
主機(jī)名:_domainkey.example.com (或選擇器._domainkey.example.com,如default._domainkey.example.com) |
值:v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC…(公鑰內(nèi)容) |
關(guān)鍵參數(shù)說(shuō)明:
- v:DKIM版本(通常為
DKIM1
)。 - k:密鑰類(lèi)型(常見(jiàn)為
rsa
)。 - p:Base64編碼的公鑰內(nèi)容(長(zhǎng)度可能超過(guò)255字符,需分多行或使用引號(hào)包裹)。
- s(可選):指定簽名算法(如
rsa-sha256
)。 - t(可選):簽名標(biāo)記(如
y
表示嚴(yán)格測(cè)試模式)。
四、DKIM記錄的配置步驟
- 生成密鑰對(duì):
- 使用工具(如OpenSSL、Postfix的
dkim-genkey
)生成私鑰和公鑰。 - 示例命令:
openssl genrsa -out private.key 2048 openssl rsa –in private.key -pubout -out public.key
- 使用工具(如OpenSSL、Postfix的
- 創(chuàng)建選擇器(Selector):
- 選擇器用于區(qū)分同一域名下的多個(gè)DKIM密鑰(如
default
、mail
)。 - 生成選擇器記錄:
選擇器._domainkey.example.com IN TXT “v=DKIM1; k=rsa; p=…”
- 選擇器用于區(qū)分同一域名下的多個(gè)DKIM密鑰(如
- 配置郵件服務(wù)器:
- 將私鑰上傳至郵件服務(wù)器(如Postfix、Exim),并配置簽名規(guī)則。
- 示例Postfix配置:
milter_default_action = accept milter_protocol = 6 smtpd_milters = unix:/var/run/opendkim/opendkim.sock non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock
- 發(fā)布DNS記錄:
- 在DNS管理面板中添加TXT記錄,內(nèi)容為公鑰。
- 等待DNS記錄生效(通常需數(shù)分鐘至48小時(shí))。
- 測(cè)試驗(yàn)證:
- 使用工具(如
dig TXT selector._domainkey.example.com
)檢查DNS記錄是否正確解析。 - 發(fā)送測(cè)試郵件至驗(yàn)證工具(如Mail-Tester),檢查DKIM簽名狀態(tài)。
- 使用工具(如
五、常見(jiàn)問(wèn)題與解決
- DNS記錄未生效:
- 檢查主機(jī)名是否正確(如漏寫(xiě)
_domainkey
前綴)。 - 確認(rèn)TXT記錄值未被截?cái)啵ǔ^(guò)255字符需分多行或使用引號(hào))。
- 檢查主機(jī)名是否正確(如漏寫(xiě)
- 簽名驗(yàn)證失敗:
- 確保郵件服務(wù)器配置了正確的選擇器和私鑰。
- 檢查郵件內(nèi)容是否被修改(如通過(guò)代理服務(wù)器轉(zhuǎn)發(fā))。
- 多密鑰管理:
- 為不同郵件服務(wù)(如營(yíng)銷(xiāo)郵件、事務(wù)郵件)配置獨(dú)立選擇器,便于輪換密鑰。
- 與SPF/DMARC協(xié)同:
- DKIM需與SPF(驗(yàn)證發(fā)件服務(wù)器IP)和DMARC(定義未通過(guò)驗(yàn)證郵件的處理方式)配合使用,構(gòu)建完整郵件認(rèn)證鏈。
注冊(cè)域名需要選擇專(zhuān)業(yè)的域名服務(wù)商-域名頻道。
域名批量查詢(xún)、離線(xiàn)注冊(cè)、自動(dòng)續(xù)費(fèi),自由操作轉(zhuǎn)出過(guò)戶(hù) 一鍵鎖定和隱私保護(hù),輕松搞定域名管理。
域名的購(gòu)買(mǎi)并不是永久無(wú)期限,到期后要及時(shí)續(xù)費(fèi),才能正常使用,為了避免域名失效,一定要牢記域名有效期或者經(jīng)常登陸域名管理后臺(tái)查看有效期,我司也會(huì)及時(shí)通知到你域名續(xù)費(fèi)。
越來(lái)越多的公司選擇使用域名頻道的域名和備案服務(wù),購(gòu)買(mǎi)鏈接?http://www.sirendai.cn/domain/