为什么不同的用户使用不同的服务 – SQL Server 2008

我正在准备微软考试70-432 SQL Server 2008。 在我读的书中,强烈build议您为每个SQL服务使用单独的login。 但我无法理解使用单独的用户有什么好处?

请让我知道,如果有人有这个想法。

问候,fayalif

它提供了一个安全边界。 SQL引擎需要访问SQL代理不需要访问的东西。 您只应为其所需的项目授予权限。

这对于所有服务来说都是非常好的build议,而不仅仅是与SQL Server相关的服务。 对于您运行的任何服务(除了操作系统自带的那些服务之外),创build自定义用户帐户是非常好的build议。 只将服务需要的权限授予其用户帐户,不要使用同一用户帐户运行任何其他服务(除非绝对必要;精心devise的服务不应该要求跨服务使用相同的用户帐户)。

例如,攻击者发现服务X中的缓冲区溢出漏洞。如果他能够利用这个漏洞在X服务中运行任意代码,他现在可以控制运行X的用户帐户。 如果他知道Windows系统编程的任何内容,他将能够快速访问在同一帐户下运行的任何其他服务。 他将能够访问那些服务可以访问的任何networking资源,也许可以从那里攻击其他的机器。

使用同一帐户进行多项服务的另一个问题是它有收集特权的倾向。 这就像一个雪球:在用户帐户下运行的每个附加服务都需要一组不同的权限,因此您必须为该用户帐户添加越来越多的权限。 更不用说在同一时间你添加越来越多的攻击面(更多的服务),攻击者可以去追求。 你同时提供一个多汁的目标,同时削弱你的防御力。

HTH

安全。 如果您有两个不同的数据库,则可以分配不同的用户; 这样一来,如果一个服务被黑客攻击,那么这个服务就只限于自己的数据。 当您分配不同的用户时,假设您也正在configuration文件安全性。