使用dkim-milter(CentOS 5.2)在Postfix上设置DKIM
版本1.2
作者:Andrew Colin Kissa <andrew [at] topdog [dot] za [dot] net>
这个howto已经被http://www.topdog.za.net/postfix_dkim_milter取代了
介绍
DKIM是一种认证框架,用于将公钥存储在DNS中,并以域为基础对电子邮件进行数字签名。 这是由于雅虎的域名密钥和思科的“识别的Internet邮件规范”的合并而创建的。 它在RFC 4871中定义。
我们将在CentOS 5.2上使用更干净的dkim http://dkim-milter.sf.net实现。
安装
我在http://www.topdog-software.com/oss/为Dkim-milter提供Centos rpms,所以我们将安装最新版本。
- 安装rpm,(32位和64位intel支持)
# wget http://www.topdog-software.com/oss/roundcube/andrew_topdog-software.com_key.txt
# rpm --import andrew_topdog-software.com_key.txt
# http://www.topdog-software.com/oss/dkim-milter/dkim-milter-2.8.2-0.$(uname -i).rpm
生成密钥
# sh /usr/share/doc/dkim-milter-2.8.2/dkim-genkey.sh -r -d <domain_name>
将<domain_name>替换为要签名的域名。 该命令将创建两个文件。
- default.txt - 包含您通过DNS发布的公钥
- default.private - 用于签署电子邮件的私钥
将私钥移动到dkim-milter目录并将其固定。
# mv default.private /etc/mail/dkim/default.key.pem
# chmod 600 /etc/mail/dkim/default.key.pem
# chown dkim-milt.dkim-milt /etc/mail/dkim/default.key.pem
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 topdog-software.com
还要将其添加到您的区域文件。
_ssp._domainkey IN TXT "t=y; dkim=unknown"
组态
- 创建文件/ etc / sysconfig / dkim-milter,其中的内容将覆盖由rpm安装的现有示例文件,请确保将SIGNING_DOMAIN变量设置为要签署邮件的域或域。
USER="dkim-milt" PORT="inet:20209@localhost" SIGNING_DOMAIN="<domain_name>" SELECTOR_NAME="default" KEYFILE="/etc/mail/dkim/default.key.pem" SIGNER=yes VERIFIER=yes CANON=simple SIGALG=rsa-sha1 REJECTION="bad=r,dns=t,int=t,no=a" EXTRA_ARGS="-h -l -D"
配置Postfix
您需要将以下选项添加到postfix main.cf文件中,以使其能够使用milter。
smtpd_milters = inet:localhost:20209 non_smtpd_milters = inet:localhost:20209
如果您已经配置了其他的数位器,请将dkim-milter选项添加到现有的数据库中。
启动dkim-milter并重新启动postfix
# service dkim-milter start
# service postfix restart
测试
发送电子邮件至sa-test@sendmail.net或autorespond+dkim@dk.elandsys.com,您将收到一条回应,指出您的设置是否正常工作。 如果您有Gmail帐户,可以向该帐户发送电子邮件,并查看与下图相似的消息详细信息,如果您的设置正确完成,您应该看到“您的域”签名。
之前的版本
更新
更新的rpms总是提供在http://www.topdog-software.com/oss/dkim-milter/