如何使用dk-milter在Postfix中实现域密钥
介绍
Domainkeys是“ DomainKeys是一种电子邮件身份验证方法,与其他一些方法不同,它从签名到验证的邮件传输代理(MTA)几乎提供了端到端的完整性,在大多数情况下,签名MTA代表发件人和验证MTA代表接收者。DomainKeys在历史RFC 4870中指定,它被标准跟踪RFC 4871,DomainKeys识别邮件(DKIM)签名消除。 “根据维基百科。 那么为什么在有DKIM的时候呢? Well域名仍然被积极地使用,并且比DKIM更广泛地部署,开发人员雅虎仍然使用它来签名和验证邮件,尽管它们是DKIM标准的贡献者。
我们将在CentOS 5.1上使用域密钥http://sourceforge.net/projects/dk-milter的较为简洁的实现。
安装
安装rpm:
rpm -Uvh http://www.topdog-software.com/oss/dk-milter/dk-milter-0.6.0-1.i386.rpm
生成钥匙
rpm提供了一个脚本:
/usr/share/doc/dk-milter-0.6.0/gentxt.sh <selector> <domainname>
其中<selector>
是您想要调用的任何东西 - 我使用默认值
,而<domainname>
是您将要签署邮件的域名。 此脚本将生成3个文件:
-
<selector> .txt
- 其中包含要添加到您的区域文件的文本:default._domainkey IN TXT "g=; k=rsa; t=y; p=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJQfGTmsFzILU6ep6aSFg+WrTkaOLmoRillFNbOpNOr5Gst5H8wG9Oh2SpUytaruP/7j/eWQ8Wyz6zX2gAtzwF0CAwEAAQ==" ; ----- DomainKey default for example.com
- 公共 - 这是公共密钥:
-----BEGIN PUBLIC KEY----- MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJQfGTmsFzILU6ep6aSFg+WrTkaOLmoR illFNbOpNOr5Gst5H8wG9Oh2SpUytaruP/7j/eWQ8Wyz6zX2gAtzwF0CAwEAAQ== -----END PUBLIC KEY-----
-
<selector> .private
- 这是私钥:-----BEGIN RSA PRIVATE KEY----- MIIBOwIBAAJBAJQfGTmsFzILU6ep6aSFg+WrTkaOLmoRillFNbOpNOr5Gst5H8wG 9Oh2SpUytaruP/7j/eWQ8Wyz6zX2gAtzwF0CAwEAAQJACHWqPCf+/yW0dmv24yWY /eIFy3PNZNNxol2YjpVIZ28SgOSRrC0vzH+SpR1WZURAOcHi+WQa0AJPeqxM4Y1g xQIhAMVjPNPW8u0sMpNIcev9JBUjUjbilOgY2FTfyNQV0SKjAiEAwBrO5T8XLZQ6 eRUUzz7yWYCHZln6CgD0lhBuZzu4wP8CIQCq8AT2Y7ie4l6uI9fcia2czKjfNRvF X/bAkchGutoRRwIgF2KsEQgvICNNQvQoBlqZUf/te640XAdlvubdKcABa60CIQCU DKlMOSxHp4Ms+KT41MFHkHDI/gkFfHvVRhL1PmuwtQ== -----END RSA PRIVATE KEY----
安装私钥:
mv default.private /etc/mail/domainkeys/dk_<domainname>.pem
chown dk-milt:dk-milt /etc/mail/domainkeys/dk_<domainname>.pem
chmod 600 /etc/mail/domainkeys/dk_<domainname>.pem
DNS
添加内容 .txt
到您的DNS区域文件。
将以下内容添加到DNS区域文件中:
_domainkey IN TXT "t=y; o=~"
验证您的DNS配置: http : //domainkeys.sourceforge.net/policycheck.html
组态
编辑文件/ etc / sysconfig / dk-milter
并设置以下选项:
# Default values # USER="dk-milt" PORT="local:/var/run/dk-milter/dk.sock" SIGNING_DOMAIN="<domainname>" SELECTOR_NAME="<selector>" KEYFILE="/etc/mail/domainkeys/dk_${SIGNING_DOMAIN}.pem" SIGNER=yes VERIFIER=yes CANON=simple REJECTION="bad=r,dns=t,int=t,no=a,miss=r" EXTRA_ARGS="-h -l -D" MILTER_GROUP="mail"
配置Postfix
将其添加到Postfix配置文件/etc/postfix/main.cf中
:
smtpd_milters = unix:/var/run/dk-milter/dk.sock non_smtpd_milters = unix:/var/run/dk-milter/dk.sock
如果您已经配置了其他的米勒,请追加到现有的数量。
启动dk-milter并重新启动Postfix:
service dk-milter start
service postfix restart
测试
要测试发送邮件至autorespond+dk@dk.elandsys.com,您将收到一封具有测试结果的回复电子邮件。 如果你有一个雅虎帐号,你也可以发送邮件给那个; Yahoo的签名消息示例如下: