数据库是所有信息系统的核心,数据库的安全通常是指其中所存数据的安全,是网络安全、信息安全的重要组成部分。目前有很多相关性产品,如数据库加密、数据库防火墙、数据库脱敏、数据库审计等。

一、数据库防火墙

数据库防火墙系统:一种基于网络和数据库协议分析与控制技术的数据库安全防护系统,基于主动防御机制,实现对数据库的访问行为权限控制、恶意及危险操作阻断、可疑行为审计。通过对SQL协议分析,根据预定义的黑、白名单策略决定让合法的SQL操作通过执行,让可疑的非法违规操作禁止,从而形成一个数据库的外围防御圈,对SQL危险操作的主动预防和实时审计。

其部署方式分为串联部署与并联部署。

1. 串联部署

串联部署在应用系统与数据库之间是数据库防火墙发挥最大作用的常见部署方式。所有SQL语句必须经过数据库防火墙的审核后才能到达数据库,可实现对外部人员的攻击和防止内部人员的违规误操作,但这样就在应用系统与数据库之间增加了一个“结点”,且改变了原有的网络结构。

2. 旁路部署

数据库防火墙的另一种部署方式为旁路接入,虽然此种部署方式看似通过旁路部署,没有在应用链路上增加新的设备结点,但在实际应用中,面对连续、高可用环境,旁路分析势必出现延迟,当数据库防火墙检测到风险操作时,数据库的操作早已执行完成,而此时被阻断的很可能是其他不该被阻断的正常操作。

因此,要想真正发挥其防护效果,数据库防火墙必须串联在数据库的前端。但这样就出现了潜在的风险发生。

点评:

1. 串联部署是数据库防火墙发挥防护作用的必要前提,但这样就在应用系统与数据库之间增加了一个“结点”,如果把数据库看作整个IT架构中的“心脏”,那么我们往往会更担心的是这个“结点”会不会出现故障,如果一旦出现血液流通不畅,突发阻塞,那么会影响整个系统循环。

2. 由于数据库在企业中承载着关键核心业务,其重要性不言而喻,企业会采用大量的技术来保证数据库的高可用性、连续性,典型的有RAC、F5负载均衡、高可用网络等;当在这样的一个环境中串联一个新的节点时,对该节点的可靠性、稳定性及性能要求甚至比数据库本身的要求还要高。

3. 连续性、高可用的环境下,实施防护墙串联部署,势必是在为风险挖坑,面临的挑战不小。数据库防火墙现阶段技术还不成熟,复杂的环境下更应该慎重选用,串联部署的劣势,一旦出现故障,整个业务系统随之瘫痪,正常业务被阻断,数据面临丢失、损坏等风险,对数据库产生巨大的影响,往往很多厂商却避而不谈,不愿提及,但内行人一想便知。

二、数据库加密

数据库加密系统(又称安全存储网关):指将存储于数据库中的数据,尤其是敏感数据,以加密的方式进行存储。是一款基于透明加密技术的数据库防泄漏系统,能够实现对数据库中的敏感数据加密存储、访问控制增强、应用访问安全、安全审计等功能。

常见部署方式为直接串联在数据库服务器系统网络结构中,通过基础核心部件,完成数据加解密、权限校验、密钥管理和安全策略存储。还需要通过代理,即在数据库服务器中安装插件,以实现对DBMS中加密数据的透明展现和高性能访问,从而实现对敏感字段加密、密文索引、增强访问控制、审计等认证。

点评:

数据库加密系统应该以保护数据安全为基础,尽可能的提高工作效率,在工作效率和安全可行性之间取得一个衡量标准。所以数据库加密系统应该考虑如下问题:

1. 部署方式

数据库加密系统采用串联方式连接在数据库服务器系统中,在原有网络结构中增加了一个新的“节点”,一旦这个“节点”出现问题,会导致正常访问数据库的业务中断,特别是在高速网络下数据迁移和容灾的过程中,如果出现业务中断,会对数据库产生不可预估的风险;除此之外,还需要在数据库服务器中安装插件的方式来形成代理,以实现对数据的加解密存储等过程。第三方插件不但影响数据库的性能,还会产生一定的风险,一旦出现问题,也会对数据库产生不可估量的影响。

2. 数据库性能

数据库加密系统在实现对数据的加密、解密过程中都要牺牲一部分数据库性能,本地数据库对象加密对数据库性能的影响可达15%~20%,取得数据安全的背后却是以牺牲数据库性能为代价的。所以,用户在选择采用该产品前,应该结合自身环境状况和对性能的要求做好权衡。

3. 复杂程度

