zoukankan      html  css  js  c++  java
  • ISA Server 阻断 HTTPS 连接问题分析

    作者:高张远瞩(HiLoveS)

    博客:http://www.cnblogs.com/hiloves/

    转载请保留该信息

     

    今天困扰我三年的ISA Server老是阻断HTTPS连接的问题成为历史了。之前,在ISA Server的防火墙策略中已经加入网银域名,并且规则中的出站协议为“所有出站通信”,但从日志中查询得知,通往网银443端口的连接总是被默认规则阻断掉,这条设置为允许网银的规则从来没有起过作用。作为替代方案,我只好把网银https服务器的IP找出来,放到规则中,这样才能正常访问,这就产生两个问题:现在的许多服务器采用集群方式,这意味着可能有多个IP,就必须把所有IP都找出来,步骤繁琐;如果服务器域名不变,IP变更,规则就失效了,必须时时监测。这两点都很烦。

    上网咨询很多人,包括www.isacn.org、微软官方技术论坛,回答基本如下:规则中出站协议选择https(我都设为所有出站通信了,难道https还出不去?),默认规则放到允许网银规则前面了(Oh,MY GOD。什么低级错误,幼儿园的孩子都不会犯),没有允许DNS(无语)。

     

    以建行网银作例子,建行网银使用https协议,在浏览器中输入http://www.ccb.com.cn,点击左上角的登录个人网银会打开到https://ibsbjstar.ccb.com.cn。

    创建新的规则,符合规则条件时要执行的操作为“允许”,此规则应用到“所有出站通讯”,指定源为“内部”,建立与建行网银相关的域名集(包含*.ccb.com,*.ccb.com.cn),将此域名集指定为目标,用户为“所有用户”,最后保证此规则在默认规则前。并且建立一个允许DNS的规则。

    从内部客户机的浏览器上访问http://www.ccb.com.cn,登录个人网银,然后浏览器一直空白直到超时。失败。

    查看日志如下:

    从底下数1、2行清楚表明允许DNS,第3、5、6行表明使用http的建行官网是正常。后面就杯具了,所有https连接都是红的,直接跳过新规则被默认规则阻断了。其实答案就在日志中,而我一直在其他方面打转忽略了这个地方,就是允许的连接和被拒绝的连接在日志记录类型中的区别:防火墙和Web代理的区别。在浏览器中访问HTTPS网站理应也是Web代理,而这里却是防火墙模式。问题就在于ISA没有将https连接作为Web进行处理。

    其实解决方法也是极其简单,就是为浏览器手动配置代理服务器,并保证“安全HTTP”也使用此代理。以IE为例,Firefox类似。

    登录网银成功,再查一下日志:

    显示所有https连接被允许。注意对比第一张图的“日志记录类型”,前面是“防火墙”,后面是“Web 代理”,区别在这里。

     

    ISA Server采用三种代理模式:Web代理、S-NAT、防火墙客户端。第一种日志记录类型为“Web 代理”,后两种则为“防火墙”。如果我们想让其工作在S-NAT模式下,不配置浏览器的代理服务器,ISA Server会自动对http连接使用Web代理模式,并且会自动关联域名与域名对应的IP,这样只要建立域名集而不需建立IP集即可正常访问http网站,网站IP变了也不怕。而杯具的是,ISA Server并没有自动对https使用Web代理模式,导致域名与IP没有自动关联,就产生了使用域名被拒绝,使用IP被允许的情况。这时,只要为浏览器配置上代理服务器,让https也使用Web代理模式就可以。

     

    附:如果你自定义一个协议,并且目的是ISA服务器,那么协议的方向必须是“出站”。我要访问的是服务器,那方向理应是“入站”才对。如果你把“站”理解成ISA服务器那就错了,配置是在服务器上这么理解很正常。其实“站”应该指“客户端”,客户端的数据“出站”并到达ISA Server,再配合检查目标最终允许或拒绝。

  • 相关阅读:
    86. Partition List
    328. Odd Even Linked List
    19. Remove Nth Node From End of List(移除倒数第N的结点, 快慢指针)
    24. Swap Nodes in Pairs
    2. Add Two Numbers(2个链表相加)
    92. Reverse Linked List II(链表部分反转)
    109. Convert Sorted List to Binary Search Tree
    138. Copy List with Random Pointer
    为Unity的新版ugui的Prefab生成预览图
    ArcEngine生成矩形缓冲区
  • 原文地址:https://www.cnblogs.com/hiloves/p/2119315.html
Copyright © 2011-2022 走看看