今天来聊一下核心数据库的安全防御
一 现在分析随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域,但随之而来产生了数据的安全问题以及数据库访问的安全问题。各种应用系统的数据库中大量数据的安全问题、敏感数据的防窃取和防篡改问题,越来越引起人们的高度重视。数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要,关系到企业兴衰、成败。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为业界人士探索研究的重要课题之一。
由于计算机和网络的普及和广泛应用,越来越多的关键业务系统运行在数据库平台上。数据库中的数据作为企业的财富发挥着越来越重要的作用,同时也成为不安定因素的主要目标。如何确保数据库自身的安全,已成为现代数据库系统的主要评测指标之一。数据库是信息技术的核心和基础,广泛应用在电信、金融、政府、商业、企业等诸多领域,当我们说现代经济依赖于计算机时,我们真正的意思是说现代经济依赖于数据库系统。数据库中储存着诸如银行账户、医疗保险、电话记录、生产或交易明细、产品资料等极其重要和敏感的信息。尽管这些系统的数据完整性和安全性是相当重要的,但对数据库采取的安全检查措施的级别还比不上操作系统和网络的安全检查措施的级别。许多因素都可能破坏数据的完整性并导致非法访问,这些因素包括复杂程度、密码安全性较差、误配置、未被察觉的系统后门以及数据库安全策略的缺失等。
任何政企单位的主要电子数字资产都存贮在现代的关系数据产品中。商业机构和政府组织都是利用这些数据库数据库得到人事信息等,如医疗记录、人员工资等。因此他们有责任保护别人的隐私,并为他们保密。数据库数据库还存有以前的和将来的敏感的金融数据,包括贸易记录、商业合同及帐务数据等。像技术的所有权、工程数据,甚至市场企划等决策性的机密信息,必须对竟争者保密,并阻止非法访问,数据库数据库还包括详细的顾客信息,如财务帐目,信用卡号及商业伙伴的信用信息等。目前世界上主流的关系型数据库,诸如Oracle、Sybase、Microsoft SQL Server、IBM DB2/Informix等数据库数据库都具有以下特征:用户帐号及密码、校验系统、优先级模型和控制数据库的特别许可、内置命令(存储过程、触发器等)、唯一的脚本和编程语言(例如PL/SQL、Transaction-SQL、OEMC等)、中间件、网络协议、强有力的数据库管理实用程序和开发工具。
数据库数据库的应用相当复杂,掌握起来非常困难。许多数据库管理员都忙于管理复杂的系统,所以很可能没有检查出严重的安全隐患和不当的配置,甚至根本没有进行检测。正是由于传统的安全体系在很大程度上忽略了数据库安全这一主题,使数据库专业人员也通常没有把安全问题当作他们的首要任务。在安全领域中,类似网页被修改、电脑中病毒、木马、流氓软件、弹出窗口等所造成的经济损失微乎其微,而一旦数据库出现安全风险并被恶意利用所造成的后果几乎是灾难性的和不可挽回的。
安全是多个环节层层防范、共同配合的结果。也就是说在安全领域不能够仅靠某一个环节完成所有的安全防范措施。一个安全的系统需要数据库的安全、操作系统的安全、网络的安全、应用系统自身的安全共同完成。数据库领域的安全措施通常包括:身份识别和身份验证、自主访问控制和强制访问控制、安全传输、系统审计、数据库存储加密等。只有通过综合有关安全的各个环节,才能确保高度安全的系统。
不完善的数据库安全保障设施不仅会危及数据库的安全,还会影响到数据库的操作系统和其它信用系统。还有一个不很明显的原因说明了保证数据库安全的重要性-数据库系统自身可能会提供危及整个网络体系的机制。例如,某个公司可能会用数据库数据库保存所有的技术手册、文档和白皮书的库存清单。数据库里的这些信息并不是特别重要的,所以它的安全优先级别不高。即使运行在安全状况良好的操作系统中,入侵者也可通过“扩展入驻程序”等强有力的内置数据库特征,利用对数据库的访问,获取对本地操作系统的访问权限。这些程序可以发出管理员级的命令,访问基本的操作系统及其全部的资源。如果这个特定的数据库系统与其它数据库有信用关系,那么入侵者就会危及整个网络域的安全。
二 聊聊数据泄露大事件《2018年数据泄露调查报告》Verizon发现,在分析的53,000多起安全事件后表示(包括2,215起数据泄露事件), 19.6%的数据泄漏事件都与数据库受攻击有关;在由内部人员导致的信息泄漏事件中,25.9%与系统管理员有关
我们已经进去信息化大数据时代,在各个领域,数据都至关重要!一旦发生数据泄露,造成的影响是非常严重的。
企事业单位数据泄露一方面会造成不可估量的财产损失,另一方面更为严重的就是企业信誉产生严重负面效果。
三 为何数据泄露这么严重?
其实我们可以看到泄露数据的这些大企业,大“单位”,他们的网络安全产品必然已经上了很多很全,如防火墙、防病毒、IPS、WAF 等等,为什么还是会有这么多数据泄露事件? 其重要原因就是缺乏专业的数据库防御系统!!!
Firewall ,IPS等对数据库专用协议TNS、TDS协议的解码能力微乎其微,更谈不上精准防护。
数据泄露事件很多都是属于APT 攻击,有针对性的对目标发起持续深入的攻击。
四 如何保障核心数据库安全?
我们可以看此图,核心数据库需要专业的数据库防护,必须有专门的防御系统进行纵深防御!
4.1 网络防火墙
黑客发起攻击第一步是扫描获取信息,当扫描出DB底层系统端口,漏洞,完全可以通过攻击底层操作系统漏洞来获取系统级权限,从而盗取数据。网络防火墙可以阻断非法扫描,可以完全阻止DB底层架构系统安全漏洞威胁!
不在担心DB底层系统安全配置或者安全漏洞导致数据泄露危险!
4.2 准入控制
通过网络防火墙我们可以限定特定区域的IP 端口才能访问数据库系统,但是这些特定区域是否就安全了呢?不,因为IP 是可以修改的,目的端口一般是固定的,管理员账户也容易猜测出来,如何进一步防御?
我们先看下oracle 客户端与数据库通讯,Oracle 客户端与服务器通讯会传输多个参数,这些包括IP五元组,主机名、数据库实例名、应用程序名/数据库访问工具名、数据库帐号名, 我们可以利用这个原理控制准入,如果9因子都作为准入,这就好比你要进入一个大门,必须提供:密码、指纹、脸部识别、瞳膜识别,这就基本上可以判断只有合法的人员才能进入数据库了。
4.3 行为控制
有了网络防火墙跟准入控制,是不是就安全了? 不,因为你不能保障合法人员做非法事情!!!
所以还需要行为防御,行为防御的前提是精确识别解析SQL 会话,识别都不全或者识别有问题就谈不上控制了。
针对数据库的操作,如Drop delete 等,指定具体的表操作设置行为控制,阻断非法操作,防患误操作或者恶意操作的行为导致数据泄露或者数据损失。
到此我们可以说只有合法的人员才能访问操作核心数据库,合法人员只能做合法的事情!
到此结束了么? 不,还有更深入的,且听下回分解!!!