我们有一个由SQL Azure托pipe的数据库,并通过REST服务进行访问,该服务本身只能通过https访问。 我们想知道是否要encryption全部或部分数据库,以防黑客访问(我们不是主要目标,但学生会知道系统)。 Azure数据库设置了防火墙规则,只允许less数系统访问。
将encryption添加任何有意义的东西? 这只是安全剧场吗? 无论是数据库encryption最佳实践。
您的REST API将成为这里的薄弱环节,特别是如果您locking了SQL Azure防火墙(甚至可以将其locking到只有Windows Azure Compute实例可以访问它)。
SQL Azure没有内置的encryption机制,因此您需要在数据访问层(或直接在REST API实现方法中)执行此步骤。 解密也一样。 所以… @Bart指出:如果有人违反了REST API的安全性,他们将有权访问未encryption的数据(与在违规期间使用的凭证相关)。
关于通用数据库encryption实践:如果您在云中进行encryption/解密,那么在某些时候,静态数据是未encryption的(这在考虑PII时非常重要)。
如果有一个接口来获取数据,并且有人设法违反了这个接口(不pipeinput是否被检查过,或者其他方法),encryption将不会有帮助。 你的大部分交互将来自该界面。 如果有人盗取了磁盘上的原始文件,我认为这种encryption方式会很方便。 除非您将数据存储为应用程序解密的encryption信息,这是另一个抽象层,但这听起来有点傻…
数据有多敏感? 如果它非常敏感,则可以限制通过IP访问特定的用户,或通过特定的VLAN / VPN接口访问。 您可能需要重新考虑托pipe超出您的控制范围的极其敏感的数据。