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配置成功。
相关文章
相关标签/搜索