• Postfix安装配置DKIM加密(opendkim)


    本篇文章只写了编译安装opendkim并配置加密的方式

    现在国内发信,首先收件运营商会检测你是不是正常的用户,避免你模仿其他人发垃圾邮件甚至诈骗邮件给用户,避免用户受到损失。

    这里最基础的检测是SPF记录以及你邮箱的RDNS记录,DKIM记录主要是保证收发信的传输过程中保证邮件内容不被篡改,目前DKIM记录国内貌似只有比较大的运营商在用,很多小的运营商没有用。

    国外一些邮箱尤其是Gmail还会检测你的邮件是否配置了TLS加密,还有DMARC记录等等这里只介绍DKIM。

    那DKIM怎么保证邮件内容不被篡改的?

    DKIM 技术通过在每封电子邮件上增加加密的数字标志,然后与合法的互联网地址数据库中的记录进行比较。当收到电子邮件后,只有加密信息与数据库中记录匹配的电子邮件,才能够进入用户的收件箱。它还能检查邮件的完整性,避免黑客等未授权者的修改。 DKIM 的基本工作原理同样是基于传统的密钥认证方式,他会产生两组钥匙,公钥(public key)和私钥(private key),公钥将会存放在 DNS 中,而私钥会存放在寄信服务器中。私钥会自动产生,并依附在邮件头中,发送到寄信者的服务器里。公钥则放在DNS服务器上,供自动获得。收信的服务器,将会收到夹带在邮件头中的私钥和在DNS上自己获取公钥,然后进行比对,比较寄信者的域名是否合法,如果不合法,则判定为垃圾邮件。 由于数字签名是无法仿造的(准确的说是DKIM的加密算法特别特别难,几乎没有人可以破解),因此这项技术对于垃圾邮件制造者将是一次致命的打击,他们很难再像过去一样,通过盗用发件人姓名、改变附件属性等小伎俩达到目的。


    安装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配置成功。
     
  • 相关阅读:
    大型高性能ASP.NET系统架构设计
    读写锁ReaderWriterLockSlim
    日常生活英语单词大全
    unity3d读取plist或xml文件
    WIN7开无线
    asp.net 2.0中新增的web.config的默认namespace功能 (转)
    面向对象的一些基本概念
    大话设计模式之策略模式
    大话设计模式之简单的工厂模式
    iOS UI 之UILable
  • 原文地址:https://www.cnblogs.com/MYue/p/8205439.html
Copyright © 2020-2023  润新知