postfix大量外发邮件服务器的配置之DomainKey

简介:

DomainKey 介绍:
雅虎的这项技术被称之为“DNS端的电子签名(DomainKeys)”,专门对付各种各样经过改头换面的垃圾邮件。
垃圾邮件经常通过改动电子邮件的发送着对用户进行欺骗,用户往往会误以为这不是垃圾邮件,因而打开查看的可能性加大。
雅虎的“DomainKeys”允许接受电子邮件的系统对邮件进行检查,以确定邮件发送者的身份是不是假的。
“DomainKeys”通过使用加密技术完成电子邮件发送者身份的验证。外发的邮件通过私人密码进行数字签名,
而接受电子邮件的系统则使用公共密码对签名进行核实。
 

一. 安装domainkey

实施步骤
OS:RedHat 2.6.9-55.EL
postfix:postfix-2.5.1-1.mysql.sasl2.vda.rhel4
dk-milter:dk-milter-1.0.1.tar.gz

1. 安装dk-milter

注意:

安装之前请先检查是否安装了sendmail-devel软件包
因为在编译时会有依赖关系
下载http://nchc.dl.sourceforge.net/sourceforge/dk-milter/dk-milter-1.0.1.tar.gz

                       
[root@  opt]#tar zxvf dk-milter-1.0.1.tar.gz
[root@  opt]#cd dk-milter-1.0.1
[root@  opt]#sh Build -c
[root@  opt]#sh Buld install
[root@  opt]#cd dk-filter
[root@  opt]#chmod +x  gentxt.csh
[root@  opt]#./gentxt.sh  default  *****.com                    
[root@  opt]#cp default.private  /etc/postfix/****.com.key.pem   
[root@  opt]#chmod 600  /etc/postfix/****.key.pem
[root@  opt]#/usr/bin/dk-filter -A -l -p inet:8891@localhost -d ****.com -s /etc/postfix/****.com.key.pem -S default


dk-filter 参数说明:

-a peerlist      # 哪些主机不做检查
-A               # dk-filter 挂掉后自动重启
-b modes         # s (singer) / v (verify) 预设为sv
-c canon         # 预设是 simple (邮件头不变),
                 # 另外是 relaxed (邮件头可能修改,去除空白,不换行)
-C config        # 详细配置
-d domlist       # 要签名的域名列表,以逗号分隔
-D               #
-f               # 前台执行
-h               # 在 Mail Header 中加入 X-DomainKeys 信息
-H               # DomainKey-Signature 说明签名的 header 信息
-i ilist         # 只做签名, 不做验证,默认127.0.0.1
-I elist         # 通过此主机转发的信做签名,不做验证
-l               # log 记录日志到 maillog
-m mtalist       # MTA 名字,也就是 DaemonPortOptions 中的 Name,預設是全部
-M macrolist     # MTA macros which enable signing
-o hdrlist       # 哪些 Header 不 sign,Ex: -o to,subject,date , From 一定要 sign
-P pidfile       # pid file 进程路径
-s keyfile       # private key
-S selector      # selector,会以 selector._domainkey.Domain 进行 type=TXT 查询
-u userid        # 运行用户
-V               # 检查版本


二. DNS配置:
系统自带的BIND,为节省时间 我在这里使用webmin做了配置记录
这个webmin很强大了,配置简单不容易出错 DNS基本配置不是本文重点
最基本的DNS A,MX记录等在这里就不介绍了

只写出与本文相关的配置:如下

1. 在dns 配置文件中添加文本记录:
[这个记录很难在服务商的服务器上添加]
default._domainkey.****.com.    IN  TXT    "k=rsa; t=y; p=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALcmSvH4TMzpP5zi6zOy/Ffwl4FQ/irk 8T6NhlfqeJuPY04uC8jFEE603zU5iktvK/VKb6P9WHSA54CSlULzaXcCAwEAAQ=="
_domainkey.****.com.    IN  TXT     "k=rsa; t=y; p=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALcmSvH4TMzpP5zi6zOy/Ffwl4FQ/irk 8T6NhlfqeJuPY04uC8jFEE603zU5iktvK/VKb6P9WHSA54CSlULzaXcCAwEAAQ=="

测试是否生效: nslookup

>set type=txt

>default._domainkey.××××.com

Non-authoritative answer:

default._domainkey.××××.com    text =

        "k=rsa; t=y; p=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALcmSvH4TMzpP5zi6zOy/Ffwl4FQ/irk 8T6NhlfqeJuPY04uC8jFEE603zU5iktvK/VKb6P9WHSA54CSlULzaXcCAwEAAQ=="

出现上边的公钥就表示没问题了


