SQL Server实例公共网站安全

时间:2015-05-09 00:10:04

标签: sql-server security web instances

将公共网站应用程序使用的数据库分离到自己的数据库实例(具有PII信息和公司IP信息的数据库)是否是最佳做法?这个想法是出于安全原因。我有大约30个数据库,我正在迁移到一个新环境,我发现这是最难做出的决定。有没有人有任何建议?

1 个答案:

答案 0 :(得分:1)

最佳做法是将这些数据库放在完全独立的服务器上,尽管如果网络接口被虚拟机管理程序分开,虚拟服务器可能是一个不错的选择(即,一个虚拟机无法使用其他虚拟机来嗅探其他虚拟机的流量同一张卡片。)

原因是如果一个数据库被破坏,其他数据库也不会被破坏。是的,您可以设置只有自己数据库权限的不同用户,但建议使用defense in depth。如果有misconfigurations in SQL server,则会增加额外保护。

值得吗?

您必须进行的风险计算是,任何违规行为是否会使公司付出的代价超过实施此项目的成本。

Single loss expectancy (SLE) = value of asset * exposure factor
Annualised loss expectancy (ALE) = SLE * annual rate of occurrence (ARO)

资产价值是设置数据库所涉及的一切,包括获取数据,向拥有者和用户提供数据,以及资产对竞争对手或攻击者的价值。

暴露因素是实现的威胁所具有的损失百分比。

ARO是每年威胁发生的次数(每年1次,每两年0.5次,每年2次)。

因此,如果您的ALE低于每年为每个数据库实施和维护一个具有单独数据库服务器的系统的成本,那么它就不是。但是,可以找到中间地带,您可以将数据分成几个服务器,直到数字堆叠起来。

不同的实例是同一实例的安全性提升。但是,允许攻击者获得对整个服务器的控制权的漏洞将意味着您的所有数据库都会立即受到攻击。 Such as this one,在早期版本的SQL Server中。无法保证将来不会发现此类漏洞。