AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 24171
Accepted
Mesh
Mesh
Asked: 2009-06-12 07:33:10 +0800 CST2009-06-12 07:33:10 +0800 CST 2009-06-12 07:33:10 +0800 CST

为 WSS Reporting Services 设置 Kerberos 身份验证所涉及的风险

  • 772

我们有一个基于 WSS 的已建立的 Intranet,具有两个前端和一个数据库。

目前所有的身份验证都是 NTLM。

我们已经在集成模式下安装了 Reporting Services。

只要安装了 RS 的 Web 前端处理事务,RS 就可以工作。

如果没有 RS 的前端处理请求,那么我们会收到 UNAUTHORIZED 错误。

在尝试解决此问题时,网络搜索等 - 暗示该问题是由需要执行“双跳”身份验证的场引起的 - 这不能通过 NTLM 发生。

所以我们需要配置 Intranet 场以接受 Kerberos 身份验证。

我找到了这个有用的指南,但它采取了我们从头开始农场的立场。

所以我们需要知道追溯配置 Kerberos 是否存在风险?在我们执行启用 Kerberos 的步骤期间和之后,NTLM 会像以前一样继续吗?

sharepoint ssrs kerberos ntlm wss
  • 3 3 个回答
  • 2303 Views

3 个回答

  • Voted
  1. Christopher_G_Lewis
    2009-06-13T06:42:29+08:002009-06-13T06:42:29+08:00

    我们通常会根据您的提议对 Kerberos 身份验证更改进行追溯 SharePoint NTLM。当我们建立我们的 SharePoint 网站时,DNS 更改需要几天时间才能传播,并且在服务帐户上设置我们的 SPN 通常也需要一些时间。

    所以在我们的 SPN 设置好之后,我们首先在 SP 应用程序池下运行的服务器上创建一个小型测试站点。我们打开 WIA 并在其中放置一个测试页:

    <%@ Page Language="C#" %>
    <script runat="server" language="C#">
      void Page_Load(object Sender,EventArgs E)
      {
        if (User.Identity.IsAuthenticated) {
          lblIdentity.Text = User.Identity.Name;
        } else {
          lblIdentity.Text = "Anonymous";
        }
        lblImpersonation.Text =
          System.Security.Principal.WindowsIdentity.GetCurrent().Name;
      }
    </script>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
      <HEAD>
        <TITLE>Test Application</TITLE>
      </HEAD>
      <BODY>
        <FORM id="frmForm1" method="post" runat="server">
          <HR width="100%" size="1">
          <P>
            <ASP:LABEL id="Label1" runat="server">Current Identity:
              </ASP:LABEL>&nbsp;
            <ASP:LABEL id="lblIdentity" runat="server">Label</ASP:LABEL>
          </P>
          <P>
            <ASP:LABEL id="LABEL3" runat="server">Impersonated Identity:
              </ASP:LABEL>&nbsp;
            <ASP:LABEL id="lblImpersonation" runat="server">Label</ASP:LABEL></P>
          <HR width="100%" size="1">
        </FORM>
      </BODY>
    </HTML>
    

    浏览到 Fiddler 处于活动状态的页面,并确定 Kerberos 是否工作(Fiddler 的身份验证选项卡会告诉您使用的是 NTLM 还是 Kerberos)。

    一旦您知道 Kerberos 适用于您的服务帐户/服务器/URL,请继续在 SharePoint 中进行更改。

    • 2
  2. Best Answer
    K. Brian Kelley
    2009-06-12T09:38:11+08:002009-06-12T09:38:11+08:00

    启用 Kerberos 委派以允许双跳存在一些风险。基本上,您允许 IIS 模拟用户,而无需用户再次实际输入任何凭据。在 Windows 2000 Active Directory 环境中,只有所谓的无约束委派。基本上,你不能限制委派的工作以及它可以很好地委派的地方(以及你想要的)。在这些情况下,Microsoft 强烈建议不要使用 Kerberos 委派。如果您使用的是 Windows 2003 或 2008 Active Directory,则可以并且应该使用约束委派。这使您可以更具体地了解委派。在这种情况下,风险会增加,但通常事实是您不这样做

    至于 NTLM 是否会继续,这取决于。如果可以建立 Kerberos 身份验证,则将使用它。这包括它返回错误的情况(并且您认为它不应该是),例如 SPN 错误等。如果无法使用 Kerberos 身份验证,它只会退回到 NTLM。话虽如此,Kerberos 是较新的安全协议,并且具有 NTLM 不包括的安全功能,包括时间戳(防止中继攻击)、客户端验证服务器身份的能力(NTLM 无法做到)以及票证的使用这应该会减少对 DC 进行身份验证的总体流量。

    • 1
  3. Mesh
    2009-06-18T01:16:05+08:002009-06-18T01:16:05+08:00

    感谢两位响应者——他们都给出了一些很好的建议。

    我想指出一些我们在为 Kerberos 配置我们的农场时发现的其他工具:

    DelegConfig V2(测试版!):

    • 作者:Brian Murphy-Booth如果没有这个从他的博客下载,我们就无法完成 您回答有关您想要的配置的问题,它提供了它将在哪里工作以及为什么会或不会工作 - 甚至有测试设施,如果在管理员帐户下运行可以为您进行必要的更改。

    元数据库浏览器

    • 许多文章会告诉您使用 adsutil.vbs 来设置每个站点的 NTAuthenticationProviders 值。我们发现使用 Metabase Explorer 更容易 - 特别是因为我们必须在默认站点下方的虚拟目录上设置值。它还揭示了元数据库中许多可怕的值!谨慎使用!IIS 6.0 资源工具包工具 的一部分
    • 0

相关问题

  • 重新安装 Project Server 2007 并使用现有数据库

  • 什么是好的 SharePoint 2007 防病毒解决方案?[关闭]

  • 如何使用 Windows 7 Search Federation 搜索共享点库?

  • Sharepoint 2007 的 Powershell 提供程序

  • Sharepoint 2007 备份解决方案?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve