服务帐户
管理员在部署 SharePoint 2007 时犯的最大的安全错误之一是他们没有正确配置服务帐户。如果您曾经安装过 SharePoint 2007,您肯定知道,在部署和配置过程中会多次要求您提供服务帐户。
管理员经常会创建一个单独的服务帐户,然后在整个 SharePoint 安装过程中使用该帐户。尽管所获得的 SharePoint 服务器能够正常使用,但是此方法从安全角度来看是有风险的。
问题在于:只要您向 SharePoint 提供服务帐户,都会向该帐户授予执行当前任务的权限。SharePoint 仅仅向帐户提供执行其工作所需的权限,而不会提供更多权限。但是如果您在整个部署过程中多次使用同一个服务帐户,最终该帐户就会拥有过多的权限,因为在您每次使用时,它都会获得更多权限。以后就可能会有人利用这些过多的权限在 SharePoint 服务器上运行代码,进而控制服务器。
对于如何规划 SharePoint 所使用的帐户结构,存在大量相互矛盾的信息,甚至很难确认哪些是推荐的非常好的做法。毫无疑问,如果您执行基本的 SharePoint 部署,建议最少使用五个单独的帐户。
此外,还建议您单独创建一个特殊的用户帐户,专门用于安装 SharePoint 和 SQL Server。管理员的常见做法是在部署 SharePoint 时,使用自己的个人帐户或域管理员帐户进行登录。从安全角度来看,使用现有帐户可能是一个错误,因为该帐户将被授予更多权限,以便完成安装过程。
如果您决定使用专用的安装帐户,则必须使该帐户成为每台 SharePoint 服务器上的本地管理员组的成员。您还必须使该帐户成为 SQL Server 登录组的成员,从而使该帐户能够登录您的 SQL Server 实例。
最后,您需要向该帐户授予 SQL Server 上的“SQL Server 数据库创建者”和“SQL Server 安全管理员”角色。这些角色使得该帐户有权创建和修改数据库以及管理 SQL Server 的安全性。这些特殊权限是建议使用专用的用户帐户的根源。
除了创建专用于 SharePoint 安装过程的帐户以外,您还必须创建其他一些服务帐户:
数据库访问帐户。这是 SharePoint 用来与 SQL Server 数据库通信的帐户。
SharePoint 搜索服务帐户。SharePoint 搜索服务将使用此帐户把内容索引文件写入索引服务器,以及把索引信息复制到服务器场中存在的任何查询服务器。
内容访问帐户。此帐户用于在特定的共享服务提供程序内遍访内容。在有些情况下,您可能需要创建多个内容访问帐户,以便分别遍访多个内容源。
应用程序池服务帐户。此帐户由 IIS 内的工作进程使用。池内的 Web 应用程序必须能够访问 SharePoint 内容数据库,并且“应用程序池标识”帐户也利用了此进程。
SQL Server 服务帐户。SQL Server 也需要一个服务帐户,您应该为此目的使用一个专用的帐户。
更加高级的 SharePoint 部署可能需要使用更多服务帐户。本文末尾的“相关内容”部分中有一个链接指向一篇 TechNet 文章,该文章提供了您可能需要的其他服务帐户的相关详细信息。
命名约定
到现在为止,您可以看到,在开始部署 SharePoint 之前就需要创建大量帐户。确保顺利完成部署的一项技巧是在您创建服务帐户之前先确定它们的命名约定。
您可以使用不同的方法来建立服务帐户命名约定,但是应该遵循一些基本的规则。建议尽可能使用描述性的名称,并花时间记录所选的名称及其目标用途。例如,您可以将 SharePoint 搜索帐户命名为类似 SPT_Search 的形式。
不拼写出 SharePoint,是由于存在一些旧的限制。Windows 允许用户名的总长度超过 100 个字符,但是每个用户名的长度不能超过 16 个字符。长用户名偶尔会由于旧的硬件或软件而导致意外的问题。尽管这种情况很少见,但确实存在,因此最好坚持使用短用户名。
请注意,尽管我建议使用描述性的服务帐户名称,而且这种名称确实会使管理员的工作更加轻松,但是这么做并非总是能提供非常好的安全性。服务帐户是黑客中意的目标,因为它们比普通用户帐户拥有更高的权限。它们经常使用静态的、一成不变的密码。对于这种情况,您可能需要考虑隐藏您的服务帐户。如果您这么做,务必记录服务帐户的名称和功能。
加密流量
在规划 SharePoint 部署时,管理员花费大量时间来设计服务器的体系结构。有时候会忽略的一个要素是公钥基础结构 (PKI)。您需要在部署 SharePoint 之前准备好 PKI,这样才能正确加密 SharePoint 流量。SharePoint 服务器与最终用户之间的 HTTP 流量必须进行 SSL 加密(使用 HTTPS)。
同样,SharePoint 服务器之间的流量也应该使用 IPSec 进行加密。这两种加密均依赖于证书和基础 PKI 结构。
这些非常好的安全做法并不全面。但是,要尽可能保护 SharePoint 安装的安全,它们是一个好的开头。