dk-milter & dkim-milter 的 domainkey 安装教学

Home Home
引用 | 编辑 笑笑
2010-05-03 13:29
楼主
推文 x0
本教学是参考网路上的资料整理的,并在自己的主机测试 ok 的

1. 设定 SPF 方式

设定 SPF 只是在 DNS 内增加两行有关 mail server 的定义

1.连上 http://www.openspf.org/Project_Overview 使用 Deploying SPF 来快速产生你的 SPF 在 DNS 需要的资料.
2.Exp: everplast.net → http://old.openspf.org/wizard.html?mydomain=everplast.net&submit=Go!
3.产生给 BIND 的资讯:

复制程式
everplast.net. IN TXT "v=spf1 a mx include:everplast.com.tw include:e-plast.com.tw ~all"
mail.everplast.net. IN TXT "v=spf1 a -all"

mail.everplast.net. IN TXT "v=spf1 a -all"
4.在 everplast.net 的 DNS 定义档 1) 增加这两行

复制程式
;
; Mail Server
;
@                       A       192.168.0.250
@               IN      MX      10 mail
everplast.net. IN TXT "v=spf1 a mx include:everplast.com.tw include:e-plast.com.tw ~all"
mail            IN      A       192.168.0.251
mail            IN      MX      10 mail
mail.everplast.net. IN TXT "v=spf1 a -all"

5.定义完成后, 重新启动 named
复制程式
#named.reload

6.使用 nslookup 确认设定是否正确
复制程式
[root@ag320-mail data]# nslookup
> set type=TXT
> everplast.net
Server:         192.168.0.251
Address:        192.168.0.251#53
 
everplast.net   text = "v=spf1 a mx include:everplast.com.tw include:e-plast.com.tw ~all"
> mail.everplast.net
Server:         192.168.0.251
Address:        192.168.0.251#53
 
mail.everplast.net      text = "v=spf1 a -all"

7.透过 mail.everplast.net 寄信到 check-auth@verifier.port25.com 可得到设定结果的回信. 内容如:
复制程式
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         neutral
Sender-ID check:    pass
SpamAssassin check: ham

以上参考 http://www.ichiayi.com/wiki/tech/install_spf_dkim

实际上我只在 DNS 中加上 IN TXT "v=spf1 a -all"
比如主机的 domain 是 web.abc.com.tw,在 DNS 中只要设定
复制程式
web IN TXT "v=spf1 a -all"

要注意如果主机有设多 IP, web.abc.com.tw 的 IP ,要是第1组的 IP

2. 安装 dk-milter 及 dkim-milter ports

复制程式
#cd /usr/ports/mail/dk-milter
#make install

#cd /usr/ports/mail/dkim-milter
#make install

3. 设定 dk-milter

1. 建立 rsa key,dk-milter 有附一个工具程式 gentxt.csh [selector] [domain]
复制程式
#cd /usr/ports/mail/dk-milter/work/dk-milter-1.0.2/dk-filter
#./gentxt.csh mail web.abc.com.tw
mail._domainkey IN TXT "k=rsa; t=y; p=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANJxNpA2jk7Y+2KYnxnW+kKoIOmEGRQbYpobU3N7wuTR+r0e7CjC3pVjskjVrv47TWOj7mm3ldKJDCnDTIm435cCAwEAAQ==" ; ----- DomainKey mail for web.abc.com.tw

#mv mail.private /usr/local/etc/mail
#mv mail.public /usr/local/etc/mail

2. 把 Domainkey 加到 DNS 中
复制程式
mail._domainkey IN TXT "k=rsa; t=y; p=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANJxNpA2jk7Y+2KYnxnW+kKoIOmEGRQbYpobU3N7wuTR+r0e7CjC3pVjskjVrv47TWOj7mm3ldKJDCnDTIm435cCAwEAAQ=="

重新启动 DNS
复制程式
#named.reload

3. 修改 /etc/rc.conf 让 dk-milter 开机执行
复制程式
milterdk_enable="YES"
milterdk_socket="inet:8891@localhost"
milterdk_domain="web.abc.com.tw"
milterdk_key="/usr/local/etc/mail/mail.private"
milterdk_selector="mail"

先手动执行

复制程式
#cd /usr/local/etc/rc.d
#./milter-dk start

4. 修改 /etc/mail/web.abc.com.tw.mc ,在最后面加入
复制程式
INPUT_MAIL_FILTER(`dk-filter', `S=inet:8891@localhost')

重新启动 mail server
复制程式
#cd /etc/mail
#make all
#make install
#make restart[code]
7.透过 mail.everplast.net 寄信到 check-auth@verifier.port25.com 可得到设定结果的回信. 内容如: 
[code]Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   pass
DKIM check:         neutral
Sender-ID check:    pass
SpamAssassin check: ham

这样就 dk-milter 就 ok 了

4. 设定 dkim-milter

1. 修改 /etc/rc.conf 让 dk-milter 开机执行
复制程式
milterdkim_enable="YES"

2. 建立 /usr/local/etc/mail/dkim-filter.conf
复制程式
Canonicalization simple
Domain web.abc.com.tw
KeyFile /usr/local/etc/mail/mail.private
MTA MSA
Selector mail
Socket inet:8892@localhost
SignatureAlgorithm rsa-sha1
Syslog Yes
Userid dkim
X-Header Yes
Mode sv
InternalHosts /usr/local/etc/mail/dkim-internal-hosts

3. 建立 /usr/local/etc/mail/dkim-internal-hosts
复制程式
web.abc.com.tw
localhost
127.0.0.1

4. 先手动启动 dkim-milter
复制程式
#cd /usr/local/etc/rc.d
#milter-dkim start

5. 修改 /etc/mail/web.abc.com.tw.mc ,在最后面加入
复制程式
INPUT_MAIL_FILTER(`dkim-filter', `S=inet:8892@localhost')

重新启动 mail server
复制程式
#cd /etc/mail
#make all
#make install
#make restart[code]
7.透过 mail.everplast.net 寄信到 check-auth@verifier.port25.com 可得到设定结果的回信. 内容如: 
[code]Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   pass
DKIM check:         pass
Sender-ID check:    pass
SpamAssassin check: ham

这样就 dkim-milter 就 ok 了

希望以上教学对用 FreeBSD 的朋友有帮助,因为我为了个 dk-milter 及 dkim-milter 搞了3天
不小心还把 DNS 主机也搞到不能对外使用,目前已正常了..表情

献花 x0
引用 | 编辑 mnbmnb5266
2010-08-18 03:09
1楼
  
希望这些程式没有错误的地方,我先试试看吧

献花 x0