数据千万条,安全第一条:浅谈Azure SQL数据库如何保证用户数据安全

自2011年以来,多家互联网站频发被黑客公开用户数据库的事件,超过5000万个用户帐号和密码在网上大规模被泄露,数据库拖库事件频发。2018年某中文论坛上,公然出现了售卖国内知名酒店集团数据库的“广告”,详细信息合计近 5 亿条,涵盖了入住者及酒店会员个人信息、入住登记、开房记录等内容。

最近,网络安全组织GDI基金会又爆出,有数以亿计的中国用户私人聊天记录被泄露在互联网上。据美国电信公司Verizon 2018年发布的年度安全报告显示,在数据泄露原因方面,62%的数据泄露与黑客攻击有关;81%的的数据泄露涉及到撞库或弱口令。

数据库泄露的原因很多,数据库管理员安全意识弱、程序设计没有考虑安全冗余性、应用层漏洞等均可导致数据库拖库、数据泄露。单一的安全手段已经无法防范数据泄露的多重风险,只有多手段并用才可以最大程度地提高数据安全。

由世纪互联运营的Azure服务平台通过多种先进的安全技术构建完整的安全平台,从多角度、多层面保护用户的数据安全,防止数据泄露事件的发生。Azure中国版SQL数据库服务目前已提供了以下四种数据库安全增强配置,分别是高级数据安全(ADS)、透明数据加密(TDE)、动态数据掩码(DDM)、审核(Audit),真正做到了多维度数据保护。

高级数据安全 (ADS)

高级数据安全 (ADS) 是一种从策略上保护数据库安全性的机制,它提供一组高级 SQL 安全功能,包括数据发现与分类、漏洞评估和威胁检测。漏洞评估可以发现、跟踪并帮助修正潜在的数据库漏洞,分析检查身份验证与授权配置、数据保护设置、外围应用设置、审核配置等,并提供相应的修复方法与建议。它可直观查看安全状态,包括解决安全问题的可操作步骤,并可加强数据库的防御工事。

如上图所示,检测结果发现dbo账户被当作普通用户去使用,这被标记为中等风险,因为dbo具有最高的权限,ADS功能会针对不同风险给出相应建议与解决方法。

除了对数据库漏洞及配置进行评估,ADS还集成了威胁检测模块,对常见的风险如SQL注入等进行检测,用户可根据需要勾选。 来自异常位置的访问、陌生账户的登录、暴力破解SQL凭据的行为都可以被检测到并触发警报。

ADS功能支持设置定期扫描、设置安全基线,并生成安全报告发送至管理员邮箱。这些功能有效减少了黑客撞库或管理员配置弱口令的可能性。

透明数据加密 (TDE)

透明数据加密 (TDE) 是一种从元数据层级保护数据库的方式,它有助于保护 Azure SQL 数据库、Azure SQL 托管实例和 Azure 数据仓库免受恶意活动的威胁。 它可执行静态数据库、关联备份和事务日志文件的实时加密和解密,无需更改应用程序。 默认情况下,为所有新部署的 Azure SQL 数据库启用了 TDE。

 

 

 

 

TDE功能可以防止数据库文件(mdf/ndf/ldf)被附加到非授权服务器或者使用TDE功能的备份文件被轻易还原到别的服务器上,从而进一步加强了数据的安全性。对黑客拖库行为有一定的限制作用。启用TDE后,将组织内部的密钥与数据管理责任相分离,即使非授权人员在取得数据库后,如无密钥,无法在异地还原盗取的数据库。

 

 

 

如上图所示,我们在本地试图还原一个启用过TDE的数据库,在没有密钥的情况下显示还原失败。这样,即便数据库文件层级泄露,黑客也无法访问数据。

动态数据掩码(DDM)

动态数据掩码技术用一种假名化(pseudonymization)手段保护元数据,通过对非特权用户模糊化敏感数据来限制此类数据的泄露。动态数据屏蔽允许客户指定在对应用层产生最小影响的前提下可以透露的敏感数据量,从而帮助防止未经授权的用户访问敏感数据。它是一种基于策略的安全功能,会在针对指定的数据库字段运行查询后返回的结果集中隐藏敏感数据,同时保持数据库中的数据不变。

例如,我们用管理员账户在数据库中创建表dbo.JOBS并插入数据:

开启动态数据掩码功能,并设置掩码字段, 掩饰工资字段:

切换为非管理员账户后执行查询:

如图所示,敏感字段已经自动按照配置规则进行掩饰。这项功能在一定程度上缓解了非拖库行为造成的数据泄露,例如SQL注入。该功能目前支持自定义屏蔽规则及屏蔽函数。

审核(Audit)

除了上述安全功能,Azure版SQL还具有审核功能。审核 Azure SQL 数据库和 SQL 数据仓库会跟踪数据库事件,并将这些事件写入 Azure 存储帐户、OMS 工作区或事件中心中的审核日志。审核功能帮助管理员追溯数据库发生的事件,它能告诉你“谁什么时候做了什么事情”。具体是指审核SQL Server 数据库引擎实例或单独的数据库涉及到跟踪和记录数据库引擎中发生的事件。

如图所示,审核日志提供了访问者IP地址、账户名称、事件类型、执行语句等详细信息,帮助数据库管理员定位问题,及时排查风险,解决隐患。

Azure版SQL数据库依托强大的Azure平台,不仅支持以上安全特性,还集成了一些平台的安全特点,如集成Azure AD身份验证、服务器级别IP防火墙、传输过程加密等特征。通过分层深度防御的方法,分别在网络安全、访问管理、威胁防护、信息保护四大方面无死角保护用户虚拟资产安全,尽可能降低数据泄露风险。

当然,数据千万条,安全第一条;配置不规范,用户两行泪。Azure为广大用户提供了强大的安全防护,数据库管理员还需要树立安全意识,减少不规范的配置问题,杜绝弱口令,严格限制账户权限,适当开启IP访问白名单,减小黑客攻击面。

(本文作者陈初,世纪互联蓝云ISC security团队工程师)

 

下一篇
感受“云端”魅力:清华MBA TMT俱乐部走进世纪互联蓝云
上一篇
世纪互联蓝云启动合作伙伴计划,做大自己的“朋友圈”