2014-08-28 23:37:16
来 源
中存储网
Exchange邮件服务器
当我们使用Telnet命令连接到对方的邮件服务器25端口时,如果对方是Exchange服务器通常会显示如下的信息
 当我们使用Telnet命令连接到对方的邮件服务器25端口时,如果对方是Exchange服务器通常会显示如下的信息

以下是代码片段:
    220 MailSrv-NLB02.Contoso.com Microsoft ESMTP MAIL Service ready at Sun, 3 Feb 20
  08 16:33:43 +0800

以上是Exchange2007的SMTP标题信息,如果是Exchange的早期版本,则还有可能出现邮件服务器的版本信息:

以下是代码片段:
220 hostname.domain.com Microsoft ESMTP MAIL Service, Version:5.0.2195.1600 ready at Thu, 30 Nov 2000 18:09:43 -0600

我稍微对上面的SMTP标题信息做下解释:

1.信息的开头为220,是SMTP的响应代码,表示“服务已就绪”的意思

2.hostname.domain.com 就是邮件服务器的FQDN名,如果是Exchange2007,这里就是Hub Transport Server或者Edge Transport Server的名字。

3.邮件服务器的信息,从中我们可以看出对方使用的是Exchange,甚至我们还能知道对方版本。

4.日期时间信息

5.时区设置信息

以上检测出的信息说多不多,说少不少,尤其是第2和第3点,竟然将邮件服务器的计算机名和邮件服务器的软件及版本暴露出去了,让人颇感不放心。所以在Hub Transport Server或者Edge Transport服务器上修改默认 SMTP 标题,以便服务器名和邮件服务器软件不会被SMTP标题信息“泄露出卖”就显得很有必要了。

在Exchange2007中,修改SMTP标题信息也就是修改接收连接器属性中的Banner参数,该值在默认情况下为空,用$null 表示。当接收连接器上未指定 Banner 参数,或使用 $null 值指定 Banner 参数时,连接到该接收连接器的远程 SMTP 邮件服务器将收到前面提到的响应信息:

以下是代码片段:
    220 MailSrv-NLB02.Contoso.com Microsoft ESMTP MAIL Service ready at Sun, 3 Feb 20
  08 16:33:43 +0800

如何修改呢?其实很简单。使用 Set-ReceiveConnector cmdlet 或 New-ReceiveConnector cmdlet 中的 Banner 参数可控制 SMTP 标题,在这里我就不new一个接收连接器了,直接通过Set-ReceiveConnector cmdlet以现有的接收连接器做演示。

注:1.不能使用 Exchange 管理控制台修改默认 SMTP 标题。若要修改 SMTP 标题,则必须使用 Exchange 命令行管理程序。

2.要想成功修改必须具备Exchange 组织管理员角色,如果是修改边缘传输服务器上的接收连接器,必须要有本地管理员权限

打开Exchange命令行管理程序,输入Set-ReceiveConnector "接收连接器名" -Banner "220 自定义的提示信息",我的Exchange组织中没有边缘角色,Exchange其他角色安装在DC上,服务器的FQDN名为dc.winos.cn,所以实际代码应该表示如下:

Set-ReceiveConnector "dcdefault dc" -Banner "220 Welcome to MailSystem of Winos.cn !!!"

                       图1

注意:

1.如果有边缘传输服务器角色,则把"dcdefault dc"替换为实际的名称,例如"Default internal receive connector"

2.自定义消息中的220不能省略,这个在RFC文档里面已经定义好了,必须遵循。否则会看到如图1的报错信息。

3.提示消息可以随便定制,建议干脆搞个其他邮件服务端迷惑对方,例如欢迎使用postfix

修改完成以后,我们来telnet 邮件服务器的25端口看看效果,如图2。这样我们就将SMTP标题中敏感信息简单的隐藏起来了。

                          图2

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。