IIS 经典问答[zz from technet]

在ms technet上看到的一些关于iis的QA.贴一些我认为对大家有帮助的在这里看看.
如果大家感兴趣的话可以到这里阅览到更多:
http://www.microsoft.com/china/technet/community/columns/insider/default.mspx

[Edited by:NeoMagic on 2004-11-13 上午10:46]

 

----------------------------------------------------
Leave a message
 
 
 
帖子操作: 

NeoMagic

 

发表文章数:1,920
来自:Xanadu
注册日期:二月, 2004
积分:11

 
 重命名 Inetpub 和 wwwroot 目录是最佳操作吗? 发布日期:2004-11-13 上午10:39 
  回复主题 回复回帖 
 

问:
我们正在更新网络环境中 IIS 5.0 服务器的安全性。有人建议我们重命名 Inetpub 和 wwwroot 目录。我们没有看出这样做有什么好处,您能说说对此的看法吗?
答:
为了确保服务器的安全性,服务器不使用标准目录名称是一个很好的做法。对于 IIS,攻击者不必知道 IIS 服务器基本的文件结构。例如,如果将 Web 站点根目录映射到 d:/websites/mywebsite,并在有人访问服务器时传送 default.asp 页面,那么客户端就无从知道这个默认文件位于 d:/websites/mywebsite 文件夹中。如果攻击者能够获得该服务器的写权限,那么他们可能会将自己的可执行程序写入服务器上,但是这要求攻击者对这个正在利用的用户环境中要写入程序的位置具有可执行权限。IIS 5 的默认配置中,有多个位置授予了 Everyone“完全控制”权限,例如 /inetpub/scripts 文件夹。当然,应该删除或修改这些文件夹,IIS Lockdown 工具 (英文) 可以完成这个任务。
将 Web 服务器中这些文件的位置更改为非系统驱动器之外的地方是非常重要的,因为 Inetpub 默认情况下添加在系统驱动器中。这可以防止攻击者利用潜在的 canonicalization 攻击(即利用 ../.. 欺骗 IIS,从而遍历目录)。为了更好地防范这种情况,您可以更改安装程序提供的默认文件夹名。不使用那些众所周知的路径可以加大攻击者蓄意破坏的难度。由于这个操作非常简单(至少在您首次安装服务器时非常简单),又能提高安全性,因此可以说是最佳操作,只要可行,就应该这样做。

[Edited by:NeoMagic on 2004-11-13 上午10:41]

 

----------------------------------------------------
Leave a message
 
 
 
帖子操作: 
NeoMagic

 

发表文章数:1,920
来自:Xanadu
注册日期:二月, 2004
积分:11

 
 如何在 IIS Server 6 上强制实施 NTLM 身份验证? 发布日期:2004-11-13 上午10:40 
  回复主题 回复回帖 
 

问:
我们有一台 IIS 6 服务器,但却无法使用集成 Windows 身份验证。我认为这是由于 Windows Server 2003 使用了 Kerberos v5。因为防火墙内的客户端总是可以顺利地向 Windows 2000 Server 上的 IIS5 进行集成 Windows 身份验证,有没有办法强制 Windows Server 2003/IIS6 使用与 Windows 2000 Server 同样的身份验证方法(NTLM?),使防火墙内的客户端能够进行身份验证?
答:
集成 Windows 身份验证在 IIS 6 和 IIS 5 上的运行方式相同,所以,我怀疑上述问题与 NTLM 和 Kerberos 无关。然而,在将它当作一个问题来进行故障排除时,您可能需要解决这一基本问题。现在,让我们先处理这个综合问题中的 Kerberos 部分。
仅在所有下列条件都成立时,IIS 才会尝试使用 Kerberos 进行身份验证:1. 已启用集成 Windows 身份验证;2. IIS 是一个 Active Directory 域的成员;3. 已通过 Kerberos 将 Web 站点注册为一个服务主体名称 (SPN);4. 客户端是一个受信任域的成员;5. 客户端使用支持 Kerberos 的浏览器/操作系统。
出现 Kerberos 故障的最常见原因之一是,Web 站点不是一个注册的 SPN。如果 URL 中使用的 Web 站点名称不是计算机的 NetBIOS 名称,那么就属于这种情况。在这种情况下,您需要使用 Setspn.exe 工具,通过 Kerberos 将 Web 站点名称注册为一个服务主体名称。您可以将 Web 站点配置为响应计算机的 NetBIOS 名称来测试注册结果。在运行 Active Directory 的 Intranet 中,您可以将 Web 站点设置为响应所有未分配的 IP 地址,或响应在 Ping 服务器名称时返回的 IP 地址,即可进行此测试。如果身份验证成功,说明您已经解决了 Kerberos 的问题。
此外,还要注意其他一些事项,详细信息见“集成 Windows 身份验证”下的 IIS 资源指南部分。
或者,您也可以将 IIS 配置为跳过 Kerberos 协商,而直接进行 NTLM 身份验证。为此,您需要将元数据库注册表项“NtAuthenticationProviders”设置为“NTLM”。在 IIS 5、5.1 和 6.0 中,可以在站点级别设置此项。请注意,您必须记录此修改,这一点很重要。否则,将来某一天您想重新启用 Kerberos 时,您将无法如愿以偿,并且在用户界面中找不到任何能够解释 Kerberos 为什么在这种情况下无法运行的信息。
如果在设置此项后(因而禁用了 Kerberos),身份验证便能够使用,这说明您的猜测是正确的,Kerberos 确实存在某种问题。如果身份验证仍然无法进行,请确保在下面显示的“本地安全策略”中对客户端和服务器进行了类似的 NTLM 设置:


