编者按:本系列关于SQL Server 2012安全的文章共分四部分。本文是第一部分,将重点对SQL Server 2012中的安全性进行案例研究。在第二部分中,我们将介绍SQL Server 2012安全性的功能更新。
数据库备份被盗了,病毒攻击了服务器,数据库有未经授权的更改——如果SQL Server安全保护设置宽松的话,这些事情都会发生。
数据库技术本质上就是许多信息系统的组件,这是由于它们用来存储大量敏感企业数据而决定的,比如客户信息和其它机密商业数据。正因如此,把像SQL Server这样的数据库称为任何组织最有价值的资产并不为过,这也正是数据库在内部和外部攻击面前必须确保安全的原因。
不幸的是,事实并非如此,许多组织仍然发现数据库安全是一个不太受人关注的话题。结果,他们没有全面的数据库安全策略来保护他们的数据库基础设施不受内部和外部攻击。许多数据库甚至不能满足常规法规需求,比如Gramm-Leach-Bliley法案(简称GLBA)、欧洲数据保护联盟(简称EUDPD)、健康保险流通与责任法案(简称HIPAA)、支付卡行业数据安全标准(简称PCI DSS)以及塞班斯法案(简称SOX)。
公司缺乏SQL Server安全策略
XYZ公司是一家大型制药公司,在全球范围内针对小型制药公司销售各种医药产品。因为SQL Server有良好的往绩记录,漏洞和弱点比较少,所以XYZ公司使用SQL Server作为主数据库技术,存储公司的保密数据,比如客户信息、卡信息和员工信息。这些数据是从原始Excel电子表格中移植过来的。近几年来,XYZ公司已经在其所有业务领域获得了显著增长。然而,在过去一年里,该公司却面临巨大舆论压力——泄露客户数据,未经授权访问以及其它造成SQL Server基础设施不安全的原因。
下面是XYZ公司SQL Server基础设施安全漏洞列表:
- 未经授权的更改。
在过去的一年中,未经授权的数据库变更是其SQL Server基础设施故障的主要因素。这是因为XYZ公司目前没有变更管理流程。未经授权对数据库变更意味着更大的外部威胁,比如来自外部黑客或恶意代码的攻击。
对于XYZ公司SQL Server数据库代码部署,很需要一套文档化而且健全的变更管理流程,因为它可以确保授权变更应用到生产数据库并避免不必要的风险。
- 未授权用户。
在少数情况下,会有未经授权的用户连续访问XYZ公司的SQL Server数据库。这主要发生在SQL Server实例配置为混合授权模式的情况下,或者“BUILTINAdministrators”是“系统管理员”角色也有可能发生。经调查,大部分SQL登录(包括用sysadmin(sa)权限的登录)存在漏洞或者空密码,而且用户没有被强制要求定期修改密码。
微软SQL Server安全最佳实践建议你在混合认证模式使用Windows认证,因为SQL Server存储的SQL登录密码是纯文本形式。如果混合模式是为了向后兼容的缘故,那么要确保给sysadmin和所有其它SQL登录账号使用复杂密码。这一点可以通过对sysadmin和所有其它SQL登录用户启用“强制密码过期”和“强制实施密码策略”选项实现。
SQL Server安全最佳实践还推荐对这些账号重命名,因为sysadmin是超级用户,许多黑客都知道这个账号,修改用户名会使得黑客控制攻击更困难。最佳实践还建议不要使用sysadmin管理SQL Server。同时,确保“BUILTINAdministrators”不是sysadmin角色成员;而要授予sysadmin权限给本地管理员组中的任何账号。
- SQL注入攻击。
SQL注入是未经授权访问数据库的另一种方式。那是因为应用程序中的SQL代码允许直接更新表,而且大部分SQL代码参数没有做验证。推荐验证代码参数并用SQL Server存储过程执行所有数据库更新。
- 来宾用户。
使用与数据库内部用户没有关联的用户登录仍然有可能访问到敏感数据。这是因为这些数据库启用了来宾账户。所以我们要禁用来宾账号。这将确保公共服务器角色不能访问到SQL Server中的用户数据库,除非你明确地赋予了对数据库的访问权限。
- 计算机病毒攻击。
XYZ公司的SQL Server在前几年已经被计算机病毒攻击了几次。大部分SQL Server安全补丁、修复包以及更新包还没有应用到这些受影响的SQL Server上。微软公司持续发布的安全更新和补丁应该升级上去,这样能保护避免前述问题。
- 使用惯用的TCP/IP端口。
人们已经注意到大部分服务器攻击情况,黑客使用的是惯用的TCP/IP端口,比如1433和1432。如果条件允许的话,应该修改这些标准端口,可以确保SQL Server安全。
- 数据库备份被盗。
在过去几个月里,人们已经注意到由于网络安全性不足导致的数据库备份被盗情况。而且,数据已经被盗,从表复制到操作系统文件。XYZ公司接到建议,加强数据库备份安全性,启用透明数据加密。另外,要确保SQL Server实例上的“xp_cmdshell ”和“OPENROWSET ”保持禁用,只有系统管理员能访问这些SQL Server功能特性。
- 缺乏监视。
目前,XYZ公司SQL Server数据库的SQL Server用户活动并没有被监视起来。很明显,这就为黑客打开了大门,他们可以访问该公司服务器而没有任何后顾之忧。SQL Server提供了各种功能,比如登录审计或者登录触发器,通用遵守准则,ddl触发器,甚至还有专门跟踪SQL Server恶意活动的通知和审计。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。
相关推荐
-
使用透明数据加密技术保护静态数据
透明数据加密(Transparent Data Encryption, TDE)是一个加密静态数据的有效工具。专家将在本文中详细介绍TDE的特性与未来。
-
说说数据库备份的那些事
数据备份对于DBA来说是一项最基本的工作,但又是十分关键的,每个SQL Server上面执行的最重要的任务之一都是运行备份和恢复。
-
Oracle Cloud推出数据库备份与存储云服务
甲骨文公司近日宣布推出Oracle数据库备份服务(Oracle Database Backup Service)和Oracle存储云服务(Oracle Storage Cloud Service)。
-
SQL Server DBA的六大日常职责
SQL Server有哪些关键任务需要DBA放到日常list中的呢?本文就将介绍六个SQL Server DBA的日常职责。