我们build立了基于WSS的两个前端和一个数据库。
目前所有的身份validation都是NTLM。
我们在集成模式下安装了Reporting Services。
只要安装有RS的Web前端处理事务,RS就会工作。
如果没有RS的前端处理请求,那么我们会得到一个UNAUTHORIZED错误。
在试图解决这个问题,networkingsearch等 – 已经暗示了农场需要执行“双跳”authentication的问题 – 这不可能通过NTLM发生。
所以我们需要configurationIntranet服务器场来接受Kerberosauthentication。
我find了这个有用的指南但是,我们从头开始农场的立场。
所以我们需要知道在追溯configurationKerberos中是否存在风险? NTLM会不会像以前一样继续执行启用Kerberos的步骤?
启用Kerberos委派以允许双跳是有风险的。 基本上,您允许IIS模拟用户,而用户不需要再次input任何凭据。 在Windows 2000 Active Directory环境中,只有所谓的无约束委派。 基本上,你不能限制代表团的做法,也不能限制委派的地点(以及你想要的)。 在这种情况下,Microsoft强烈build议不要使用Kerberos委派。 如果您在Windows 2003或2008 Active Directory上,则可以并且应该使用受约束的委派。 这可以让你更具体地与代表团。 在这种情况下,风险会增加,但通常情况下,您没有用户重新input凭据或使用服务帐户或SQL Serverlogin名称是值得的风险增加。
至于NTLM是否会继续下去,这取决于。 如果Kerberos身份validation可以build立,它将被使用。 这包括在它返回一个错误(你不认为应该是这样)的情况下,比如SPNs是否错误等。如果不能使用Kerberosauthentication,它将只返回到NTLM。 这就是说,Kerberos是最新的安全协议,并具有NTLM不包括时间戳(防止中继攻击),客户端validation服务器身份(NTLM不能执行)的能力以及使用票证这应该可以减less整体stream量来进行authentication。
我们通常会按照您的build议,将追溯的SharePoint NTLM更改为Kerberos身份validation更改。 当我们build立我们的SharePoint网站时,需要花几天时间才能传播DNS更改,而在服务帐户上设置我们的SPN通常也需要一些时间。
所以在我们的SPN被设置之后,我们首先在运行SP应用程序池的服务器上创build一个小的testing站点。 我们打开WIA,并在其中放入一个testing页面:
<%@ 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> <ASP:LABEL id="lblIdentity" runat="server">Label</ASP:LABEL> </P> <P> <ASP:LABEL id="LABEL3" runat="server">Impersonated Identity: </ASP:LABEL> <ASP:LABEL id="lblImpersonation" runat="server">Label</ASP:LABEL></P> <HR width="100%" size="1"> </FORM> </BODY> </HTML>
浏览到Fiddler处于活动状态的页面,并确定Kerberos是否正常工作(Fiddler的身份validation选项卡会告诉您是否使用NTLM或Kerberos)。
一旦知道Kerberos适用于您的服务帐户/服务器/ URL,请继续在SharePoint中进行更改。
感谢两位响应者 – 都给出了一些很好的build议。
我想指出一些我们在路上发现的其他工具,同时configuration我们的Kerberos场: