使用dkim-milter设置Postfix DKIM
这个howto已经被http://www.topdog.za.net/postfix_dkim_milter取代了
介绍
DKIM是一种认证框架,用于将公钥存储在DNS中,并以域为基础对电子邮件进行数字签名。 这是由于雅虎的域名密钥和思科的“识别的Internet邮件规范”的合并而创建的。 它在RFC 4871中定义。
我们将在CentOS 5.1上使用更为实用的dkim http://dkim-milter.sf.net
安装
安装rpm,忽略依赖关系,因为csh是依赖关系,但不影响dkim-milter; 它只需要与rpm一起提供的一些示例脚本。
rpm -Uvh http://www.c-corp.net/linux/centos/5/general/RPMS/i386/dkim-milter-2.2.1-1.i386.rpm --nodeps
mkdir /etc/dkim-milter
chown dkim-milt.dkim-milt /etc/dkim-milter
chmod 700 /etc/dkim-milter
chgrp postfix /var/run/dkim-milter
chmod 770 /var/run/dkim-milter
生成钥匙
下载此脚本 ,您可以轻松地生成用于签署邮件的密钥:
./dkim-genkey.sh -d <domainname>
将<domainname>替换为要签名的域名。 这将创建两个文件default.txt
和default.private
, 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 topdog-software.com
default.private
包含您的私钥。 将此文件移动到/ etc / dkim-milter
并将其重命名为<domainname> _default.key.pem
:
mv default.private /etc/dkim-milter/<domainname>_default.key.pem
编辑文件/ etc / sysconfig / dkim-milter
并设置变量:
USER="dkim-milt" PORT=local:/var/run/dkim-milter/dkim.sock SIGNING_DOMAIN="<domainname>" SELECTOR_NAME="default" KEYFILE="/etc/dkim-milter/${SIGNING_DOMAIN}_${SELECTOR_NAME}.key.pem" SIGNER=yes VERIFIER=yes CANON=simple SIGALG=rsa-sha1 REJECTION="bad=r,dns=t,int=t,no=a,miss=r" EXTRA_ARGS="-h -l -D"
初始化脚本修复
安装我修改的init脚本,因为rpm提供的脚本有一个错误。
wget http://www.topdog-software.com/files/dkim-milter -O /etc/init.d/dkim-milter
chkconfig --level 345 dkim-milter on
service dkim-milter start
配置Postfix
将其添加到postfix配置文件/etc/postfix/main.cf中
:
smtpd_milters = unix:/var/run/dkim-milter/dkim.sock non_smtpd_milters = unix:/var/run/dkim-milter/dkim.sock
如果您已经配置了其他的米勒,请追加到现有的数量。
启动dkim-milter并重新启动Postfix:
service dkim-milter start
service postfix restart
测试
发送消息到autorespond+dkim@dk.elandsys.com; 系统将返回响应,让您知道DKIM是否正常工作。 检查Gmail等域名的邮件头,看看您的系统是否正在检查入站邮件的DKIM签名。
Gmail中的DKIM邮件