是否可以通过IIS上的HTTP进行身份验证(不使用SSL)?

时间:2010-06-18 19:20:38

标签: http iis authentication encryption ssl

我习惯使用* nix服务器,如果我们想要一个完全安全的登录屏幕,我们(据我所知)将通过HTTPS使用SSL。我们的工作监督组织使用Windows服务器来提供网页服务。在一个这样的页面上,他们正在验证网络凭证。此页面使用HTTP,出现是SQL Server报表管理器的基本身份验证(弹出对话框)。

他们说IIS中已禁用Basic。

由于我在大学时对IIS的经验有限,我(想想我)回想一下子域名可以覆盖一般设置。他们认为它正在使用集成Windows身份验证。

因此...

  1. 在查看网页提示时,是否有办法区分基本身份验证和集成Windows身份验证,以及......

  2. 是否可以在身份验证期间加密计算机和服务器之间的通信,以便加密发送的文本(没有JS解决方案)?

2 个答案:

答案 0 :(得分:2)

Basic和Windows Integrated身份验证都通过网络发送未加密的凭据。如果弹出登录框中包含浏览器的名称,并且看起来像标准窗口,则它是Basic或Integrated。如果用于获取访问权限的用户名/密码与用户的域帐户相同,则为Windows Integrated。您可以通过使用Fiddler嗅探HTTP传输来确认。

在没有SSL的情况下,没有任何好的,实用的方法来加密这些凭证。 Here是关于为什么自定义安全方法不是一个好主意的好文章,而SSL是可行的方法。

答案 1 :(得分:2)

您还可以使用HTTP Digest authentication,它将加密HTTP标头中的身份验证(即使没有SSL)。这将显示一个类似于HTTP Basic身份验证的对话框。有几个缺点:

  • 大多数浏览器都使用相同的功能 基本和摘要的对话框 身份验证,以及用户,您 真的不知道它是哪一个 使用。
  • 仅加密身份验证, 一个中间人可以 拦截并改变交换 可以取代的内容 请求使用这些凭据。

由于这些原因,SSL更好(如前所述)。