Postfix安裝配置DKIM加密(opendkim)

本篇文章只寫了編譯安裝opendkim並配置加密的方式算法

如今國內發信,首先收件運營商會檢測你是否是正常的用戶,避免你模仿其餘人發垃圾郵件甚至詐騙郵件給用戶,避免用戶受到損失。數據庫

這裏最基礎的檢測是SPF記錄以及你郵箱的RDNS記錄,DKIM記錄主要是保證收發信的傳輸過程當中保證郵件內容不被篡改,目前DKIM記錄國內貌似只有比較大的運營商在用,不少小的運營商沒有用。vim

國外一些郵箱尤爲是Gmail還會檢測你的郵件是否配置了TLS加密,還有DMARC記錄等等這裏只介紹DKIM。服務器

 

那DKIM怎麼保證郵件內容不被篡改的?

DKIM 技術經過在每封電子郵件上增長加密的數字標誌,而後與合法的互聯網地址數據庫中的記錄進行比較。當收到電子郵件後,只有加密信息與數據庫中記錄匹配的電子郵件,纔可以進入用戶的收件箱。它還能檢查郵件的完整性,避免黑客等未受權者的修改。 DKIM 的基本工做原理一樣是基於傳統的密鑰認證方式,他會產生兩組鑰匙,公鑰(public key)和私鑰(private key),公鑰將會存放在 DNS 中,而私鑰會存放在寄信服務器中。私鑰會自動產生,並依附在郵件頭中,發送到寄信者的服務器裏。公鑰則放在DNS服務器上,供自動得到。收信的服務器,將會收到夾帶在郵件頭中的私鑰和在DNS上本身獲取公鑰,而後進行比對,比較寄信者的域名是否合法,若是不合法,則斷定爲垃圾郵件。 因爲數字簽名是沒法仿造的(準確的說是DKIM的加密算法特別特別難,幾乎沒有人能夠破解),所以這項技術對於垃圾郵件製造者將是一次致命的打擊,他們很難再像過去同樣,經過盜用發件人姓名、改變附件屬性等小伎倆達到目的。dom


 

安裝opendkim

    cd /usr/local/src/
    tar -zxf opendkim-2.10.3.tar.gz
    cd opendkim-2.10.3
    ./configure --prefix=/usr/local/opendkim
    make  && make install
 
中間發現了這幾個依賴,根據報錯需求安裝
第一個
     錯誤提示:configure: error: no strlcpy/strlcat found
            安裝這個工具:libbsd-0.8.6.tar  
            下載地址: https://libbsd.freedesktop.org/releases/
 
第二個
     錯誤提示:checking for OpenSSL library and includes... configure: error: OpenSSL not found
            實際上openssl 已經安裝 可是缺乏工具包
             apt-get install libssl-dev
    
第三個
     錯誤提示:error: milter not found
        下載地址:  ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.5.tar.gz    
   這個安裝有點不太同樣,這是安裝過程:  
  # tar zxf sendmail-8.14.5.tar.gz   
  # cd sendmail-8.14.5/libmilter/      
  # ./Build      
  # ./Build install  
 
 
cp /usr/local/opendkim/sbin/* /usr/bin/   #我犯懶了,最好本身一個一個的copy.....
cp /usr/local/opendkim/sbin/opendkim  /etc/init.d/opendkim

 配置opendkim

  如下全部的$domain 換成本身的域
  全部的$domain_name 換成本身的發信郵箱
 
建立如下目錄
mkdir /etc/opendkim/keys/$domain_name  -p
mkdir /var/run/opendkim/ -p
 
 
新增如下文件,並配置,默認都是沒有的,文件位置根據本身的須要來
vim /etc/opendkim.conf
        AutoRestart                         Yes
        AutoRestartRate                 10/1h
        Canonicalization                  relaxed/simple
        ExternalIgnoreList                refile:/etc/opendkim/TrustedHosts
        InternalHosts                       refile:/etc/opendkim/TrustedHosts
        KeyTable                              refile:/etc/opendkim/KeyTable
        LogWhy                               Yes
        MinimumKeyBits                 1024
        Mode                                   sv
        PidFile                                  /var/run/opendkim/opendkim.pid
        SigningTable                         refile:/etc/opendkim/SigningTable
        Socket                                  inet:8891@127.0.0.1
        Syslog                                  Yes
        SyslogSuccess                     Yes
        LogWhy                                Yes
        TemporaryDirectory              /var/tmp
        UMask                                  022
        UserID                                  opendkim:opendkim
        MacroList                             192.168.198.100,192.168.198.0/24     #若是涉及轉發郵件功能,這裏配置轉發IP或者簽名的IP段,不然轉發的郵件不會被簽名
 
vim  /etc/opendkim/TrustedHosts
127.0.0.1
 
vim /etc/opendkim/KeyTable
default._domainkey.$domain  $domain:default:/etc/opendkim/keys/$domain_name/default.private
 
vim /etc/opendkim/SigningTable
*@$domain default._domainkey.$domain
 
 
vim /etc/postfix/main.cf   #追加如下內容
smtpd_milters               = inet:127.0.0.1:8891
non_smtpd_milters       = inet:127.0.0.1:8891
milter_protocol              = 2
milter_default_action    = accept

 生成祕鑰

opendkim-genkey -D /etc/opendkim/keys/$domain_name/ -d  $domain -s default  #生成隨機密鑰
useradd opendkim
chown opendkim.opendkim /etc/opendkim -R
chown opendkim.opendkim /etc/opendkim.conf
/etc/init.d/opendkim -Dx /etc/opendkim.conf
/etc/init.d/postfix restart 
 

配置DNS TXT記錄

生成的公鑰截圖工具

 
 
 
DNSpod配置
主機記錄:default._domainkey ,上圖文中的內容。
記錄值:上圖所示()裏的內容,記得把換行符刪掉,雙引號不要,分號保留。
 

 


DKIM效果檢測

檢測DKIM配置有沒有成功: http://www.mail-tester.com     #天天每一個IP只能測試三次,多了要收費
發信測試: swaks 這個工具沒有能夠安裝一下,很方便。
  swaks -f 「你的發信地址」   -t 「收信地址」  -s "發信IP"    
  例如: swaks -f  123456@qq.com   -t 654321@qq.com  -s localhost  
另外gmail,網易,sina的郵件信頭裏也有標識,看到DKIM PASS字樣也證實DKIM配置成功。
相關文章
相關標籤/搜索