核心数据库保护安全技术实践

2019-07-10 00:59西安王金国北京高鹏
网络安全和信息化 2019年7期
关键词:网段网络层网关

■ 西安 王金国 北京 高鹏

编者按:如今数据成为企业的重要资产,数据库作为数据资产的最终载体和保存实体的安全越来越成为一个值得关注的重点领域。尤其是勒索软件等新型的计算机病毒带来的安全问题也同样威胁着数据库系统安全。

作为数据库管理员,保护数据安全是一项本职工作和要求。数据库系统安全除了管理制度的有效约束外,重要的技术手段也是一项基本技术能力。

本文将通过一些具体的技术措施以及数据库自身的高级方法来对企业级Oracle12C数据库进行安全加固,帮助用户从整体上了解数据库安全加固的不同层面和相关方法。

安全加固措施:

一、本地路由表实施网络层保护策略

按照当前主流系统的“客户端”“应用服务器”“数据库服务器”三层架构设计。多数数据库服务器的上层访问请求客户端数量有限,然而主机上的默认网关设置可以让主机与所有网络中的其他节点进行网络层通信,这种默认网关设置将数据库服务器直接暴露在整个网络中,从网络层来看这种设置具有很大的安全风险和隐患。

通过在操作系统上删除默认网关,并使用本地静态路由表配置方法,可以很好的对安装了数据库系统的主机进行网络客户端主机的授权访问,可以从网络层进行访问主机的授权控制,也可以实现最小化的网络访问许可。

1.Windows系统主机

在Windows主机中可以删除掉当前网卡的默认网关配置。

之后可以使用命令对需要访问的主机进行静态路由添加,命令示例如下:

route ADD 157.5.5.3 MASK 255.255.255.255 192.168.0.1 -p

其 中“157.5.5.3” 为目标地址(可以为主机地址或 网 段 地 址),“255.255.255.255”为 网 络 掩 码(当设置为4个255时,匹 配为主机地址),“192.168.0.1”为网关地址。整理允许访问的客户端地址并逐条命令执行,完成后通过命令“route print”查看,系统显式的“永久路由”既是添加的静态路由地址,如图1所示。

用户也可以通过命令“route delete”对这些静态访问主机进行删除。

2.Linux系统主机

Linux主机下的静态路由表可以通过修改Linux主机启动加载文件/etc/rc.local来实现主机静态路由控制,使用命令vi /etc/rc.local编辑如下行:

/sbin/ip ip route del default

/sbin/ip ip route addr 157.5.5.3/32 via 192.168.0.1 dev eth0

/sbin/ip ip route add 157.5.4.2/32 via 192.168.0.1 dev eth0

用户可根据自己的实际需求增加行。完成后重启系统并使用命令“ip route”检查本机路由表,如图2所示。

通过如上配置后该主机将只允许当前本网段主机及“157.5.5.3” “157.5.4.2”两台外部主机进行访问。

3.AIX系统主机

AIX作为非常成熟的Unix系统,目前依然活跃在企业级服务器市场,尽管从用户规模上来讲,其属于小众系统,但其稳定性依然值得称赞,在AIX系统中用户可以使用“smitty”命令进行各种系统级设置的配置和修改,用户需要进行静态路由控制时首先需要删除掉各个网卡的默认网关,然后使用“smitty tcpip”命令进入网络配置状态,选择“Further Configuration”模式,并继续选择“Static Routes”选项,之后选择“Add a Static Route”选项,进行静态路由添加,如图3所示。

图2 检查本机路由表

图3 进行静态路由添加

其 中“Destination TYPE”为目标节点类型,用户可以通过F4选择是网络或 者 主 机,“DESTINATION Address”为目标节点IP地 址,“Default GATEWAY Address”为到达目标节点所需的网关IP地址。用户针对目标节点逐条添加完成后可以通过“Static Routes”选 项 下 的“List All Routes”进行当前默认路由表检查和查看,效果如图4所示。

通过以上在各个系统上的静态路由配置方法,我们可以将数据库服务器的网络层访问请求进行更细粒度的控制和限制,第一可以减少很多没有必要的TCP/IP握手流量,第二可以很好的防止任何形式的外部扫描以及探测行为。可以从网络层很好的规避网关以外计算机的很多恶意行为。

图4 检查和查看当前默认路由表

二、数据库IP准入控制

