为什么禁止链接服务器?

时间:2009-06-10 14:22:46

标签: sql-server sql-server-2005

我在公司环境中工作,绝对禁止创建链接服务器。我问过DBA的原因,我得到的唯一答案就是“这就是政策”。因此,我发现自己必须编写并利用SSIS包在需要时在数据库之间移动数据。

有谁能告诉我这个政策的制定可能背后的原因是什么?对我来说似乎没有道理。

5 个答案:

答案 0 :(得分:7)

该理论认为,如果一台服务器遭到入侵,任何链接服务器也会自动受到攻击。

就我个人而言,我认为这意味着您应该在创建非常强大或受信任的链接之前三思而后行。您可以选择用于每个链接连接的帐户,并限制这些帐户的访问权限,以创建仅允许访问某些内容的较小的,定义明确的链接。

例如,我所在的地方有多个客户端,所有客户端都在一台服务器上具有相同模式的单独数据库,另一台服务器用于执行大量报告工作,另一台服务器用于保存带有客户端详细信息的公共数据库。我们有一个从报告数据库到详细数据库的特殊链接,它允许将只读信息提取到报告中,以便将其定制到特定客户端,但没有别的。

答案 1 :(得分:3)

如果一个攻击者掌握了一个数据库,他必须更加努力地拥有整个系统。

答案 2 :(得分:2)

简单。有人认为它属于“太难”的篮子。还有安全性(通过另一个服务器通过后门访问一个服务器)和稳定性(服务器A关闭并带有服务器B)。

你可能没有理由认为你需要一个链接服务器足够值得麻烦的理由。购买速度更快的服务器通常会更便宜。

您可以随时询问政策写下的位置。可能性根本没有正式的政策。

答案 3 :(得分:2)

这是其他答案中更可能解释的替代方案。该政策可能是Service Oriented Architecture学派的孤独幸存者。其中说明:

  

面向服务的目标是松散的   服务耦合

链接服务器是低级别且强耦合的,因此architecture astronaut可能禁止链接服务器。

“修复”此政策的一种方法是让您的企业客户相信您有一个良好,可靠的解决方案;但它绝对需要链接服务器。业务人员将与DBA交谈,并且DBA很有可能同意对链接服务器进行试用。为此,请与DBA联系,最强烈反对链接服务器。 DBA可能会让开发人员陷入困境,但他们往往会迅速屈服于业务。

审判将是政策的终结。链接的服务器可以工作,SOA则不然。

P.S。在荷兰我们很幸运:SOA意味着荷兰语中的性传播疾病,所以SOA silver bullet幻想有点飞过: - )

答案 4 :(得分:1)

这通常是登录映射的问题。

如果您映射:

  • “远程特定的本地人”,任何人都可以使用链接服务器

  • “特定于本地远程特定”,然后本地需要sys.server_principals中当前用户的条目,这意味着您不能限制为NT组:您必须单独列出用户(这也是可能不在政策中)

  • “use self”(这是“特定本地到远程特定”的变体),然后我的可信“domain \ bob”登录令牌用于远程登录。这需要为本地服务器配置委派以及在AD中设置SPN。

此外:

  • 我见过远程登录具有“syadmin”权限的实例,因为它不是由DBA管理的,或者是由另一个组管理的。这意味着通常会破坏所有SQL服务器。

您可以使用OPENDATASOURCE,但这需要启用adhoc访问权限。可以允许这样做而不是静态链接服务器。

使用正确,它们没问题,但它们在映射登录时有局限性。所以,更容易说不。

我们在这里使用它们,FWIW。