使用 IIS 7 摘要式身份验证密码保护目录

Posted

技术标签:

【中文标题】使用 IIS 7 摘要式身份验证密码保护目录【英文标题】:Password Protect a directory using IIS 7 Digest Authentication 【发布时间】:2009-07-10 04:03:01 【问题描述】:

这可能只是我对题目的误解,但我希望能找到一个简单的答案。

我运行一个网络服务器供我自己使用,其中有很多原因只是为了让我有一个域名来引用我家的网络。

由于获得了 MS 慈善许可证,我刚刚部署了 Sever 2008 Enterprise。它比我以前在 XP 上设置的 IIS 5 好得多。

我仍在玩弄 AD 组和用户,但现在我只想用密码保护这个框的 Web 端的几个文件夹。

假设我去 domain.com,没问题。我想要那里的公共访问,它工作得很好。但是如果我访问 domain.com/private,我希望它提供一个用户/密码框。我之前通过使用一个名为 IISPassword 的廉价程序来实现这一点,该程序使用 .htaccess/.htpasswd 文件。

在阅读 IIS7 的功能时,我开始对摘要式身份验证感兴趣。知道基本身份验证会以明文形式传输密码,我认为这将是一个更好的选择。

我已在 /private 文件夹上设置权限以禁用所有其他方法(anon、basic),并且仅在 IIS MMC 中启用 Digest。我没有修改 NTFS 级别的文件夹权限(只是域组,IUSR 没有条目)。查看页面时我得到的所有响应都是错误 500。

我承认我还是这个级别的管理新手,并且非常感谢我能获得的任何帮助来启用这个级别的保护。我可以使用 AD 身份验证,但我认为我仍然停留在“为什么我得到 500 而不是凭据提示”

谢谢! 乔恩

【问题讨论】:

我现在也尝试启用基本和 Windows 身份验证...它们都不会显示身份验证框。当 anon 关闭时,它们都显示错误 500。当 anon 打开时,无论启用哪种安全方法,它都只是简单地允许访问而无需提示。我正在通过笔记本电脑中的蜂窝访问卡从网络外测试此功能。 【参考方案1】:

我没有 100% 的答案,但我 asked this same question。听起来它已在 INTEGRATED 模式下从 IIS7 中删除。

请阅读该帖子中的答案。它可能会帮助你:)

【讨论】:

这又是我的无知:我知道一些 html ......真的不多。我的网站非常基础。我对 ASP / ASP.NET 一无所知。我不知道这个 web.config 文件在哪里。我是否必须安装 ASP.NET 功能并学习语言才能做到这一点? 感谢您的回复 - 我正在查看有关集成模式的详细信息。 不。您无需了解 ASP.NET 编程语言。都是软件配置。我还建议您在 www.ServerFault.com(此站点的姊妹站点,关于 IT 应用程序,如 IIS、Windows 等)上提问。【参考方案2】:

感谢您的意见!

当我迁移所有内容时,我也迁移了错误页面。在通过 localhost 进行测试后,我发现它不允许使用绝对路径……长话短说,我改变了它搜索 404 和 401 错误页面的方式,现在它在我身上没有 500。问题仍然是它不会提示输入密码,除非我从 localhost 在机器上测试它。任何其他机器都会立即抛出 401.htm 页面。

【讨论】:

【参考方案3】:

嗯,你可能会得到很多这样的东西,因为任何必须实施一种或另一种安全访问的人都会遭受足够多的攻击,以至于实施任何真正的加密货币至少是困难的,并且需要大量的工作。 (不是你不是)

我会冒险猜测,如果您是 MS 慈善许可证,这在某种程度上取决于您必须保护哪些有价值的财产 - 传输强消息摘要的结果与传输相同'pw' 是明确的,Message Digest 的用途是你将 Message Digest 存储在服务器端的某个地方,这样如果 Hairy Gorilla,Muck Monster 发送邪恶的双胞胎在你的系统中漫步,密码不能从消息摘要中恢复。

即使整个磁盘丢失,根据几个地方的标准备考故障场景(而不是引起注意,让我告诉你这是噩梦场景),那么 Big Time Finance 不会出现欺诈检测器World Corp,.... 可能会有一些零星的事件,但没有一波又一波的事件。

将资金存入银行,阅读 2002 年萨班斯-奥克斯利法案,使用小商店安全模式,不要试图与 Twisted Sister 打交道,将其留给其他人。基本身份验证以明文形式发送,而不是您应该担心的数据包嗅探器 - 如果是最近在 Heartland 的中断,则说明只有硬件加密/解密在距离爱丽丝梦游仙境不远的敌对用户区有任何用途。

现在最看重的东西,我一上来就给我们打了,今天你拿奖了。

阅读毛文博的序言。

消息编辑:你能说出 7c6a180b36896a0a8c02787eeafb0e4c 来自哪里吗? Twisted Twin (!)

也不能

消息编辑:

RFC 2617 - HTTP 身份验证:基本和摘要式访问身份验证

RFC 3540 - 使用 Nonce 的稳健显式拥塞通知 (ECN) 信令

RFC 4418 - UMAC:使用通用散列的消息身份验证代码

无论你做什么,使用已建立的工具。

【讨论】:

以上是关于使用 IIS 7 摘要式身份验证密码保护目录的主要内容,如果未能解决你的问题,请参考以下文章

服务器首先是如何获得密码的?预(摘要式身份验证)注册

从 silverlight 和针对使用 IIS 6 的自定义存储的摘要式身份验证

通过 IIS 在 ASP Classic 中进行 HTTP 身份验证(基本或摘要)[关闭]

MVC 5 IIS 7.5 双跳问题(避免硬编码 SQL 密码)

ROBOTFRAMEWORK 的摘要式身份验证

密码保护 IIS 7.5 中的 ASP.NET Web 应用程序