新闻 | 天津 | 民生 | 广电 | 津抖云 | 微视 | 读图 | 文娱 | 体育 | 图事 | 理论 | 志愿 | 专题 | 工作室 | 不良信息举报
教育 | 健康 | 财经 | 地产 | 天津通 | 旅游 | 时尚 | 购物 | 汽车 | IT | 亲子 | 会计 | 访谈 | 场景秀 | 发布系统

"津云"客户端
  您当前的位置 :北方网 > IT浪潮 > 滚动新闻 正文
关键词:

ISAServer2004中的SOCKS过滤器


http://www.enorth.com.cn  2007-09-12 23:07

  ISA Server 2004中带了一个SOCKS V4筛选器插件,它可以将来自SOCKS应用程序的请求转发到Microsoft防火墙服务,然后Microsoft防火墙服务检查访问规则,以确定SOCKS客户端应用程序是否可以与Internet进行通讯,如果允许,则将此请求转发至Internet上的对应服务器。另外,ISA Server只支持SOCKS V4的代理,不支持SOCKS V5,不过在ISA2000光盘里的application filter sample code中附带了一个SOCKS5的应用程序过滤器的编码,需要自行编译。

  当安装ISA服务器时,SOCKS筛选器对所有网络禁用。您可以启用此筛选器,然后进行配置,选择侦听的网络及端口(默认侦听端口是1080),以便侦听任何端口上的SOCKS请求。

  本人对ISA2004的SOCKS筛选器进行了研究,我没有其它使用SOCKS的软件,顺手拿来了MSN Messenger6.2试验,在ISA和客户端同时sniffer监视,ISA上开启防火墙日志记录。

  测试方法,分别使用完全通过,监视完整的通信过程;有限制的通过,监视通信是否有变化;阻拦通信,确定通信是否能使用新通信方法

  a.开启内部到外部所有出站通讯,所有用户,使用sniffer监视MSN Messenger登录过程。

  客户端对ISA发出1080端口通信,这样使用1080端口的数据往返29次,第30次进行了一次loginnet.passport.com的DNS解析,然后客户端使用passport登录到loginnet.passport.com进行用户身份认证,我们看到使用的是443端口发送认证请求,而不是通过1080端口的,认证完成之后发了多次80端口请求获得广告以及一些服务之类的请求。也就是说,即便使用了SOCKS代理,身份认证依然还要通过https协议进行认证,如果关闭了内网到外部的https协议,不能完成登录。

  b.我们知道msn messenger登录是需要使用1863端口的,如果1863端口被阻拦,使用80端口于登录服务器取得联系,那么我们只开启内部到外部https和msn messenger(1863端口)协议,所有用户,使用sniffer监视MSN Messenger登录过程。

  登录成功,网友信息可以读取,但是其它如:Alerts这类的功能不行,这些功能是使用80端口的,因为我们并没有允许80端口通信。我们从sniffer没有看到登录使用1863端口,但是在防火墙日志看到了登录使用了1863和https协议。我们禁止了80端口,说明不是使用80端口登录的,那么1863端口的信号就是被包裹在客户端到ISA服务器的1080端口的通信之中,因为我们用sniffer不能看到1080端口通信的内容,又没有其它通信,这也说明,ISA2004的SOCKS筛选器可以看到SOCKS内的通信使用了什么协议,因为我们在防火墙日志里面看到1863的通信记录。

  c.只开启内部到外部https协议,所有用户,使用sniffer监视登录过程。

  登录失败,查看防火墙日志,发现1863端口被阻,用sniffer监视从客户端并没有向外送出1863端口的请求,只有和ISA的1080的多次通信,可以判断,MSN Messenger把登录1863端口的请求放在1080的请求里面代理发出,这时候SOCKS筛选器对1080端口内的通信进行识别,发现了1863的请求,然后阻断,证明了ISA2004的SOCKS筛选器的确可以检查SOCKS通信内容使用什么协议,也就是说无论是不是使用了SOCKS都仍然完全按照防火墙策略。

  在看一下ISA外网卡sniffer的记录,和普通的外部IP登录没有区别。可以这样认识SOCKS的工作过程,当内部客户端请求的时候,把原来要使用什么端口什么协议都加载送到SOCKS服务器的1080端口的通信里面,这些请求由SOCKS服务器发出,收到外界服务器的回复之后,SOCKS服务器把这些回复加载到对1080请求的回复里面返回给客户端。对比使用SOCKS和不使用的情况,在isa外网卡上的sinffer记录没有不同。那么为什么有些软件只能工作在SOCKS下,不能工作在NAT下,我这里没有这样的软件,没有实际数据证据,我只能做一个猜想。道理和FTP的PASV模式下的二次连接一样,我们为什么一定要加载FTP筛选器,在我们连接过21控制端口后,要进行数据的连接的时候,内网发出的对该服务器的数据请求可以是任意一个端口的请求,这么说我们一定要打开所有内部到外部的所有通讯了,因为这个端口是随机打开的,我们也不知道会是那个,其实不然,我们只开FTP21即可,因为FTP筛选器通过对21端口的监视,已经知道我们将要打开的数据端口了,及时通知了ISA,ISA就打开从这个内网该客户端IP到外界FTP服务器IP的指定端口的策略,这个策略是随机产生,并不在策略中显现,所以我们看不到。SOCKS应该和这个一样,如果只打开实际上软件需要访问外界服务器的端口,在二次连接产生的时候,SOCKS没有监视到下次需要打开的端口,毕竟都是各自自己做的软件,不像FTP一样有标准的协议可以查阅,很容易监视到,而不会动态打开下一个端口,造成失败。

  所以使用SOCKS的关键是必须知道该软件在公网IP的时候实际上需要访问的服务器端口,然后加入内网到外网的该端口的协议即可,因为SOCKS筛选器的另外一个能力是能够查看需要访问的端口,根据规则适用。但是这个软件如果有像FTP那样2次连接恐怕就必须打开所有端口了,或者你可以通过咨询软件的设计者确定要开的端口,加入许可也可以。

编辑 赵国栋 天极ChinaByte
[进入IT论坛]
请您文明上网、理性发言并遵守相关规定,在注册后发表评论。
 北方网精彩内容推荐
无标题文档
天津民生资讯
天气交通 天津福彩 每月影讯 二手市场
空气质量 天津股票 广播节目 二手房源
失物招领 股市大擂台 天视节目 每日房价
热点专题
北京奥运圣火传递和谐之旅 迎奥运 讲文明 树新风
解放思想 干事创业 科学发展 同在一方热土 共建美好家园
2008天津夏季达沃斯论坛 《今日股市观察》视频
北方网网络相声频道在线收听 2008高考招生简章 复习冲刺
天津自然博物馆馆藏精品展示 2008年天津中考问题解答
带你了解08春夏服饰流行趋势 完美塑身 舞动肚皮舞(视频)
C-NCAP碰撞试验—雪佛兰景程 特殊时期善待自己 孕期检查
热点新闻排行 财经 体育 娱乐 汽车 IT 时尚 健康 教育

Copyright (C) 2000-2021 Enorth.com.cn, Tianjin ENORTH NETNEWS Co.,LTD.All rights reserved
本网站由天津北方网版权所有