用轻代理的方式做数据库安全

简介:

一般而言,数据库安全技术,除了数据库产品本身自带的安全功能,就是从外部做保护和监控。后者无外乎漏洞管理、防火墙、审计、加密和脱敏等几种技术产品。

 

 

数据库自带的安全功能,其问题在于性能非常差,访问量稍微一大数据库的响应就会很慢,因此并不实用。典型的如Oracle自身的审计功能。

数据库防火墙的最大问题在于内部威胁

在外部保护技术中,数据库防火墙主要是由基于网络的设备,基于策略规则分析网络流量中的SQL语句,发现非法访问数据库和攻击时,产生警报。

这种监控数据库的方式,其问题在于,具有本地访问权限或能够绕过设备的内部人员可以轻松攻击数据库。同时也无法很好的解决数据库访问流量的加密问题。许多数据库安全厂商只能凭着自己的经验去解密,不仅效果不好,还要疲于应付各种版本的升级和更新问题。

此外,随着监控范围的扩大,必须在访问数据库的网络上的多个节点部署设备,以构建全方位的数据库监控层。因此,成本会很高。

本地数据库审计只能做到事后取证

本地数据库审计产品可以提供细化的审计跟踪和数据库活动的取证,但细化会影响数据库性能,而且仅提供事后取证,无法做到预防。

此外,对于监控DBA本身以及拥有DBMS特权访问权限的其他用户,审计不是一个可行的解决方案,因为这些人员可以随意打开和关闭审计,或在事后篡改日志。

针对以上问题,一种基于主机的轻代理解决方案逐渐受到用户的认可。

数据库活动监控技术——DAM

迈克菲于2011年收购了一家名为Sentrigo的公司,这是一家在数据库安全领域处于领先地位的厂商。针对数据库安全,Sentrigo的做法是,在数据库主机服务器上安装能够监控所有数据库活动的软件代理和传感器(Sensor),通过读取数据库的共享内存,来达到实时监控、阻断、审计等功能。

传感器可以自动识别主机上的所有实例,甚至可监控同一主机不同数据库类型的多个实例。而且对主机性能影响非常小,大约占CPU资源的5%,100多兆内存。因此可称之为轻代理。

其运行原理为,传感器通过只读机制和API连接到SQL缓存区的实例内存,并通过内存采样开始监控循环轮询。对于每个采样周期,传感器会根据从服务器收到的预定义策略,分析数据库实例中每个会话当前正在运行的语句和上一个语句,并确定应对哪些语句发出警报或予以阻止。

 

 

传感器还可配置为针对特定违规行为终止会话,并隔离用 户。这些预防功能,均通过本地数据库API实现,在不对数据完整性造成任何风险的情况下终止数据库会话。

迈克菲目前的数据库安全套装为三个模块,第一个为上面介绍的轻代理DAM,也是整套产品中的核心技术。第二个是VM,漏洞管理。第三个是VP,虚拟补丁。解决了从事前到事中再到事后的整个数据访问流程中的安全问题。

安全牛评

除上文中介绍的内容以外,这种软件代理的数据库安全技术还有一大优势,云上部署。因为在云上尤其是公有云上,基于网络的数据库安全设备面临无处可部署的难题。而基于主机的系统,则很好的解决了这种问题,部署起来非常简单。因为是纯软件的形式,无需关心环境中的网络拓扑架构。



本文转自d1net(转载)

相关文章
|
10月前
|
SQL 存储 安全
docker 安装sqlserver数据库并开启代理(保姆级)
docker 安装sqlserver数据库并开启代理(保姆级)
793 0
|
XML SQL Java
MyBatis——创建mapper、mybatis主配置文件模板、使用工具类或传统dao方式实现数据库的一些操作、MyBatis代理
MyBatis——创建mapper、mybatis主配置文件模板、使用工具类或传统dao方式实现数据库的一些操作、MyBatis代理
MyBatis——创建mapper、mybatis主配置文件模板、使用工具类或传统dao方式实现数据库的一些操作、MyBatis代理
|
运维 负载均衡 Cloud Native
「读写分离」RDS PostgreSQL数据库代理发布,助力降本增效
基于MaxScale的RDS数据库代理服务能够帮助客户实现数据库的读写分离架构,以低成本实现应用横向扩展能力。
695 0
「读写分离」RDS PostgreSQL数据库代理发布,助力降本增效
|
SQL Java 中间件
重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」
可能很多小伙伴认为技术开发就是承接下产品需求,写写CRUD,不会的百度一下,就完事了,总觉得别人问的东西像再造火箭一样。但在高体量、高并发的业务场景下,每一次的压测优化,性能提升,都像在研究一道数学题一样,反复的锤炼,压榨性能。不断的深究,找到最合适的设计。除了这些优化提升外,还有那么广阔的技术体系栈,都可能因为你只是注重CRUD而被忽略;字节码编程、领域驱动设计架构、代理模式中间件开发、JVM虚拟机实现原理等等。
130 0
重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」
|
Java 数据库连接 网络安全
SSH代理连接JDBC数据库
SSH代理连接JDBC数据库
710 0
|
数据库 关系型数据库 MySQL
阿里云独门绝技之无代理混合云数据库实时增量备份
一天一块钱的异地数据库实时备份,能把异地实时备份这个事情以这么低的代价做下来,对用户来说,才是真正的绝。
599 0
|
存储 数据库 数据采集
从零开始构建自己的爬虫代理IP数据库并定期检验IP有效性
从零开始构建自己的代理IP池; 根据代理IP网址抓取新的代理IP; 对历史代理IP有效性验证; python实现
1791 0
|
弹性计算 Oracle 关系型数据库
NO.8 学会如何部署Oracle数据库、了解FTP机制、通过Squid代理上网、SSH密钥登录,最后学会故障分析,着重推荐“应用数据迁移网络异常案例分析”这篇
NO.8 本月我们首先了解一下新增的部分实用功能和如何部署Oracle数据库、了解FTP机制、通过Squid代理上网、SSH密钥登录,最后我们还是要学会故障分析,着重推荐“应用数据迁移网络异常案例分析”这篇。
2098 0
|
存储 关系型数据库 数据库
scrapy爬取免费代理IP存储到数据库构建自有IP池
以抓取西刺代理网站的高匿IP并存储到mysql数据库为例 西刺网:http://www.xicidaili.com/nn/ 运行环境:scrapy1.0.3 python2.7.10 需要安装MySQLdb模块  pip install mysql-python spider的编写步骤:.
3018 0