2. 设置 SPF
Sender Policy Framework。SPF可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。
当你定义了你的domain name的SPF记录之后,接收邮件方会根据你的SPF记录来确定连接过来的IP地址是
否被包含在SPF记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。
在DNS服务器上添加如下记录:

*****.com.    IN    TXT    "v=spf1 a mx ~all"

3. 修改 /etc/postfix/main.cf
添加如下参数:
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

重启postfix


三. 测试

发一测试邮件到互联网上的邮件用户 

Return-Path: <andyliu@****.com>
X-Original-To: andyliu@****.cn
Delivered-To: andyliu@****.cn
Received: from mail.****.com (unknown [XXX.XXX.XXX.XXX])
    by mail.****.cn (Postfix) with ESMTP id 0CEFA7C0352
    for <andyliu@e****.cn>; Thu,  1 Jul 2010 15:22:16 +0800 (CST)
Received: from test-pc (unknown [192.168.6.1])
    by mail.****.com (Postfix) with ESMTPA id 673329810B
    for <andyliu@****.cn>; Thu,  1 Jul 2010 14:45:30 +0800 (CST)
DomainKey-Signature: a=rsa-sha1; s=default; d=****.com; c=simple; q=dns;
    b=Qg2Qo63K8I/gMI2xL5Gc4svTlyvLeuidFflG9L0xgeJxqnDvx+oKGMeXOgOQ+nET1
    LtOXPB4Llf9kAcBL9n6LQ==

其中Domainkey 部分就说明了公共密钥已经添加到了邮件头中!
恭喜你完成了!




     本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/342332,如需转载请自行联系原作者


相关文章
|
4天前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
29 3
|
18天前
|
消息中间件 安全 Linux
服务器(Linux)在线下载activeMQ以及配置打开
服务器(Linux)在线下载activeMQ以及配置打开
27 3
|
18天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
345 6
|
4天前
|
Linux 数据库
ntp如何配置同步服务器
【5月更文挑战第24天】ntp如何配置同步服务器
13 0
|
4天前
|
存储 编解码 弹性计算
租用2核4G、4核8G、8核16G配置阿里云服务器可选实例规格及价格参考
在租用阿里云服务器时,一般计算型实例规格的云服务器处理器与内存配比为1:2,而2核4G、4核8G、8核16G配置就是用户选择较多的配置,这些配置的云服务器一般可用于网站应用、批量计算、视频编码等各种类型和规模的企业级应用,目前在阿里云的活动中经济型e、通用算力型u1、计算型c7、计算型c8y、计算型c7a等实例2核4G、4核8G、8核16G配置有优惠,本文为大家介绍这些配置在阿里云目前的活动中可选的实例规格及具体价格和收费标准情况,以供参考。
租用2核4G、4核8G、8核16G配置阿里云服务器可选实例规格及价格参考
|
10天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错之遇到MySQL服务器的时区偏移量(比UTC晚18000秒)与配置的亚洲/上海时区不匹配,如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
10天前
|
存储 固态存储 安全
租用阿里云服务器2核8G、4核16G、8核32G配置可选实例规格及价格参考
在租用阿里云服务器时,一般通用型实例规格的云服务器处理器与内存配比为1:4,而2核8G、4核16G、8核32G配置就是用户选择较多的配置,这些配置的云服务器一般可用于中小型数据库系统、缓存和各种Web应用,目前在阿里云的活动中经济型e、通用算力型u1、通用型g7、通用型g7a等实例2核8G、4核16G、8核32G配置有优惠,本文为大家介绍这些配置在阿里云目前的活动中可选的实例规格及具体价格和收费标准情况,以供参考。
租用阿里云服务器2核8G、4核16G、8核32G配置可选实例规格及价格参考
|
11天前
|
Linux 数据库
ntp如何配置同步服务器
【5月更文挑战第19天】ntp如何配置同步服务器
37 2
|
13天前
|
存储 弹性计算 监控
【阿里云弹性计算】深入阿里云ECS配置选择:CPU、内存与存储的最优搭配策略
【5月更文挑战第20天】阿里云ECS提供多种实例类型满足不同需求,如通用型、计算型、内存型等。选择CPU时,通用应用可选1-2核,计算密集型应用推荐4核以上。内存选择要考虑应用类型,内存密集型至少4GB起。存储方面,系统盘和数据盘容量依据应用和数据量决定,高性能应用可选SSD或高效云盘。结合业务特点和预算制定配置方案,并通过监控应用性能适时调整,确保资源最优利用。示例代码展示了使用阿里云CLI创建ECS实例的过程。
87 5
|
18天前
|
XML 网络安全 开发工具
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
24 0