我对用MSN Messenger传文件时的日志分析了一下,发现传文件用的也是TCP 的1863端口,而且1863端口失败的话会尝试用443端口的。这些端口就不能封了,除非MSN都不让用。
现在,现象比较明确了:用户使用Windows Messenger登录MSN帐号封掉传文件时可以实现的,但是如果用户使用MSN Messenger登录就可以传文件了。
所以现在的事情就是要想办法把MSN Messenger这个软件封掉,不能让客户端用户使用,同时又不能影响Windows Messenger。
三、封掉MSN Messenger
仔细想想MSN Messenger和Windows Messenger的功能和特性,还有区别。就会明白微软公司为什么做了一个MSN Messenger还要做一个Windows Messenger了。企业就是应该用Windows Messenger,而MSN Messenger应该是个人用的,不应该应用到企业中来。微软的产品分工还是蛮明确的!
首先,安装软件的权限当然是不能给用户的。
另外,就只有绿色MSN Messenger这一条路了。
可以利用软件限制策略来限制MSN Messenger,这个办法确实比较有效。
但是,需要查找MSN Messger的各个版本的哈希值,配置策略也比较麻烦。
而且配置一条策略对用户登录计算机的速度也是一个影响,而在ISA Server的“监视”中的“会话”栏里面是可以看到MSN的连接会话的,既然可以看到会话,如何禁止这类会话呢?
所以我考虑另外想一个办法,看能不能在ISA Server上做一点配置。
在客户端的“任务管理器”中可以看到MSN Messenger的进程:
禁止这个进程去访问网络应该去就可以了,在某些个人防火墙上是有这类功能的,那么ISA Server能不能做到呢?
在ISA Server的服务器管理设置中有对配置禁止客户端应用程序去访问外部网络的设置,但是前提是必须在客户端上安装防火墙客户端。
下面看看详细配置方法:
1. 配置步骤:
(1) 打开ISA Server 管理控制台:
打开“配置”的“常规”界面,选择“定义防火墙客户端设置”
(2)打开“防火墙客户端设置”对话框,选择“应用程序设置”
(3) 选择“新建”按钮。
在打开的对话框输入和选择如下信息:
应用程序:msnmsgr
键:disable
值: 1
然后点击“确定”,在应用程序设置里面就可以看到,这一项配置了。
点击“应用”按钮后,再点击“确定”按钮。
然后应用配置,客户端用户下一次登录即可应用该配置。
(4)其他的MSN Messenger
另外我还收集了几个MSN Messenger其他版本的进程名
MSN:MSN Messenger 7.5非绿色版
MSNOK:绿色版的MSN Messenger7.0
MSNSHELL:绿色版的MSN Messenger7.0
这几个也禁掉。
2. 测试:
先后使用用户test1和test2登录客户端client进行如下测试,效果一致。
(1)首先用Windows Messenger登录
登录成功!
(2)再试一下,用MSN Messenger登录
等了一会,出现下面的对话框:
哈哈!MSN Messenger登录失败了!
再次尝试登录,还是失败!说明刚才的应用程序限制配置生效了。
3. 进一步测试
现在把之前配置的防火墙策略中的第3条规则启用,会看到不同的效果。
(1)先启动策略,并应用更改。
(2)再次用Windows Messenger登录
(3)然后使用MSN Messenger登录试一下。
居然成功登录,多次尝试效果都一样。
4. 监视客户端是否使用了MSN Messenger
客户端用户众多,如果有人在用MSN Messenger很难发现。
可以利用SMS来定期对客户端安装的软件进行检查。
如果没有SMS,可以利用ISA Server的监视功能做一些检查。
打开ISA Server的管理控制台,然后打开“监视”中的“会话”页面。
用鼠标右键点击“激活”,在右键菜单里面选择“应用程序名”。
点击“任务”栏里面的“编辑筛选器”,打开“编辑筛选器”对话框。
选择筛选依据为“应用程序名”,条件“包含”,值为:msn。
在“会话”的监视页面即可监视是否有用户使用了MSN。
总结
要封堵MSN传文件,并不难!
只要客户端使用Windows Messenger登录MSN帐号。同时把TCP 的6891 ~ 6900端口封掉即可。
但是,用户可以使用MSN Messenger登录,而MSN Messenger传输文件用的是端口是TCP 1863端口,而这个端口是MSN的登录端口,这样就无法封了。
所以需要在企业中禁止使用MSN Messenger,等不能影响Windows Messenger的使用。
MSN Messenger的封堵就比较麻烦了,必须满足以下条件:
1.客户端必须配置为防火墙客户;防火墙策略的配置必须是针对用户身份验证的规则,不能对IP地址限制用户客户端,否则客户可以禁止防火墙客户端软件的使用。
2.不要给用户在客户端安装软件的权限。
3.利用客户端应用程序限制,封掉如下几个程序:
Msn、 msnmsgr、msnok、msnshell
4.行政规定上的配合是必须的。
还有个问题,用户如果更改了MSN Messenger的应用程序名,就可以登录了,这个确实是一个漏洞。
可是大家想一想,一般情况下,我们面对的用户大多数计算机水平比较差,很多人只怕装软件都不会,而不是计算机方面的高手!他们一旦发现这个东西用不了,而且你也告诉他们,封了,他们试过几次,会想着改名吗?除非你告诉他。
尽量做一些封堵的事情,总比什么都不做好吧!
注意,按本文中以上的方法配置可能会出现如下两个问题:
1.即使是无限上网组的用户也有可能无法ping通外网。
原因是:防火墙客户端只是处理WINSOCK请求(TCP/UDP),不会对ICMP协议进行处理。
所以只有:建立防火墙规则,允许ping,应用给所有用户,不需要检查用户身份验证信息。
2.一个用户如果只属于MSN组可能过很长一段时间后可能无法登录MSN,显示帐号密码错误,但帐号密码确实无误。
根据我对这个现象发生时的日志分析,发现原因是:
用户在登录MSN时在访问这个网页:http://crl.verisign.com/RSASecureServer.crl
这个网页我打开看了一下,发现是下载证书的链接,可能MSN的帐号密码是通过RSA的加密算法加过密的。呵呵,看来MSN的安全做得还蛮好的!
而用户又没有浏览网页的权限,所以登录失败。
所以只有:建立防火墙规则,允许MSN组用户,访问URL:http://crl.verisign.com/*