Exchange Server 2003 SP2: 防范垃圾邮件能力的提升: Sender ID Support 默认安装智能邮件过滤器(v2) 邮箱基础支持的增强: 标准版数据库容量提升 脱机地址簿的增强(V4) 公共文件夹可管理能力的提升 连接类型的控制(non cache mode) 对移动用户访问能力的改进: Direct Push Remote Wipe Security Policy Lookup GAL S/MIME Support ......
打开Exchange 系统管理器--对着邮件传递右键--选择属性--按发件人筛选 如果你想拒绝来自某一个人的邮件就按添加把这个人的电子邮件地址添加进来 比如我想拒绝来自
test@yejunsheng.com
这个电子邮件地址的邮件 那么就按添加--在发件人里面输入
test@yejunsheng.com
按确定 或者说比如我要拒绝@test.yejunsheng.com所有从这个邮件域来的邮件 那么就按添加--在发件人里面输入@test.yejunsheng.com按确定 其实发件人筛选就是我们所说的发件人过滤 当我在这里面配置好了之后 还需要到管理组里面做相应的配置才会生效的
展开管理组--第一个管理组--服务器--BEIJING(Exchange服务器)--协议--SMTP--对着默认SMTP虚拟服务器右键--选择属性 在常规的IP地址里面选择本机的IP地址 按高级--按编辑--把应用发件人筛选器沟上 按确定 这样对刚才配置的发件人筛选器就会生效了 注意: 虽然发件人筛选器会生效 但是发件人的电子邮件地址是你指定的 比如你发现
test@yejunsheng.com
这个电子邮件地址不能发送邮件 你可以改一个电子邮件地址就能发送邮件了 所以说这个发件人筛选器没有多大的实际运用价值
我写了一个脚本去创建邮件对象 首先创建一个文本文档--双击打开它--在里面输入Set Msg =Createobject("CDO.Message") with Msg .from="user1<user1@yejunsheng.com>" .to="admin<administrator@yejunsheng.com>" .subject="ICBC Credit Card" .textbody="it should be SoftFail" end with Msg.Send Msgbox "finished" 按文件--按保存 然后把新建文本文档的扩展名.txt改成.vbs 双击这个脚本后 你会发现administrator这个用户的邮箱里面收到一封邮件了
我现在是使用administrator这个用户登录域中 打开Outlook 看到了吗? 现在已经可以看到user1这个用户发送的邮件了
打开Exchange系统管理器--展开全局设置--对着邮件传递右键--选择属性 把筛选不在目录中的收件人(F)沟上 按确定 展开管理组--第一个管理组--服务器--BEIJING(Exchange服务器)--协议--SMTP--对着默认SMTP虚拟服务器右键--选择属性 在常规的IP地址里面选择本机的IP地址 按高级--按编辑--把应用收件人筛选器沟上 按确定
我现在来到一台客户端 我那台Exchange服务器的IP地址是192.168.0.3 打开命令提示符--在里面输入telnet 192.168.0.3 25按回车键 输入helo按回车键 输入mail from:administrator@yejunsheng.com按回车键 输入rcpt to:sdarfewrfesdaf(不存在的电子邮件地址)按回车键 这个时候你会看到550 5.1.1 User unknown 当你再输入data按回车键后 它提示你必需使用Rcpt命令来指定一个收件人 换句话说系统并不接受这个用户 因为在实际上当中系统并不存在这个用户 这样就避免别人利用你的服务器生成NDR这种功能去进行Harvest攻击你了
通过开始--运行--输入regedit按确定来打开注册表编辑器 找到左下角那个路径--按Parameters 在右边空白处右键--按新建--选择DWORD值 数值名称就叫做tarpittime 在数值数据里面输入6(表示6秒)就是说当你服务器返回550这样错误的时候不是马上返回 而是经过6秒后再返回的 在基数里面选择十进制 按确定 因为它现在不会马上生效 我必需重新启动一下SMTP服务才会生效的 通过开始--运行--输入services.msc按确定来打开服务 对着Simple Mail Transfer Protocol(SMTP)右键--选择重新启动 在命令提示符里面输入telnet 192.168.0.3 25按回车键 输入helo按回车键 输入mail from:administrator@yeunsheng.com按回车键 输入rcpt to:b按回车键 此时你会发现它不会马上返回550.5.1.1 User unknown这个错误 而是经过6秒后才会返回的 所有500系列的错误都是经过6秒后才返回的 这样就会避免一个用户使用脚本来不断媒介企业内部用户名列表了 如果你不加限制的话 它就会不断地尝试 一分钟就会媒介一千个 现在加限制之后 它一分钟可能只能媒介12个了 可以利用这个功能来避免Harvest攻击了
Sender ID Filtering -->见下图:
Sender ID记录: example.com TXT "v=spf1 -all" -->该域不会向外发送邮件 example.com TXT"v=spf1 mx -all" -->入站SMTP服务器同样用于向外发送该域的邮件 example.com TXT"v=spf1 ip4:192.0.2.0/24 -all" -->仅仅允许来自特定地址段的IP向外发送该域的邮件 example.com TXT"v=spf1 mx include:myesp.com -all" -->外包 example.com TXT"spf2.0/pra ip4:192.0.3.0/24 -all" -->PRA检测
Sender ID测试结果: 可疑(?) -->不对未在记录中声明的IP进行判断 通过(+)-->所有未在记录中声明的IP被认为是合法的 失败(-)邮件域不存在 IP不在许可列表 -->所有未在记录中声明的IP被认为是非法的 软失败(~) -->所有未在记录中声明的IP被认为是非法的,但是在目前是可以被接受的 None -->邮件域没有SPF记录 TempError -->无法联系DNS或网络失败 PermError -->SPF记录格式不正确
通过开始--运行--输入dnsmgmt.msc按确定来打开DNS管理工具 对着正向查找区域右键--选择新建区域 名称就叫做spftest.zone吧 接着下一步 按完成 对着spftest.zone右键--选择其他新记录--按文本(TXT)--按创建记录 在文本里面输入v=spf1 ip4:192.168.0.3 -all 按确定 也就是说192.168.0.3这个IP地址是可以以spftest.zone这个域的名义去向外发送电子邮件的 除此之外的所有IP地址如果以这个域的名义来发送邮件都会导致一个Fail的结果
我写了一个脚本去创建邮件对象 首先创建一个文本文档--双击打开它--在里面输入Set Msg =Createobject("CDO.Message") with Msg .from="BillGates
billgates@spftest.zone
" .to="yejunsheng<administrator@yejunsheng.com>" .subject="Microsoft 邀请" .textbody="it should be SoftFail" end with Msg.Send Msgbox "finished" 按文件--按保存 然后把新建文本文档的扩展名.txt改成.vbs 双击这个脚本后 你会发现administrator这个用户的邮箱里面收到一封邮件了
我现在是使用administrator这个用户登录域中 打开Outlook 看到了吗? 现在已经可以看到Bill Gates这个用户发送的邮件了
本文转自 叶俊生 51CTO博客,原文链接:http://blog.51cto.com/yejunsheng/162365