SQL 服务器实例 Public 网站安全

SQL Server Instance Public Website Security

最好的做法是将 public 网站应用程序使用的数据库从那些具有 PII 信息和公司 IP 信息的数据库中分离到它们自己的数据库实例中吗?这个想法是出于安全原因。我有大约 30 个数据库要迁移到新环境,我发现这是最难做出的决定。有人有什么建议吗?

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

原因是如果一个数据库被攻破,其他数据库也不会被攻破。是的,您可以设置不同的用户只对他们自己的数据库具有权限,但是 defense in depth is recommended. If there are any 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 服务器中。无法保证将来不会发现此类漏洞。