大家好,今天继续为您介绍Oracle数据库选件。在Oracle数据库中有许多与安全相关的选件,正式介绍今天的主人公之前,为大家讲一个真实发生的小故事。有一年春节,某航空公司开通了由中国东北直飞洛杉矶的航班,我的前同事(某大学的教师)有幸乘坐首航来LA看我,从LAX接他到我家的路上,他和我说了一件刚刚发生的,让他气愤不已的事情。因为在硕士研究生的教育中,一年级的平均成绩要在76分以上才能获得硕士学位,有些学生在考试前会和某些老师协商,在认真答题的同时,可否请老师多给几分。我这位朋友是非常正直的,严格判卷,不会修改分数,但也不希望因为他这门课导致学生拿不到学位,他可以通过调整平时成绩和实验报告的权重来调整分数(这是允许的),他记得有位学生的成绩是75分(该课程最低分),他想知道这位学生是否会因此得不到学位,于是他在系统中查找这个成绩,可是怎么也找不到,成绩明明是自己录入的,而且还让助教在校验系统中录入了一遍,不会有错。成绩怎么就没有了呢?后来发现是有人来到计算中心,猜中了数据库的sys密码,直接在数据库中修改了成绩。由于,sys用户的动作没有被审计下来,所以不知道是谁做的。虽然某同学的嫌疑很大,但也没有证据,所以后来只能是重新录入进行修正。他问我有什么办法可以解决这个问题吗?因为很多高校都使用Oracle数据库,我说,这个问题非常好解决。只需要配置Oracle的数据库堡垒(DV)并使用AVDF进行审计,这样的事情就不会再发生。

在上面是Oracle中的高级安全架构,大家看到了一个叫做Database vault的组件。这个组件(选件)的中文名字是数据库堡垒,它可以在安装数据库软件时,或者在安装数据库软件后进行启用。它提供一个友好的图形化界面,通过设置规则,将管理用户与业务用户分离开。管理员无法访问业务数据,而业务用户也只能在极其苛刻的条件下访问数据库中的特定数据。比如,我们只允许成绩表中的“总成绩”字段,在特定的IP,通过特定的应用程序,在特定的时间段(工作日的早八到晚五)被添加和修改。这样,即便有人知道了登录数据库的业务密码,因为IP地址不合法,登录数据库的应用程序不合法(比如,我们仅允许apache web service登录,而入侵者使用的是sql developer),也无法添加或修改我们需要保护的数据。这样就避免出现数据被篡改的情况发生。
那么有人会问,防止篡改已经实现了,那么合法用户的工作是否可以被审计并长时间保存起来呢?之前,我们使用数据库自带的审计功能,审计数据是保存在数据库内的,占用较多的数据库空间,并且也有被恶意删除的风险。并且,有些管理用户的动作,在特定情况下是无法进行审计的。怎么解决这个问题呢?我们可以通过AVDF(审计堡垒和数据库防火墙)来帮忙。它是一套安装在独立硬件上的软件,通过在网络交换机上,将数据库服务器的端口映射到AVDF的端口,这样就可以将数据库的所有流量都审计下来,并且可以根据自己的需要设定审计日志的保存时间。因为审计日志与数据库分离,这样为数据库审计也添加了一层保护。不再出现,数据库的管理用户动作无法审计,且占用数据库过多空间的情况了。
朋友听了我的建议,启用了数据库堡垒和AVDF之后,再没有出现过成绩或其他重要数据被恶意篡改的情况了。
今天的内容就为您介绍到这里,感谢您的阅读,祝您有美好的一天。
相关链接:
编辑:殷海英