[Edited by:NeoMagic on 2004-11-13 上午10:41]

 

----------------------------------------------------
Leave a message
 
 
 
帖子操作: 
NeoMagic

 

发表文章数:1,920
来自:Xanadu
注册日期:二月, 2004
积分:11

 
 基本身份验证与集成的 Windows 身份验证 发布日期:2004-11-13 上午10:40 
  回复主题 回复回帖 
 

问:
我有一个企业内部网站,我希望所有通过验证的用户可以访问另一台服务器上的一个目录。我已经将远程服务器的内容映射到 Web 服务器的驱动器上,并且为了测试,为 Everyone 组授予了对这个共享资源的完全控制 NTFS 权限然后我们的应用程序通过引用驱动器盘符来访问内容。
当我们为这个目录配置集成的 Windows 身份验证时,所有用户都无法访问远程位置,但是如果我们使用基本身份验证,并指定域,用户则可以访问远程内容。我的问题是,集成的 Windows 身份验证为什么会无法记住用户访问远程服务器的凭证,而基本身份验证则可以?
答:
尽管这看起来像是因为集成的 Windows 身份验证无法记住凭证而引起的问题,但事实并非如此。在确保任何站点或服务器的安全时,问题的关键在于在功能与安全性之间进行权衡。基本身份验证使用本地登录类型,也称为“交互式”登录。这种凭证类型可以委派给其他服务器。因此,可以使用通过基本身份验证获得的凭证成功地访问远程系统。访问 SQL 服务器也是如此。您可以使用基本身份验证来验证客户端,并将凭证转发给配置为使用 SQL 身份验证的 SQL 服务器。但是,当您使用集成的 Windows 身份验证来验证 IIS 服务器时,将会使用“网络”登录类型。这种登录类型的安全性远远高于基本身份验证,但是除非在企业内部网中使用 Kerberos,否则凭证无法转发至其他服务器。一旦使用了 Kerberos(且正确配置后),用户凭证就可以在整个目录林中委派(请参见 Microsoft 知识库文章 326089)。
为了方便且可靠地访问远程内容,且无需考虑身份验证类型,在配置虚拟目录来访问远程内容时,将会提示您提供对 IIS 服务器和远程服务器均有效的用户名和密码。当您访问虚拟目录时,请求将会传递至指定用户,不管该用户使用何种验证方式,都可以访问远程内容。
除非您可以使用 Kerberos,否则我建议您修改应用程序,改为使用标准的虚拟目录,而不是映射的驱动器。这样可以可靠地访问远程内容。另外,不建议使用映射的驱动器,这是因为映射驱动器包含在创建映射的用户的配置文件中。如果其他用户登录这台 IIS 服务器,映射驱动器将不存在,它们和您的应用程序之间不再存在关联关系。


[Edited by:NeoMagic on 2004-11-13 上午10:42]

 

