• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ISA2004Web代理服务拒绝用户再次进行身份验证一

发布: 2007-6-21 12:06 | 作者:   | 来源:   | 查看: 14次 | 进入软件测试论坛讨论

领测软件测试网

   
  前言:可能很多人都遇到过这个问题,当配置ISA防火墙(ISA Server 2004)的Web代理使用集成身份验证时,如果当前登录的用户没能通过验证,那么ISA防火墙就会直接拒绝用户的访问,而不是和ISA Server 2000中一样弹出窗口要求用户输入账户信息进行身份验证,

这让许多ISA防火墙管理员在选择Web代理的身份验证方式时,不得不选择基本身份验证。不过,通过这篇文章,你可以学习到如何配置ISA防火墙来允许这一行为,从而让你使用更为安全的集成身份验证而不是基本身份验证。
  
  可能很多人都遇到过这个问题,当配置ISA防火墙(ISA Server 2004)的Web代理使用集成身份验证时,如果当前登录的用户没能通过验证,那么ISA防火墙就会直接拒绝用户的访问,而不是和ISA Server 2000中一样弹出窗口要求用户输入账户信息进行身份验证,这让许多ISA防火墙管理员在选择Web代理的身份验证方式时,不得不选择基本身份验证。
  
  其实从集成身份验证的原理来说,当用户没有通过身份验证时,是会弹出窗口要求用户输入账户信息进行身份验证的。但是在ISA Server 2004中从安全角度考虑,当用户提交的账户信息未能通过身份验证时,ISA Server 2004会返回代码为502的错误信息(ISA防火墙拒绝了对指定URL的访问)拒绝客户的访问,而不是返回另外一个代码为407(要求客户进行身份验证)的错误信息,所以浏览器就不会再次提示用户进行身份验证,而是显示用户的访问被拒绝。
  
  这个配置通过ISA防火墙中某个ISA防火墙网络所对应的Web代理服务侦听器(默认侦听8080端口)的ReturnDeniedIfAuthenticated属性来进行控制,它的值默认设置为FALSE;如果你将其设置为TRUE,那么当用户提交的身份验证信息未能通过身份验证时,ISA Server 2004会返回另外一个代码为407(要求客户进行身份验证)的错误信息,此时浏览器就会再次提示你进行身份验证。
  
  Tristank在他的Blog上提供了一个用于修改此属性的脚本,如下面所示,其中的Internal代表你想要修改的代理服务侦听器所对应的网络名,在此我们想要修改默认的内部网络。请根据你的需要修改此脚本文件中第一行的网络名,支持中文网络名,但是必须保存为ANSI文件格式。你可以点击此下载完整的脚本文件,使用之前请记得做好ISA防火墙当前配置的备份:
  
  ISA2004-neverdeny.vbs
  
  TheOnlyOneOfInterest = "Internal" 'we want to reset the internal.network listener
  
  setting = True 'True = Enabled, False = Disabled (default)
  
  found = 0
  
  set root = CreateObject("FPC.Root")
  
  set firewall = root.GetContainingArray
  
  set networks = firewall.NetworkConfiguration.Networks
  
  for each network in networks
  
  'Wscript.echo network.name
  
  if TheOnlyOneOfInterest = network.name then
  
  found = found + 1
  
  Wscript.echo "Found network: " + network.name
  
  network.WebListenerProperties.ReturnAuthRequiredIfAuthUserDenied = setting
  
  ' this is pure bumf- feel free tocomment it out if you don't want to be prompted
  
  ' the Wscript.stdin.readline line requires the latest version of the VBScript/WSH components
  
  ' Wscript.echo "Property Set - press Enter to Save the change."
  
  ' Wscript.stdin.readline
  
  Wscript.echo "Please wait..."
  
  ' Commit the configuration change
  
  network.WebListenerProperties.Save
  
  end if
  
  next
  
  if found = 0 then
  
  Wscript.echo "Target network was not found."
  
  else
  
  Wscript.echo "Done."
  
  end if
  
  执行方式为运行
  
  Cscript ISA2004-neverdeny.vbs

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网