接上:Oracle审计与数据库防火墙(AVDF)介绍
Oracle AVDF安装
1.HIS中OracleAVDF的应用实验
接下来,我们通过配置来展示下Oracle AVDF对HIS的一个应用案例,首先在完成前面的基础配置后,再次以审计人员身份登录AuditVault Server后可以看到整个界面都主控制台界面都有明显的变化。如下图示:主控标签栏里出现了“报告”和“策略”的标签,下方划分了最近生成的告警信息、按预警排名的前5个受保护目标、最近失败的登录、证明操作四个部分,这基本将目前生产环境概况展示出来了。还可以从报告中获取关于防火墙预警和审计更为详细的报告。但是这都需要审计人员事先定义好审计和防火墙的策略。
Oracle AVDF 主控制台界面界面
可以看到在主控台“策略”标签下,策略的分类中有审计设置和防火墙策略两项。策略的设置操作较为简单,但所有策略的都需要针对具体的应用来制定,但这往往又是一件复杂的事。因此这里仅对审计和防火墙的策略假设两个简单的需求来进行设置:
1、对HIS中的门诊费用记录表的插入操作进行审计;
2、防火墙对zl_Parameters_Update的调用操作进行拦截。
1.1. 审计配置
针对上面假设的两个小需求,首先选择“策略”标签下的“审计设置”菜单。然后再受保护目标列表中选择需要实现该需要的目标。选择后会自动跳转到与该目标审计设置相关的页面,页面会显列出当前该目标审计设置的一个概况,比如是否对sys用户进行审计、对多少语句或对像正在进行审计等。当然具体的信息还需要进行了具体的分类中去查看。
配置针对门诊费用记录表的审计(一)
当前审计设置概览页面。由于我们是要对门诊用费记录表的插入操作进行审计,所以这里选择“Object”这个类别。当然根据需求的不同,在这里可以选择对语句的审计、权限审计或者细粒度的审计等。
配置针对门诊费用记录表的审计(二)
在对像(Object)审计设置页面,点击“创建”,然后填写需要审计的对像信息,完成后保存。根据需求,这里需要审计的对像是类型是表,对像名称是ZLHIS.门诊费用记录,需要审计的操作是Insert。
配置针对门诊费用记录表的审计(三)
创建完成后在对像(Object)审计设置页面就会出现该审计策略。通过右侧的功能按钮可以设置是否启用该页面中选中的策略。
配置针对门诊费用记录表的审计(四)
这样一条针对门诊费用记录表插入操作的审计策略就设置完成。其它类型的审计策略设置过程与此类似,只是在审计信息填写时会有差异。
1.2. 防火墙配置
接下来设置防火墙对存储过程调用拦截的策略。选择“防火墙策略”菜单,点击创建策略。这里需要确定应用数据库的类型,该策略的名称等信息。有人这里可能会有些疑问,怎么就这样创建策略?策略知道我要拦截的存储过程是哪一个吗?可能没有接触过防火墙的的人在这里都会有类似这样的疑问,其实在防火墙策略的下面还有一个叫做规则(rule)的概念,真正起作用的正是策略中所定义的那些规则。
配置针对zl_Parameters_Update过程的防火墙(一)
确定创建策略后会自动跳转到定义规则的页面。由于我们的需求是拦截zl_Parameters_Update这个存储过程,所以在规则定义的页面需要选择设置SQL分析的规则。因为此前已使用ZLHIS程序连接目标数据库作过了些操作,防火墙已将我们程序中的常用SQL记录下来。这里在主报表中找出需要拦截的SQL语句,然后选择右侧的设置策略,在弹出的设置控制策略的对话框中指定阻止该SQL语句以及日志记录级别和威胁严重性等信息。
配置针对zl_Parameters_Update过程的防火墙(二)
设置控制策略。设定操作为阻止(block),日志记录为一次,威胁严重性为中等。这里仅是针对前面的需要来制定的规则,所以要求我们在实际制定规则的时候一定要先弄清楚应用的需求。规则设定完成后,还需要在策略定义主控界面的右侧将刚才定义的策略进行发布。
配置针对zl_Parameters_Update过程的防火墙(三)
上述步骤都完成了就可以将所定义的策略应用于安全目标。此时在防火墙策略主菜单下面可以看到当前已定义了哪些策略,以及哪些策略已经应用于安全目标数据库了(部署时间栏中状态为NO的即为新定义还没有应用的,反之状态Yes的为已应用的)。
配置针对zl_Parameters_Update过程的防火墙(四)
跳转到“受保护目标”标签下的“目标”菜单页面,选择需要应用防火墙策略进行保护的目标,在防火墙策略栏选择上面刚才定义的那条策略并保存。同时,在该页面中还能对审计策略、存储过程审计、用户授权等进行设置。
配置针对zl_Parameters_Update过程的防火墙(五)
最后,在所有的策略、规则都已定义并指定应用之后,接下来看一看作为每一个审计者最关心的内容——报告。部署Oracle Audit Vault and Database Firewall的初衷就是为了保护安全目标,对潜在的安全威胁进行预警,以现实有效的规避安全风险。
在Oracle Audit Vault and DatabaseFirewall中已经预先内置了相当数量的各种报告,基本已能够满足大部分审计工作的需要。并且OracleAudit Vault and Database Firewall还支持自定义报告,可以通过修改其提供的报告模板以实现一些特殊的需求。以下为报告主控台页面截图:
Oracle AVDF主按界面(六)
其中根据需求的不同报告的格式、内容、展现形式等都比较多,本文中也无法去一一列举。
1.3. 效果展示
以下仅以前文中为满足假设需求所设置的两个策略生成的报告截图为例。为了产生数据,我们需要首先运行ZLHIS应用程序来触发对门诊费用记录表进行插入和调用zl_Parameters_Update这个存储过程的操作。
因为是假设的需求,所以先在ZLHSI程序的门诊收费模块中进行参数设置,该操作确定时就会调用zl_Parameters_Update存储过程。
ZLHIS软件操作(一)
随后需要实现对门诊费用记录表插入的操作,所以接下来模拟一笔门诊收费的操作,该操作将会对门诊费用记录表插入数据。
ZLHIS软件操作(二)
完成上面的操作后,我们就可以到报告中去查看对应的报表。如下图示:
Oracle AVDF报告查阅(一)
点击审计报告报表最左侧的空白页图标还能得到更加详细的信息,包括操作来自于哪个客户端、操作系统进程ID、SQL语句绑定变量值等内容。
Oracle AVDF报告查阅(二)
防火墙策略对zl_Parameters_Update存储过程调用拦截的报告。
Oracle AVDF报告查阅(三)
此外,除了使用浏览器在线查看各种报告还可以指定以PDF或XLS格式生成离线的报告。下图为生成的XLS格式的报告。
Oracle AVDF报告查阅(四)
Oracle AuditVault and Database Firewall的安装、配置以及部署应用较以往所使用的Oracle其它产品来讲可能略微显得复杂了一些。 但是对于此产品的应用来讲,更重要的应该还是理清业务的需求,哪些操作需要审计、哪些需要阻止、哪些只是警告,等等。不管如何复杂,安装配置都是固定的步骤而已,使用次数多了也就熟悉了,而业务的需求却是变化万千。只有清晰的理解了业务的需求,制定出良好的策略才能使Oracle Audit Vault and Database Firewall更好的实现预期的保护目标。