----------------------------------------------------
Leave a message
 
 
 
帖子操作: 
NeoMagic

 

发表文章数:1,920
来自:Xanadu
注册日期:二月, 2004
积分:11

 
 Windows 2000 Professional 中 IIS 5.1 的连接数限制为 10 个吗? 发布日期:2004-11-13 上午10:43 
  回复主题 回复回帖 
 

问:
我听说 Windows 2000 Pro 上 IIS 5.1 的连接数被限制为 10 个。这使得它不太适合我们的应用场合,我在想是否可以通过注册表设置或其他变通方法来提高操作系统的连接数。
答:
我收到的问题当中,这是提问频率最高的问题之一,由于许多人有合理的要求,需要支持 10 个以上的连接,以开发和测试支持多个并发访问的系统。然而,有些人希望能将 Windows 2000 Professional 用作服务器平台,但是它的设计初衷并不是如此,或是不允许这样。我知道在新闻组以及其他地方,有许多人在讨论各种允许连接数超过 10 的设置,但是我们没有对任何一种设置进行过测试,理由很简单,我相信如果您需要服务器服务,那么表明您需要服务器操作系统。
常有人错误地认为,连接数为 10 就是用户数为 10。通常一个 Web 客户端可以创建多个至 Web 服务器的连接,因此您的客户端 IIS 服务器可能无法同时支持 10 位用户。所以,安装了 IIS 5 的 Windows 2000 Professional 中存在一个鲜为人知的特殊情况,使得您可以将 Web 站点设置为可以接受多达 40 位用户。您只需将允许连接数设置为一个小于 40 的值,并使用 viola 浏览器,那么您就可以接受高达 40 个并发 HTTP 连接。这个特例只适用于 HTTP,因此您仍然无法通过文件和打印机共享接受 10 个以上的连接。

 


----------------------------------------------------
Leave a message
 
 
 
帖子操作: 
NeoMagic

 

发表文章数:1,920
来自:Xanadu
注册日期:二月, 2004
积分:11

 
 是什么导致 IUSR 密码过期? 发布日期:2004-11-13 上午10:43 
  回复主题 回复回帖 
 

问:
我在 IIS 5 服务器上遇到一个问题,我无法对这些服务器进行匿名访问。事件日志中指出 IUSR 密码已经过期。是什么导致 IUSR 密码过期?难道是因为默认情况下它被配置为在一定时间后过期?
答:
默认情况下,匿名用户帐户的属性配置为“密码永不过期"和“用户不能更改密码"。单机服务器和域控制器都是如此。因此,除非对该帐户的某些设置进行了更改,否则密码不会过期。如果通过安全策略对该服务器强制实施了密码过期设置,那么有可能会发生这种情况。这很可能是管理员因为没有意识到这样设计的特殊目的,而创建了新的匿名用户帐户,或是对该帐户设置了有效期。(曾经有安全管理员告诉过我,IIS 不需要 IWAM 帐户,可以将它删除。)另外也可能是由于运行了强制实施密码策略的安全脚本,这导致重新设置包括匿名用户在内的所有用户的帐户策略。为了确定是什么操作导致这些被更改,您可能需要启用对帐户管理和策略更改的审核。

 


----------------------------------------------------
Leave a message
 
 
 
帖子操作: 
NeoMagic

 

发表文章数:1,920
来自:Xanadu
注册日期:二月, 2004
积分:11

 
 如果 IIS 服务器被成功地攻击了,应该采取哪些措施? 发布日期:2004-11-13 上午10:44 
  回复主题 回复回帖 
 

