对于数据库管理员(DBA)们来说,在虚拟化环境中运行SQL Server的往往最担心的就是安全问题,但根据专家的观点,其实并无必要。SQL Server在虚拟化世界中的安全问题与传统数据库环境的安全挑战并无太多差异。
按照经验来看,SQL Server往往是最后一个进行虚拟化的应用,主要是因为DBA在这个领域并不熟悉,把一个极为关键的应用放到虚拟化环境中,很有可能会造成性能方面的瓶颈,更不用说还有安全性问题需要解决。
虚拟化的优势主要在于削减硬件需求,减少停机时间并易于维护,此外还可以降低数据中心的电力和制冷需求。出于成本的考虑,这对于一个企业来说是非常具有吸引力的,因此用户都在寻求为SQL Server数据库实施虚拟化的部署。
SQL Server咨询顾问Denny Cherry在他的书中提到:“针对安全问题,虚拟化并不会带给企业更多的挑战,因为你的SQL Server运行在Windows服务器上,而其他底层在运行hypervisor。虚拟SQL Server和物理SQL Server是没有区别的,所以我们所熟悉的SQL Server最佳实践还是成立的。”
在某种程度上,这种安全性的忧虑源自于缺乏对虚拟化环境的了解,认为添加额外层会将安全性复杂化,SQL Server架构更容易被暴露在外部。这其实是一个严重的误区。
事实上,专家认为无论是虚拟化SQL Server还是物理SQL Server,其安全性挑战都存在,并无太大差别。独立咨询顾问Brent Ozar表示:“如果你使用SAN,那数据就会存储在共享的设备上,如果SAN管理员想要把数据拷贝出去的话,那他只需要做一个快照就可以了。像这样的安全性问题,无论是虚拟化环境中还是物理环境中,都一样存在。”
标准的安全性准则
农业信贷银行AgFirst并没有让安全性成为阻碍部署SQL Server虚拟化环境的问题。他们在所有的应用上几乎都是用了虚拟化技术,该公司的数据库架构师K. Brian Kelley介绍,公司使用虚拟化技术主要是为了寻求一个高可用的解决方案,特别是准对那些小型的SQL Server数据库,公司不希望花太多钱在购买硬件服务器上。
Kelley说:“一些人认为虚拟化会降低系统的安全性,这其实是错觉。SQL Server安全最薄弱的环节在于操作系统或者部署在它之上的应用程序,这与虚拟化环境还是物理环境并无关系。”
无论哪种环境,要确保SQL Server安全性的最佳方法,就是制定一系列标准的安全准则。在物理环境中,网络管理员和DBA需要定期检查哪些人员访问了数据中心,针对虚拟化环境依然如此,管理员需要定期检查谁访问虚拟服务器。但有这样一个问题需要注意,能够进入数据中心接触到物理服务器的人毕竟是少数,而能够访问虚拟服务器的人会更多。
Ozar认为,无论物理环境还是虚拟环境,还有大量的DBA在进行SQL Server安全性保护工作时,并没有制定一个清晰标准的安全准则。而且在细微的地方做的还不够,DBA需要想清楚所有的安全隐患,并一一“对症下药”。
他说:“想一想,如果有人明天偷走了你的备份磁带会是怎样?如果这个问题很严重的话,那么你就需要对所有的数据进行加密,当然可以使用SQL Server自带的透明数据加密功能,对于虚拟化环境依然是如此。DBA需要加强对SQL Server的安全防范意识。”