如何使用dk-milter在Postfix中实现Domainkey

如何使用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的签名消息示例如下:

链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