1、数据库安全网关用户使用手册国家电网信息安全实验室2023 年 12月I目 录1.简介11.1.产品概述11.2.产品功能12.安装22.1.目标22.1.1.数据库安全加固系统配置32.1.2.Oracle客户端配置82.1.3.使用数据库安全加固系统83.详细配置说明113.1.ORACLE客户端配置113.1.1.Oracle客户端通道的建立113.2.系统配置123.2.1.系统123.2.2.效劳映射配置123.2.3.权限配置133.2.4.连接监控153.2.5.日志管理153.3.使用数据库安全加固系统163.3.1.启动效劳程序163.3.2.应用程序访问数据库173.3.3.
2、连接监控173.3.4.日志管理183.3.5.密码管理193.4.管理员日志审计194.附录A ORACLE网络连接设置201. 简介1.1. 产品概述由于Oracle数据库本身安全性的缺乏,攻击者可能通过非正常途径来访问数据库,甚至实施缓冲区溢出或SQL注入来攻击数据库,从而造成敏感信息的泄漏,危害数据安全以及信息系统的安全。为保障数据库以及信息系统的安全,在应用系统和数据库之间增加一个透明数据库安全加固系统,对数据库的所有操作必须通过该系统才能完成,到达对数据库安全加固的目的。引入数据库安全加固系统后,数据库系统的体系结构如图1-1所示。图1-11.2. 产品功能1数据库映射。通过映射,
3、把真实数据库与应用程序隔离,用户只能访问映射的“映像数据库;2连接控制。可以限制访问数据库的连接数,连接数范围是1-50,支持多用户并发连接;3实体权限管理。通过配置各用户对数据库的访问权限独立于数据库的权限控制,到表一级,严格限制“IP+用户名对数据库的操作。防止攻击者以不同IP或不同用户名非法连接到数据库或者攻击者非法提升权限后进行“合法的越权访问;4连接监控。实时监控当前所有到数据库的连接,监控信息包括连接建立时间、来源IP、用户名、上行流量、下行流量、非法操作攻击统计等。管理员可以随时中断指定的连接;5攻击保护。分析连接的指令流,自动识别出缓冲区溢出攻击和SQL注入攻击,并自动阻止攻击
4、;6审计。对不同的数据库、用户、表,可配置不同的审计谋略。审计事件包括建立连接、断开连接、非法操作、常规SQL操作、攻击等。可通过时间精确到天、IP、用户名、事件类型等条件进行审计结果查询,查询结果可以导出为XML、TXT等格式文件;7支持ODBC、JDBC、OCI多种编程接口;2. 安装启动硬件,通过终端访问硬件数据库安全加固系统,修改IP为需要的IP即可完成部署。硬件默认第一网口开启,默认ip:192.168.0.10;系统默认账户“admin和密码“abcde12345。 2.1. 目标假设现有一个数据库效劳器,IP地址为192.168.0.1,运行Oracle数据库,端口为默认的152
5、1。应用效劳器IP地址为192.168.0.2,使用scott用户,业务处理中仅需要对模式scott下的dept表的访问操作。本例中应用程序为Oracle的客户端工具sqlxplus, 数据库系统没有进行任何安全防护。在本例中,希望通过部署数据库安全加固系统,到达如下目的:l 屏蔽数据库原端口,而使用6000端口对外提供数据效劳,防止缺省扫描。l 仅允许192.168.0.2上的scott用户,且只允许其对数据库scott下的dept表执行操作。l 对于来自于其它IP的用户拒绝连接到数据库,对于来自于192.168.0.2上的其它用户也拒绝连接到数据库l 对于192.168.0.2上的scot
6、t用户,不允许访问scott.dept以外的表视图l 防止任意用户进行缓冲区溢出攻击和SQL注入攻击2.1.1. 数据库安全加固系统配置启动设备,直接输入 :/IP/srs_ora IP为该硬件设备的IP即可。输入管理员账号:xx,输入默认密码:abcde12345。如以下列图:图2-1成功后,进入效劳映射列表页面,如图2-2所示。系统将显示所有的效劳映射信息。图2-2点击添加按钮,添加效劳器映射。在如下输入框中输入:自定义映射名:map3;IP地址:数据库效劳器IP,输入192.168.0.1,选择本地监听IP,如果本机只有一个IP,将不能选择,如果有多个IP,请指定需要绑定的IP,数据库类
7、型选择oracle。图2-3点击确定完成添加映射。最大连接数默认。点击效劳映射节点,在右侧面板选中一个效劳映射可以修改和删除效劳映射。修改之后,需重启该映射生效图2-4。先停止,再运行图2-4配置客户端:点击授权节点下的客户端,如以下列图:图2-5点击客户端白名单列表下的添加按钮,添加可以访问的客户端,客户端可以是单个IP,也可以是一个IP段,如以下列图:图2-6输入客户端名称,起始IP和终止IP,如果要设置单个IP,将起始IP和终止IP设置为相同即可。这些IP将可以访问数据库映射;如果添加到黑名单里,那么这些IP将无法访问数据库映射。客户端说明填写一些注记。添加成功后选中在客户端节点的右侧面
8、板中选中一个客户端实例,可以通过修改按钮和删除按钮来编辑和删除客户端。完成之后在授权节点处点击立即应用按钮。配置用户:在客户端节点下选择客户端ClientA,右侧显示用户白名单列表和用户黑名列表,如图2-7:图2-7单击白名单列表上的添加按钮,出现添加用户面板,如图2-8:图2-8点击确定按钮,那么说明客户端ClientA可以通过用户scott到map1映射的数据库上,其他用户比方system时,系统将会根据默认审计谋略做出相应的动作。同样,如果在黑名单上添加,意味着除了scott剩下的用户都可以正常。点击ClientA节点,在右侧的面板上选中一个用户可以对其进行删除和修改,之后点击授权节点下
9、的立即应用按钮。配置用户权限:可以通过两种方式来配置用户权限(1) 选中scott节点, 点击数据库白名单,在右侧点击添加按钮添加数据库,如图2-9:图2-9如果选择无子节点,表示数据库下所有的模式和表都采用越权审计谋略。如果选择有节点,那么点击数据库节点来添加模式,同样,点击模式节点可以添加字段。数据库黑名单的添加方法类似。(2) 选中scott节点,右侧面板将显示当前可用已经参加的组和未参加的组。组是一个数据库权限和越权审计谋略配置的集合,添加方法和(1)中的一样。在当前用户未参加组列表中选中一个组,点击添加,添加到当前用户已参加组列表,如图2-10。然后scott就拥有了组group1里
10、的所有配置。也可以在组的配置页面上将scott添加到组。图2-102.1.2. Oracle客户端配置要访问Oracle效劳器,我们必须通过Oracle客户端或者JDBC来进行。具体配置步骤参见3.1的Oracle客户端配置。此处我们配置客户端网络效劳名orcl2.2.1.3. 使用数据库安全加固系统数据库安全加固系统对应用程序来说是透明的。合法操作与没参加数据库安全加固系统时一致,非法操作那么返回操作失败,并审计其操作。点击配置系统右上角的保存按钮,保存配置;点击启动按钮,启动数据库安全加固系统。运行Oracle客户端SQLPLUS:图2-11在SQLPLUS中输入“conn system/
11、123456orcl2;,并执行。显示已连接。尝试使用select语句访问dept表格的数据。尝试使用其它用户,并访问其它表格或者视图的数据。操作结果验证上述合法操作均成功进行,与部署该数据库安全加固系统之前并没有区别,这也正是该系统完全透明所在,用户访问的并不是一个真实存在的数据库,而是一个虚拟的数据库系统,但是结果和数据库系统并无二致。尝试使用缓冲区溢出攻击和SQL注入攻击, 操作结果说明上述非法操作失败。上述操作结果说明数据库安全加固系统到达了对Oracle数据库安全防护的目的。在应用程序进行操作的时候,展开一个效劳映射实例,点击连接节点,右侧显示连接监控面板,可以看到当前连接到数据库的
12、所有连接。点击右侧断开按钮,可以断开选定的连接,如图2-12。点击连接按钮下的日志按钮,可查看该效劳映射的审计记录。也可以通过关键字来进行查询。图2-12图2-13图2-14,为scott的审计日志。我们可以看到查询dept表显示越权。这正是我们期望的结果,在设置中我们设置了对dept表只允许insert,因此所有其他操作均记录为越权访问。图2-143. 详细配置说明3.1. ORACLE客户端配置数据库安全加固系统安装完成后,需要对ORACLE客户端进行必要的配置,保证客户端能够正确连接我们的虚拟数据库效劳器到达屏蔽真实数据库的目的。3.1.1. Oracle客户端通道的建立翻开企业管理器控
13、制,右键单击左侧树“数据库,选择“将数据库添加到树,弹出添加对话框:图3-1此处主机名为我们虚拟的数据库所在主机名或者IP,端口为虚拟的数据库端口,即映射端口,SID为数据库实例名,网络效劳名那么是客户端通道名称;确定之后将会在左侧出现我们刚刚添加的效劳名。启动数据库安全加固系统,我们就可以利用刚刚配置的通道进行数据库操作。3.2. 系统配置3.2.1. 系统翻开浏览器,输入 :/IP/srs_ora。输入账号admin,默认密码:abcde12345。如以下列图:图3-23.2.2. 效劳映射配置点击“效劳映射进入“效劳映射面板,在此面板配置效劳器映射。通过映射,把原来的数据库端口对应用程序
14、隐藏起来,应用程序访问的是映射后的“虚拟数数据库。点击添加按钮,在如下输入框中输入:映射名称、效劳器IP地址、效劳器端口、本地监听IP地址、映射后监听端口以map1、192.168.0.250、1521、本机所有IP,6688,oracle为例。直通:表示是否需要让通过该端口的连接直接放行,不进行任何检测。作为数据库映射,此处我们不选择直通。当该台效劳器需要作为其他应用时,我们为了隐藏应用效劳本身的端口,可以在此处设置映射端口,该效劳的客户端可以通过配制成映射后的端口进行访问。注意:作为客户端和效劳器的中间层,如果效劳器中运行有除oralcle以外的其它应用,请在此处配置端口映射,保证其它效劳
15、的正常通信。图3-3点击确定完成添加映射。可以添加多个映射,对应多个数据库,表示多个数据库通过此数据库安全加固系统控制访问。点击修改按钮,可对当前效劳器映射进行修改。点击删除按钮,删除当前映射,并会级联删除权限配置中该数据库的所有权限配置详见3.2.3权限配置。注意:映射名称不能为中文。使用技巧:也可以配置数据库安全加固系统,仍然对外提供1521端口,而隐藏实际的Oracle端口。此时需要修改Oracle的效劳器监听端口,并重启效劳,而应用程序的不用进行任何修改。具体配置请参见Oracle监听端口配置3.2.3. 权限配置图3-3-1在图3-3-1中,体现了权限的分配。1) 配置允许连接到数据的客户端IP地址。如以下列图: