使用dkim-milter 2.8.x(CentOS 5.3)在Postfix上设置多个域的DKIM
介绍
DomainKeys识别邮件(DKIM)Internet标准使电子邮件发件人能够对其邮件进行数字签名,以便接收者可以验证这些邮件尚未伪造。 DKIM发送方认证方案允许消息的收件人确认发送方域的消息,并且消息内容未被更改。 基于密码学的解决方案,DKIM为企业提供了行业标准的方法来减轻电子邮件Cheat,并以相对较低的实施成本保护组织的Branded和声誉。 DKIM基础规范正由Sendmail公司与思科和雅虎联合发起!
本教程基于使用dkim-milter(CentOS 5.2)教程和我的个人经验设置DKIM On Postfix教程。我不会保证这将为您工作!
安装
Topdog软件为Dkim-milter提供Centos rpms,网址为http://www.topdog-software.com/oss/dkim-milter ,因此我们将安装最新版本。 在编写本教程时,最新版本是dkim-milter-2.8.3-1
安装dkim-milter rpm,(32位和64位intel支持)
wget http://www.topdog-software.com/oss/dkim-milter/dkim-milter-2.8.3-1.i386.rpm
rpm -ivh dkim-milter-2.8.3-1.i386.rpm
生成密钥
/usr/bin/dkim-genkey -r -d mydomain1.com
用您将要签名的域名替换mydomain1.com。 该命令将创建两个文件。
default.txt - 包含您通过DNS发布的公钥
default.private - 用于签署电子邮件的私钥
重命名并将私钥移动到dkim-milter键目录并将其保护。
mv default.private default
mkdir /etc/mail/dkim/keys/mydomain1.com
mv default /etc/mail/dkim/keys/mydomain1.com
chmod 600 /etc/mail/dkim/keys/mydomain1.com/default
chown dkim-milt.dkim-milt /etc/mail/dkim/keys/mydomain1.com/default
重要提示:重复以上步骤为其他域,并为每个域使用单独的文件夹,您可以看到上面,否则您将收到“dkim:FAILED,无效(公钥:不可用)”错误消息
DNS设置
您需要通过DNS发布您的公共密钥,客户端服务器使用此密钥来验证您签名的电子邮件。 default.txt的内容是您需要添加到区域文件中的一个示例,如下所示
default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG81CNNVOlWwfhENOZEnJKNlikTB3Dnb5kUC8/zvht/S8SQnx+YgZ/KG7KOus0By8cIDDvwn3ElVRVQ6Jhz/HcvPU5DXCAC5owLBf/gX5tvAnjF1vSL8ZBetxquVHyJQpMFH3VW37m/mxPTGmDL+zJVW+CKpUcI8BJD03iW2l1CwIDAQAB" ; ----- DKIM default for mydomain1.com
还要将其添加到您的区域文件。
_ssp._domainkey IN TXT "t=y; dkim=unknown"
组态
您需要检查/etc/dkim-filter.conf
文件。
vi /etc/dkim-filter.conf
它必须如下所示:
ADSPDiscard yes ADSPNoSuchDomain yes AllowSHA1Only no AlwaysAddARHeader no AutoRestart yes AutoRestartRate 10/1h BaseDirectory /var/run/dkim-milter Canonicalization simple/simple Domain mydomain1.com #add all your domains here and seperate them with comma ExternalIgnoreList /etc/mail/dkim/trusted-hosts InternalHosts /etc/mail/dkim/trusted-hosts KeyList /etc/mail/dkim/keylist LocalADSP /etc/mail/dkim/local-adsp-rules Mode sv MTA MSA On-Default reject On-BadSignature reject On-DNSError tempfail On-InternalError accept On-NoSignature accept On-Security discard PidFile /var/run/dkim-milter/dkim-milter.pid QueryCache yes RemoveOldSignatures yes Selector default SignatureAlgorithm rsa-sha1 Socket inet:20209@localhost Syslog yes SyslogSuccess yes TemporaryDirectory /var/tmp UMask 022 UserID dkim-milt:dkim-milt X-Header yes
检查/ etc / mail / dkim / keylist
文件。
vi /etc/mail/dkim/keylist
它必须如下所示:
*@mydomain1.com:mydomain1.com:/etc/mail/dkim/keys/mydomain1.com/default
注意:如果您有其他域,您必须将它们添加到此文件中。每个行的一个域
配置Postfix
您需要将以下选项添加到postfix main.cf文件中,以使其能够使用milter。
vi /etc/postfix/main.cf
smtpd_milters = inet:localhost:20209 non_smtpd_milters = inet:localhost:20209 milter_protocol = 2 milter_default_action = accept
如果您已经配置了其他的数位器,请将dkim-milter选项添加到现有的数据库中。
启动dkim-milter并重新启动postfix:
service dkim-milter start
service postfix restart
测试
发送电子邮件至sa-test@sendmail.net或autorespond+dkim@dk.elandsys.com,您将收到一条回应,指出您的设置是否正常工作。
更新
更新的rpms始终在http://www.topdog-software.com/oss/dkim-milter中提供