Oracle中间件 - 不安全SQL拦截

2017-11-22 19:49:52来源:CSDN作者:Loydia人点击

分享

1.概述

众所周知,不安全的SQL语句的执行将会给企业带来一定的损失。例如drop表操作、执行update、delete不带where条件的这种语法,都会造成严重的数据损失。有些情况是人为,还有些是工作人员疏忽引起的等等,但不管是那种行为,都有必要进行一定的防范。在应用层及环境不做变动的情况下,采取中间件的方式是比较合理的解决方案。也就是说使用者的使用方式还是跟以前一样,只是我们在应用层和数据库层串联一个中间件程序,应用层连接中间件跟连真实数据库达到的是同样的效果。这个时候我们就可以用它来达到安全防护的目的。为了让大家理解这个工作流程,我用中间件(OneGuard)做了下演示。


2.演示

目的:禁止drop语句的执行、update/delete不带where条件的执行

服务端环境:Oracle11g

测试的客户端:sqlplus,plsql


步骤1:启动oneguard程序


在启动前,我们已经配置好了相关规则并配置了被拦截显示的错误消息,请继续看下方。


步骤2:使用客户端连接oneguard,如图工作端口是8221,我们只需要将平时连1521的端口改成此端口即可。

sqlplus:



plsql:

执行drop操作被拦截



执行delete不带条件被拦截



执行select语句,正常执行




再来个复杂语法的,其中包含delete不带where语句



3.结束语

如上内容所示,只需要让客户端连接到oneguard,其他不用做任何变动,即可得到实用且丰富的安全防护功能。


如果对此内容感兴趣,可以加入此群一起交流(QQ群:578757716

微信扫一扫

第七城市微信公众平台