加密系统都很复杂,必须考虑加密引擎在哪,它如何加密数据以及加密哪些数据,哪些数据不需要加密,怎样提供密钥等。对数据库管理员来说,都是一种技术上的考验,需要认识到这种复杂程度并保证自己完全理解加密系统如何工作,特别是在要证实加密能够正确地满足合规要求时,这尤为重要。

4. 密钥管理

数据库客体之间隐含着复杂的逻辑关系,一个逻辑结构可能对应着多个数据库物理客体,所以数据库加密不仅密钥量大,而且组织和存储工作比较复杂。这就需要一个密钥管理系统来保护密钥,管理员不能将密钥存储到数据库中,也不能将密钥存放到磁盘上。因此,对于密匙的管理也是一个值得思考的难题。

除此之外,还需要考虑数据库加密技术是否成熟,以及加密是否能代替访问控制,和数据库中动态加密和静态加密的区分等等诸多因素的限制问题。

三、数据库脱敏

数据库脱敏:指对数据库中的敏感数据进行在线屏蔽、变形、字符替换、随机替换等处理方式,达到对用户访问敏感数据真实内容的权限控制,对于存储在数据库中的敏感数据,通过脱敏方式,不同权限的用户将会看到不同的展现结果,从而实现对敏感隐私数据的保护。

其采用的部署方式有旁路部署、串联部署、以及直接以插件的形式安装在数据库服务器系统当中。

点评:

数据库脱敏又称数据漂白或数据变形,其关键点为:敏感数据、脱敏规则、应用场景。

而根据应用场景,又将数据脱敏分为静态脱敏和动态脱敏,其主要区别在于是否在使用敏感数据时实时进行脱敏。

数据库脱敏系统在实际应用环境当中应当考虑其存在的一些问题,否则将给生产环境及数据库带来严重的影响。其主要表现在一下几个方面:

1. 从部署方式来看,串联接入到数据库服务器的前端和以插件的方式安装于数据库服务器当中,是数据库脱敏系统发挥自身作用的最大前提。串联接入方式和以插件的方式安装在服务器系统当中,都改变了数据库服务器所处的网络环境,参与了数据交互的过程,一旦串联“节点”或者插件出现故障,都会对数据库产生未知的影响,轻者业务中断,重者数据丢失、损坏。其问题严重性显而易见,这是内行人都明白的问题。

2. 从脱敏规则来看,数据脱敏分为:可恢复和不可恢复两类。可恢复类,指脱敏后的数据可以通过一定的方式,可以恢复成原来的敏感数据,此类脱敏规则主要指各类加解密算法规则;不可恢复类,指脱敏后的数据被脱敏的部分使用任何方式都不能恢复出。

这就与数据库加密方式有相似之处,其数据的脱敏也很复杂,这就需要据库管理员很熟练的掌握脱敏规则,哪些数据通过脱敏规则后可恢复,哪些数据脱敏后不可恢复,这都是十分重要的过程,数据一旦通过脱敏变形后,再还原,其技术难度还是很考验人的。特别是在大型数据生产环境当中更需要注意脱敏规则,一旦忽视后果可想而知。

3. 从性能方面来看,数据库脱敏系统与数据库加密系统类似,从数据脱敏到数据的恢复,都是以牺牲系统性能为代价的。一旦脱敏规则制定不好,系统性能会受到很大影响,系统性能降低,那么整个数据库业务系统也会随之受到影响,在数据连续性、高可用的环境下,可能会导致数据的丢失或者业务中断,影响整个生产过程。

相信大家对数据库防火墙、数据库加密、数据库脱敏已经有了一定了解,也有了自己的判断。最后补充一下:数据库防火墙、数据库加密、数据库脱敏这些产品的解决方案大多尚在试验阶段,技术上还不成熟,在要求业务连续、高可用环境中需慎重选择。

本文转自d1net(转载)