Oracle数据库系统自9i开始加入了数据库IP准入技术,但限于当时系统架构模式以及技术。该项功能只能以限制单个IP地址的方式进行访问控制,并没有受到用户的重视和广泛使用。随着系统架构向三层架构的演进和发展,从11G开始数据库IP准入开始支持以网段方式控制数据库IP准入,配置更加灵活。逐步成为了数据库安全设置的常用技术方法之一。通过该技术方法加上静态路由方法可以很好的实现对访问数据库资源的动态添加、删除、修改。

1.单实例数据库修改方法

单实例数据库环境下,数据库服务器上只有“ORACLE”账号作为数据库系统管理员账号,需要启用数据库IP准入功能时只要以“oracle”用户登录系统并修改$ORACLE_HOME/network/admin/sqlnet.ora文件,并加入如下行:

tcp.validnode_checking = yes

tcp.invited_nodes=(157.5.3.*,157.5.4.3)

其 中“tcp.validnode_checking = yes”参 数 作用是激活数据库检查IP合法性特性。“tcp.invited_nodes”为允许登录的IP地址。括号中“157.5.3.*”为网段,“157.5.4.3”为具体IP地址。网段设置方法必须要在ORACLE11G以后的数据库系统才能获得该语法支持。多网段或者多地址时可以依次使用逗号进行分隔即可。

2.RAC实例数据库修改方法

使用过OracleRAC的用户可能会发现,OracleRAC在安装之后会在“grid”“oracle” 的ORACLE_HOME中分别都创建了network/admin/sqlnet.ora文件,对于OracleRAC环境的数据库IP准入控制用户需要需改“grid”用户下的$ORACLE_HOME/network/admin/sqlnet.ora文件,并需要注意的是,应该在所有RAC节点上对该文件进行修改。具体设置方法可以参照ORACLE单实例修改方法。

三、数据库使用独立插拔数据库实现数据库级数据安全隔离

Oracle 12C引 入 了CDB与PDB的 新 特 性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。

在ORACLE 12C之前,实例与数据库是一对一或多对一 关 系(RAC)。ORACLE 12C之后,实例与数据库可以是一对多的关系。该特性很好的隔离了之前数据库那种单库内用户权限设置不当带来的非授权用户对其他用户数据库对象访问或者修改的问题。一个应用完全可以以一个插拔数据库的方式来对该应用的所有数据进行管理和控制,同时该应用创建的DBA角色也完全和其他应用插拔数据库DBA角色分离。

图5 12.1.0.2的默认审计策略

应用间数据库关系可以理解为传统数据库那种彼此分属于不同物理机的关系。该特性集中了物理资源的使用,但更好的隔离了数据库间的角色以及权力,较过去的一个数据库下多用户需要统一DBA管理模式有更好的安全隔离性。

四、数据审计

Oracle 12C推 出 一套全新的审计架构,称为统一审计功能。统一审计主要利用策略和条件在Oracle数据库内部有选择地执行有效的审计。新架构将现有审计跟踪统一为单一审计跟踪,从而简化了管理,提高了数据库生成的审计数据的安全性。Oracle 12C数据库中预先定义了一些审计策略,并且根据版本不同,默认开启的审计策略也略有不同。

现在,我们可以通过auditunifiedenabled_policies视图进行确认默认开启的统一审计的审计策略。图5为12.1.0.2的默认审计策略。

由上面的输出结果我们可以看到,不做任何配置的情况下,在12.1.0.2数据库的环境中,默认开启 了ORASECURECONFIG和ORALOGONFAILURES审计策略,数据库会根据这2个审计策略,对数据库具有DBA权限的用户登录失败以及DBA登录成功后执行的所有DDL语句进行记录。

在统一审计功能下,存储和查看更加简单化,所有的审计结果都存放在新追加的AUDSYS schema下,并可以通过字典表UNIFIEDAUDITTRAIL,进行确认。通过审计功能可以很好的发现和保护数据库DBA的操作行为和账号安全。

猜你喜欢
网段网络层网关
商用车网络架构设计探讨
基于FPGA的工业TSN融合网关设计
“复兴号”17辆编组动车组列车总线网段扩展的设计研究
一种主从冗余网关的故障模式分析与处理
天地一体化网络地面软网关技术及其应用
车联网网关架构的设计
论物联网安全威胁及其应对策略
用无线路由器共享单位局域网
物联网技术在信息机房制冷系统中的应用
浅析TDCS/CTC系统中心网络防火墙的链接