问:
我最近发现,我的 IIS 被人成功地攻击了。我在周日下午设置了系统审核,发现曾有人在周一凌晨一点成功地登录了我的计算机。我发现黑客对我系统上的某些用户进行了一些修改。
Guest 登录被激活了。Guest 和 IUSR 帐户被添加到了 Administrators 组中,而且还对用户权限做了一些其他修改,启用了远程注册表服务。我修复了所有这些问题,并且在服务器上设置了审核,至今没有发现可疑行为。黑客仍可能获取访问这个系统的特权吗?
答:
很遗憾地得知您遭此不幸,但是我认为,您以及任何曾遭受过这种程度攻击的人最好重新格式化驱动器,然后重新进行所有设置。您所采取的修复策略存在两大问题。
首先,您假定您已经找出了攻击者对您的系统所做的所有修改(但这几乎是不可能的,除非您已经对记录所有文件以及网络活动的日志进行了地毯式搜查)。攻击者可能会在您的系统上安装特洛伊木马病毒,键盘记录器,或是管理控制台,而您根本没有注意到这些。最近的有些攻击程序中包含了内核模式驱动程序,它们看起来属于操作系统的一部分(即使是训练有素的人也很难发现这一点)。
其次,即使您已经修复好一切,攻击者也可能已经获取了权限信息,例如用户名和密码。他们可能在文件结构中创建了一个授予他们完全控制权限的位置,而且这个位置可能隐藏得很深,他们可以用他们创建的名称或是破译的密码登录系统。
您应该立即检查任何其他连接至该 IIS 服务器的计算机。域控制器以及其他与此 IIS 服务器通信的服务器(例如 SQL、Exchange 和 IIS 等服务器)都是首要检查目标。如果攻击者拥有了这台 IIS 服务器的特权,那么他们可能会开始深入破坏整个网络。
很显然,这些措施所耗费的时间和费用都是很大的。为此,我敦促公司和管理员积累必要的技能和技术,来尽可能降低成功攻击的可能性。另外,应该对系统进行监控,一旦出现问题尽快通知管理员。
一种快速地实施高度安全性的方法是使用 Microsoft 的 Internet Security and Acceleration(ISA)服务器,并将 Web 服务器“发布"到 ISA 服务器。如此配置之后,ISA 服务器就可以充当防火墙,防止 IIS 服务器遭受攻击,同时为客户端提供必要的内容。这样,攻击者就没有直接访问 IIS 服务器的权限。要了解详细信息,请参考 Internet Server and Acceleration 服务器产品指南,网址为:http://www.microsoft.com/isaserver/evaluation/productguide.asp
当然,即使安装了 ISA 服务器或是其他坚固的防火墙服务器,仍需要采取必要措施有效地保证 Web 服务器的安全

 


----------------------------------------------------
Leave a message
 
 
 
帖子操作: 
NeoMagic

 

发表文章数:1,920
来自:Xanadu
注册日期:二月, 2004
积分:11

 
 什么是 Web 园? 发布日期:2004-11-13 上午10:45 
  回复主题 回复回帖 
 

问:
IIS 6.0 具有一个名为 Web 园的新功能,有了它,可以将应用程序池配置为使用多个工作进程。IIS 何时创建额外的工作进程?在我们实施 Web 园之前,我们应该了解哪些知识?
答:
在您创建应用程序池时,就会通知 IIS 6 创建一个工作进程,以传送指派给该应用程序池的 Web 站点、文件和文件夹的内容。您可以将应用程序池配置为启动多个,而非一个工作进程,这样可以提高可扩展性。这个功能的名为 Web 园,是小型的“Web 农场”。您无需使用多台计算机来传送相同的内容(Web 农场),而是可以使用一台计算机中的多个进程来传送相同的内容。
在将 IIS 6 应用程序配置为 Web 园时,您只需在“应用程序池属性”的“性能”选项卡的“最大工作进程数”框中,设置一个大于 1 的工作进程数。如果这个值大于 1,每个请求都将启动一个新的工作进程实例,可启动的最多进程数为您所指定的最大工作进程数。后续的请求将以循环的方式发送至工作进程。
Web 园在您的应用程序资源有限的情况下非常有用。例如,如果您到数据库的连接很慢,那么您可以使用多个工作进程来增加用户吞吐量,从而增加到数据库的连接数。
尽管在有些情况下使用 Web 园的用处非常大,但是要注意,每个工作进程的会话信息都是唯一的。由于请求以循环的方式路由到应用程序池工作进程,因此 Web 园对于会话信息存储在进程中的应用程序作用可能不大。
在少数情况下,让多个工作进程运行同一个应用程序会造成资源竞争。例如,如果所有工作进程都试图将信息记录到日志文件中,或是使用那些不是专用于多个并发访问的资源,那么可能出现资源竞争问题。
如果不存在这些问题,那么 Web 园可能正是您所需的功能之一,而且其作用会非常大。
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值