数据库防火墙、数据库加密、数据库脱敏真的可用吗?相关推荐

  1. 数据库防火墙——实现数据库的访问行为控制、危险操作阻断、可疑行为审计...

    转自百度百科 数据库防火墙系统,串联部署在数据库服务器之前,解决数据库应用侧和运维侧两方面的问题,是一款基于数据库协议分析与控制技术的数据库安全防护系统.DBFirewall基于主动防御机制,实现数据 ...

  2. GB/T 20281-2020实施两周年,美创数据库防火墙的标准实践

    2020年11月1日,新版防火墙国家标准-GB/T 20281-2020<信息安全技术 防火墙安全技术要求和测试评价方法>落地实施,数据库防火墙首次与网络型防火墙.WEB应用防火墙.主机型 ...

  3. 【译】使用 PHP 和 SQL 构建可搜索的加密数据库

    译者按:原文铺垫较多,但对于理解作者的心情有一定益处. 基于 PHP 和 普通SQL数据库只要肯琢磨,系统的安全也能大幅提升. 阅读本文,你将了解: 针对类似身份证此类敏感信息的存储和查询方案. 对 ...

  4. md5加密数据表中的密码php,JSP_使用MD5加密数据库中的用户密码(一),我们知道,现在网络上一般的 - phpStudy...

    使用MD5加密数据库中的用户密码(一) 我们知道,现在网络上一般的网站,稍微完善一点的,往往都需要用户先注册,提供诸如电子邮件.账号.密码等信息以后,成为网站栏目的注册用户,才可以享受网站一些特殊栏目 ...

  5. 出现身份验证错误,要求的函数不受支持(可能是由于CredSSP加密数据库修正)

    出现身份验证错误,要求的函数不受支持(可能是由于CredSSP加密数据库修正) Windows Server 服务器远程连接错误 今天是21年大年初一,由于疫情原因好多小伙伴没回家,虽然起的很早,但也 ...

  6. uwp连接mysql数据库_在UWP中使用SQLite数据库,支持加密

    这个库支持Xamarin.*(iOS,Android等). .NET, .NET Core.Mono.UWP等主流系统和程序.支持对数据库文件的加密,其sqlcipher加密版为sqlite-net- ...

  7. 使用MD5加密数据库中的用户密码介绍

    使用MD5加密数据库中的用户密码介绍 ●前言 我们知道,现在网络上一般的网站,稍微完善一点的,往往都需要用户先注册,提供诸如电子邮件.账号.密码等信息以后,成为网站栏目的注册用户,才可以享受网站一些特 ...

  8. 远程桌面连接提示CredSSP 加密数据库修正

    解决办法: 1.打开组策略控制台,输入gpedit.msc,然后依次打开:计算机设置->管理模板->系统->凭据分配,将"加密数据库修正"配置项目,修改为&quo ...

  9. oracle数据库升级导致的数据库对象不可用或无效解决办法

    前端时间,公司集体升级数据库版本,由于数据库的版本与服务器版本不对应导致升级失败,而我又没有提前对服务器进行数据备份,升级失败后导致,数据库无法使用,虽然可以连接进行查询查询操作,但是无法进行复杂的数 ...

  10. 使用PHP与SQL搭建可搜索的加密数据库

    本文讲的是使用PHP与SQL搭建可搜索的加密数据库,我们从一个简单的场景开始(这可能与很多地方政府或医疗保健应用非常相关): 您正在建立一个新系统,需要从其用户收集社会保障号码(SSN). 规则和常识 ...

最新文章

  1. SAP 谈谈PFCG创建ROLE后打包产生TR
  2. Spring系列之一 Spring MVC
  3. QtObject QML类型
  4. Try to create new xs project in AG3
  5. Gradle编译spring3.x报错找不到itextpdf4.2.2解决方案
  6. JavaScript中浏览器兼容性解决办法
  7. 真好用!一个提供用emai订阅rss的中文网站
  8. Python爬虫-js案例-上海法院网
  9. Linux系统中dmesg命令使用详解
  10. HTML+CSS简单漫画网页设计成品 蜡笔小新3页 大学生个人HTML网页制作作品
  11. qq显示下线通知什么意思_qq最近登录设备显示其他设备,但我手机没有下线通知,怎么回事...
  12. 2019-05-22 Domain注入工具;旁注工具;ASP木马;
  13. python 连接MySQL
  14. 关于Git及GitLab的简单易懂的使用方法(将本地仓库的项目提交到master分支或者自定义的分支上)
  15. 【中文树库标记---CTB】
  16. Linux笔记 #06# 在VPS上自建Git服务
  17. 软工学子与你一起了解资金时间价值 之 复利(利滚利)+ 贷款的基本常识 + 现金流量图 ——《工程经济学》
  18. 招行信用卡中心2020开发笔试
  19. js(76-108)
  20. 责任链模式-C++实现

热门文章

  1. wifi频率和zigbee干扰_怎样设置Zigbee和wifi信道避免干扰?
  2. 如何能够快速创建自己的APP应用?
  3. easydarwin 安装_easydarwin支持什么格式
  4. JVM高性能调优宝典【包含VisualVM工具下载安装教程】持续更新优化
  5. Superset 实现可视化报表发布
  6. 【layUI时间控件使用】:按钮显示时间并放到输入框
  7. 【JS基础】JavaScript轮播图代码详解
  8. 如何清除项目 git 版本控制信息
  9. H5手写板电子签名开发
  10. IP 点分十进制表示法