在企业中使用P2P传输文件确实造成了一些安全隐患 ,病毒和木马都有可能由这个途径突破企业
防火墙进入企业内部
网络,还有企业的重要信息或数据也可能由此途径泄漏到外部
网络。因此很多企业有禁止P2P
软件传送文件,又不能影响消息通讯的需求。 在此我给大家介绍一下如何禁止MSN传送文件。
如果只允许用户使用Windows Messenger,而不使用MSN Messenger,可以实现封堵MSN传文件的问题。
经过我对这两个软件的分析之后发现:Windows Messenger和MSN Messenger登录 .net帐号时都是使用TCP的1863
端口的,但是传输文件的时候使用的
端口就不同。
Windows Messenger使用的是TCP 的6891 ~ 6900端口,语音
视频传输用的是UDP的5004 ~ 65535端口。而MSN Messenger传输文件仍然是TCP的1863端口。这样我就想到了只让用户使用Windows Messenger,然后把TCP的6891 ~ 6900端口端口封掉不就可以啦!
不过,不让用户使用MSN Messenger有点困难,但是还是有办法实现的。
下面做个
实验看看具体是怎么配置的!
一、 网络结构
二、 实验步骤
第一步: 架设DNS Server;
第二步: 提升DC,建立活动目录环境 ;
第三步: 建立域用户和组;
第四步:将ISA Server和Client加入到域中;
第五步:安装ISA Server 2004 标准版,在安装完成后安装Service Pack 1补丁包;
第六步:配置ISA Server;
第七步:配置防火墙策略;
第八步:测试;
三、封掉MSN Messenger;
1. 配置步骤;
2. 测试:;
3. 进一步测试.;
4. 监视客户端是否使用了MSN Messenger;
总结
一、 网络结构
1. 网络结构图
如图1
2. 结构描述
(1)DC、DNS
操作系统:Windows Server 2003 SP1
IP:192.168.6.11/24
网关:192.168.6.16
DNS:192.168.6.11
域名:test.net
(2)ISA Server
操作系统:Windows Server 2003 SP1
内网网卡IP :192.168.6.16/24
内网网关:无
DNS:192.168.6.11
(3)Client
操作系统:Windows 2000 Professionnal SP4
IP:192.168.6.21/24
网关:192.168.6.16
DNS:192.168.6.11
客户配置为防火墙客户。
二、 实验步骤
本文中涉及到了一些DNS Server和AD(活动目录)中的一些配置和内容,具体方法 忽略。在此域环境只是我的企业网络的需要,不是必须的。
第一步: 架设DNS Server。
第二步: 提升DC,建立活动目录环境。
第三步: 建立域用户和组。
1. 建立测试用域用户组:
(1) 浏览网页组
(2) MSN组
(3) 邮件组
2. 建立测试用域用户帐号:
(1)test1:加入到浏览网页组、MSN组和邮件组。
(2)test2:加入到无限上网组。
第四步:将ISA Server和Client加入到域中。
第五步:安装ISA Server 2004 标准版,在安装完成后安装Service Pack 1补丁包。
第六步:配置ISA Server。
1. ISA Server使用默认的边缘防火墙模版。
2. 新建四个用户集,并于AD中的用户组对应。
(1)现在我们建立第一个用户集,在防火墙策略右边的
工具箱中,点击“用户”,然后点击“新建”
如图2
打开新建用户集向导:
如图3
在“用户集名称”中,输入新建的用户集的名字“浏览网页组”,然后点击“下一步”,来到“用户”页。
如图4
在“用户”页,单击“添加”,并选择“Windows 用户和组”
如图5
在这里点击“位置”,选择“整个目录”,后点击“确定”
如图6
在“输入对象名称来选择”栏里面输入“浏览网页组”,然后点击“检查名称”。
如图7
检查成功后,点击确定回到“用户”页,如下图所示,点击“下一步”,按照提示完成用户集的建立。
如图8
刚建立好的用户集会在“用户”中显示出来
如图9
(2)然后,按照同样的方法,建立其他四个用户集。
全部建立好的用户集如下图:
如图10
(3)点击“应用”,应用刚才配置的用户集设置。
如图11
3. 自定义协议,使用TCP 的6891 ~ 6900端口,包括出站和入站
(1)新建协议:TCP出站6891 ~ 6900端口
在防火墙策略右边的工具箱中,点击“新建”,然后点击“协议”
如图12
选择“协议”后出现“欢迎使用新建协议定义向导”对话框:
如图13
输入协议定义名称:TCP 出6891-6900 ,并点击“下一步”,进入“首要连接信息”对话框
如图14
点击“新建”
如图15
打开“新建/编辑协议连接”对话框,选择协议类型为:TCP,方向:出站,端口范围从6891到6900,然后点击“确定”,回到“首要连接信息”对话框
如图16
点击“下一步”进入“辅助连接”对话框
如图17
直接点击“下一步”完成新建协议向导。
(2)按照同样办法,新建协议:TCP入站6891 ~ 6900端口
如图18
第七步:配置防火墙策略。
1. 新建一条规则:允许DNS协议访问外网
规则名:allow DNS to external
顺序: 1
操作:允许
从:内部
到:外部
协议: DNS
用户:所有用户
2. 新建第二条规则:封掉TCP 的6891 ~ 6900端口
规则名:Deny TCP 6891-6900
顺序: 2
操作:拒绝
从:内部
到:外部
协议: TCP 出6891-6900、TCP 入 6891-6900
用户:所有用户
3. 新建第三条规则:允许所有用户访问网页、收发邮件和登录MSN。
规则名:allow from internal to external
顺序: 3
操作:允许
从:内部
到:外部
协议: DNS、HTTP、HTTPS、MSN、MSN Messenger、POP3、SMTP
用户:所有用户
备注:这一条规则建好之后马上停用,在后面实验的时候会启用,在看到本文后面的测试部分时就会知道为什么有这一条策略了。
4. 新建第四条规则:允许浏览网页组浏览网页
规则名:允许浏览网页
顺序: 4
操作:允许
从:内部
到:外部
协议: DNS、HTTP、HTTPS
用户:浏览网页组
5. 新建第五条规则:允许使用MSN
规则名:允许使用MSN
顺序: 5
操作:允许
从:内部
到:外部
协议: DNS、HTTPS、MSN、MSN Messenger
用户: MSN组
6. 新建第六条规则:允许邮件组收发邮件
规则名:允许收发邮件
顺序: 6
操作:允许
从:内部
到:外部
协议: DNS、POP3、SMTP
用户:邮件组
7. 新建第七条规则:允许无限上网组访问外网
规则名:允许无限上网
顺序: 7
操作:允许
从:内部
到:外部
协议:所有出站通讯
用户:无限上网组
全部访问规则截图:
如图19
7. 规则描述
(1)第四、五、六这三条规则,可以合并为一条,但是我没有这样配置。因为这三条规则搭配使用,用不同的搭配可以给用户不同的权限。
例如:有的用户只能浏览网页和使用MSN。有的用户只能使用MSN和收发邮件。有的人是能收发邮件。
(2)第七条规则的用途:
如果有测试的需要或某些特殊用户(如:管理员和老总),可将加入到无限上网组,那么他们上网将无限制,但是还是受到第2条规则的限制
第八步:测试
使用用户:test1在cleint上登录,然后开始测试:
1. 使用Windows Messenger登录MSN,成功登录。
如图20
如图21
2. 找个朋友来互传文件试一下。
前提是他那边也用Windows Messenger登录的。WM和MSN Messenger之间传文件是存在问题的,这个现象在公网上也是一样的。
微软这个地方可能是考虑到了两个软件的用途不同的缘故吧。
下面是我传文件给他的图:
如图22
传失败了,看看这时对方的截图是怎么样的:
如图23
他传文件给我的图:
如图24
对方的截图:
如图25
很明显,传输doc和zip的文件是不能传了。
注:我做过多次测试,其他任何文件都无法传输,但是发送消息都是没有问题的。
3. 使用用户test2登录到客户端client再次进行测试,现象相同:
如图26
4. 使用MSN Messenger登录传文件试一下。
(1)由于安装了Windows Messenger之后,安装MSN Messenger是不可以的。所以我找一个绿色版的MSN Messenger 7.5,可以和Windows Messenger同时使用了。登录MSN成功:
如图27
(2) 让对方也换成MSN Messenger之后再传一次文件试一下。
如图28
如图29
我对用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的进程:
如图30
禁止这个进程去访问网络应该去就可以了,在某些个人防火墙上是有这类功能的,那么ISA Server能不能做到呢?
在ISA Server的
服务器管理设置中有对配置禁止客户端应用程序去访问外部网络的设置,但是前提是必须在客户端上安装防火墙客户端。
下面看看详细配置方法:
1. 配置步骤:
(1) 打开ISA Server 管理控制台:
如图31
打开“配置”的“常规”界面,选择“定义防火墙客户端设置”
(2)打开“防火墙客户端设置”对话框,选择“应用程序设置”
如图32
(3) 选择“新建”按钮。
如图33
在打开的对话框输入和选择如下信息:
应用程序:msnmsgr
键:disable
值: 1
如图34
然后点击“确定”,在应用程序设置里面就可以看到,这一项配置了。
如图35
点击“应用”按钮后,再点击“确定”按钮。
然后应用配置,客户端用户下一次登录即可应用该配置。
(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登录
如图36
登录成功!
(2)再试一下,用MSN Messenger登录
如图37
等了一会,出现下面的对话框:
如图38
哈哈!MSN Messenger登录失败了!
再次尝试登录,还是失败!说明刚才的应用程序限制配置生效了。
3. 进一步测试
现在把之前配置的防火墙策略中的第3条规则启用,会看到不同的效果。
(1)先启动策略,并应用更改。
(2)再次用Windows Messenger登录
如图39
(3)然后使用MSN Messenger登录试一下。
如图40
居然成功登录,多次尝试效果都一样。
4. 监视客户端是否使用了MSN Messenger
客户端用户众多,如果有人在用MSN Messenger很难发现。
可以利用SMS来定期对客户端安装的软件进行检查。
如果没有SMS,可以利用ISA Server的监视功能做一些检查。
打开ISA Server的管理控制台,然后打开“监视”中的“会话”页面。
用鼠标右键点击“激活”,在右键菜单里面选择“应用程序名”。
如图41
点击“任务”栏里面的“编辑筛选器”,打开“编辑筛选器”对话框。
选择筛选依据为“应用程序名”,条件“包含”,值为:msn。
如图42
在“会话”的监视页面即可监视是否有用户使用了MSN。
如图43
总结
要封堵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/*
[
本帖最后由 garnett_wu 于 2006-8-15 13:19 编辑 ]