切换到宽版
  • 41184阅读
  • 11回复

[求助]请问如何开启SMTP身份验证 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2012-02-03
新装的exchange2010,用客户端收信需要密码,发信不填写密码,甚至可以使用任何用户名也能发出去,这个漏洞很危险。请问这个情况如何解决,这个问题貌似是开启了open relay的,要如何关闭呢,求达人赐教,谢谢!
分享到

只看该作者 1楼  发表于: 2012-02-03
默认情况下,default的接收连接器上open relay是禁止的,

你可以检查你们所使用的接收连接器上的NT AUTHORITY\ANONYMOUS LOGON组是否有 "Ms-Exch-SMTP-Accept-Any-Recipient"权限,有的话禁掉就可以关闭open relay了。

下文是讲如何开启open relay,仅供参考:
http://technet.microsoft.com/en-us/library/bb232021.aspx

此外,我假设你的客户端上用的是pop3的方式进行收发信的,这样的话,建议使用587端口作为SMTP发信端口。该端口对应的client接收连接器是需要pop3客户端进行身份验证后才能正常发信的
只看该作者 2楼  发表于: 2012-02-08
[PS] C:\Windows\system32>Get-ReceiveConnector "EX2010a\default EX2010A" | Get-ADPermission -User "NT AUTHORITY\ANONYMOUS
LOGON" | select deny,accessrights,extendedrights

Deny                                    AccessRights                            ExtendedRights
----                                    ------------                            --------------
False                                   {ExtendedRight}                         {ms-Exch-SMTP-Accept-Authoritative-D...
False                                   {ExtendedRight}                         {ms-Exch-SMTP-Accept-Any-Sender}
False                                   {ExtendedRight}                         {ms-Exch-SMTP-Submit}
False                                   {ExtendedRight}                         {ms-Exch-Accept-Headers-Routing}
False                                   {ExtendedRight}                         {ms-Exch-Store-Create-Named-Properties}
False                                   {ExtendedRight}                         {ms-Exch-Create-Public-Folder}
False                                   {GenericRead}
False                                   {GenericRead}

好像没有你说的any-recipient 但是设置pop3模式不需要密码就可以发邮件是怎么回事呢

还有你说的用587端口作为SMTP的发信端口需要怎么设置那个client接收连接器呢

还有一点,我说明一下,我在那个接收的域中添加了一个*号的外部中继,跟这个有没有关系
只看该作者 3楼  发表于: 2012-02-09
回 1楼(opop) 的帖子
opop:默认情况下,default的接收连接器上open relay是禁止的,
你可以检查你们所使用的接收连接器上的NT AUTHORITY\ANONYMOUS LOGON组是否有 "Ms-Exch-SMTP-Accept-Any-Recipient"权限,有的话禁掉就可以关闭open relay了。
下文是讲如何开启open relay,仅供参考:
...... .. (2012-02-03 14:56) 

[PS] C:\Windows\system32>Get-ReceiveConnector "EX2010a\default EX2010A" | Get-ADPermission -User "NT AUTHORITY\ANONYMOUS
LOGON" | select deny,accessrights,extendedrights

Deny                                    AccessRights                            ExtendedRights
----                                    ------------                            --------------
False                                   {ExtendedRight}                         {ms-Exch-SMTP-Accept-Authoritative-D...
False                                   {ExtendedRight}                         {ms-Exch-SMTP-Accept-Any-Sender}
False                                   {ExtendedRight}                         {ms-Exch-SMTP-Submit}
False                                   {ExtendedRight}                         {ms-Exch-Accept-Headers-Routing}
False                                   {ExtendedRight}                         {ms-Exch-Store-Create-Named-Properties}
False                                   {ExtendedRight}                         {ms-Exch-Create-Public-Folder}
False                                   {GenericRead}
False                                   {GenericRead}

好像没有你说的any-recipient 但是设置pop3模式不需要密码就可以发邮件是怎么回事呢

还有你说的用587端口作为SMTP的发信端口需要怎么设置那个client接收连接器呢

还有一点,我说明一下,我在那个接收的域中添加了一个*号的外部中继,跟这个有没有关系

只看该作者 4楼  发表于: 2012-02-09
回 3楼(sherpqinck) 的帖子
sherpqinck:[PS] C:\Windows\system32>Get-ReceiveConnector "EX2010a\default EX2010A" | Get-ADPermission -User "NT AUTHORITY\ANONYMOUS
LOGON" | select deny,accessrights,extendedrights
Deny          & .. (2012-02-09 12:05) 

你是既可以发给内部用户也可以发给外部地址吗?pop3模式不需要密码时发出去的邮件就相当于anonymous在发邮件,而默认的default接收连接器上是允许接收Anonymous用户发来的邮件的。

那个client接收连接器是默认就创建好的监听在587端口上。如果是給pop3使用的话无需额外的设置。

那个外部中继的接受域应该和这个问题是没有关系的
只看该作者 5楼  发表于: 2012-02-10
回 4楼(opop) 的帖子
opop:你是既可以发给内部用户也可以发给外部地址吗?pop3模式不需要密码时发出去的邮件就相当于anonymous在发邮件,而默认的default接收连接器上是允许接收Anonymous用户发来的邮件的。
那个client接收连接器是默认就创建好的监听在587端口上。如果是給pop3使用的话无需额外的设置。
.. (2012-02-09 15:57) 

是的,不要密码我测试给我QQ邮箱发是没有问题的,内部应该也可以。那这个问题解决不了么。。。
采用587端口发邮件。别人设置25端口一样可以无密码发送吧。

只看该作者 6楼  发表于: 2012-02-10
你运行下:

Get-ReceiveConnector "EX2010a\default EX2010A" | Remove-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

再试试看。

还是可以成功发送的话就需要抓SMTP log看这个SMTP通信的具体流程了。

只看该作者 7楼  发表于: 2012-02-10
回 6楼(opop) 的帖子
opop:你运行下:
Get-ReceiveConnector "EX2010a\default EX2010A" | Remove-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
再试试看。
....... (2012-02-10 16:06) 

如果你还进一步需要防止匿名用户仿冒你们自己域的地址发送邮箱的话,可以参看下面这篇文档:

http://exchangepedia.com/2008/09/how-to-prevent-annoying-spam-from-your-own-domain.html
只看该作者 8楼  发表于: 2012-02-10
回 6楼(opop) 的帖子
opop:你运行下:
Get-ReceiveConnector "EX2010a\default EX2010A" | Remove-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
再试试看。
....... (2012-02-10 16:06) 

你说的这条命令我之前测试过,在局域网内可以生效,就是不要密码无法发送,但是外网依然不需要密码发送。而且运行这条命令以后,我群发邮件就会报错,550.5.7.1 client does not have permission to send as this sender
我表示很无助

只看该作者 9楼  发表于: 2012-02-13
什么叫在局域网内可以生效?是指客户端在域内?还是说收件人是内部地址?

你群发邮件的时候是怎么发的?单发内部收件人或者外部收件人可以么?

运行下列命令启用SMTP log:

Set-ReceiveConnector “EX2010a\default EX2010A” -ProtocolLoggingLevel verbose

重现问题后(1.局域网内不要密码发送 2.外网需要密码发送 3.群发邮件报错)到下列目录下打开最新的SMTP日志并将相关的内容贴出来看看:

\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpReceive
快速回复
限60 字节
 
上一个 下一个