数据库安全访问中间件技术白皮书.docx
- 文档编号:30623388
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:9
- 大小:180.39KB
数据库安全访问中间件技术白皮书.docx
《数据库安全访问中间件技术白皮书.docx》由会员分享,可在线阅读,更多相关《数据库安全访问中间件技术白皮书.docx(9页珍藏版)》请在冰豆网上搜索。
数据库安全访问中间件技术白皮书
DB-SES数据库安全访问中间件
技术白皮书
1.产品简介
随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域。
但随之而来产生了数据的安全问题。
数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要。
小则关系到企业兴衰、大则关系到国家安全。
在涉密单位或者大型企业中,广泛的实施了安全防护措施,包括机房安全、物理隔离、防火墙、入侵检测、加密传输身份认证系统等等。
但是数据库的安全问题却一直得不到应有的重视。
同时,之前的市场上也缺乏有效的数据库安全增强产品。
这就致使数据库及其应用系统在安全方面普遍存在一些安全隐患。
其中比较严峻的几个方面表现在:
(1)由于国内只能购买到C2安全级别的数据库安全系统,该类系统采用自主访问控制(DAC)模式,DBA角色能拥有至高的权限,权限可以不受限制的传播。
这就使得获取DBA角色的权限成为攻击者的目标。
一旦攻击者获得DBA角色的权限,数据库将对其彻底暴露,毫无任何安全性可言。
(2)数据库系统是一个复杂的系统,根据已经公布的资料,数据库存在许多漏洞,其中不少是致命的缺陷和漏洞。
举例来说,号称拥有全球最安全的数据库产品的Oracle公司在2006年1月发布了其季度安全补丁包,该补丁包修补了多个产品中的80多个漏洞。
其中不少漏洞可以非常容易地被黑客利用,一旦遭到攻击将给用户造成严重影响。
(3)数据库及其应用系统每天都可能受到包括SQL注入攻击在内的广泛的攻击。
攻击者利用应用程序设计中的漏洞,对数据库系统发起攻击,获得不应该具有的权限,甚至下载整个数据库文件,给数据库的安全造成严重威胁。
(4)C2级数据库采用基于口令的认证方式。
本身缺乏有效的登录口令管理机制,口令更换周期长,使用复杂口令很困难,口令泄露的风险大。
由于C2级商业数据库管理系统在上述各个安全方面的不可信,攻击者可能通过非正常途径来访问数据库,破坏系统的安全性。
为增强数据库系统的安全,本产品在应用系统和数据库之间增加一个透明中间件,来屏蔽数据库系统的访问入口。
所有用户,包括DBA,必须通过中间件才能对数据库进行访问或管理。
中间件提供透明代理、多重安全认证、完全独立的授权管理、动态密码(辅助登录)等功能,达到牢牢控制数据库入口的目的。
2.产品安全特性
1、屏蔽用户和应用程序直接访问数据库所有通道和隐通道
部署中间件之前,应用服务器和用户直接连接到数据库服务器,如下图所示:
由于数据库服务器直接与用户和应用服务器连接并提供服务,极易受到形形色色的攻击。
并且数据库系统存在的未知的隐通道,也很容易被攻击者利用。
数据库服务器通常采用默认的端口,比如Oracle的1521端口,SQLSERVER的1433端口。
攻击者可以轻易的扫描这些端口,得知数据库的类型,进而进行攻击。
部署中间件之后,中间件介于数据库服务器和应用服务器之间,如下图所示:
数据库服务器与应用程序之间通过中间件进行隔离。
所有对数据库的访问都必须经过中间件进行。
各种隐通道也相应被屏蔽,不会被攻击者直接利用。
中间件提供的端口映射功能,隐藏实际的数据库端口,使得对外提供的服务端口可以是任意空闲的端口,不再是缺省端口,攻击者难以得知数据库端口的所在。
2、应用软件到数据库的访问经过二次认证和独立权限检查
在部署中间件以前,由于数据库直接与应用程序进行连接,且只能通过口令进行认证,数据库极易受到假冒用户的连接和恶意的攻击。
由于DBA角色具有超级权限,当恶意攻击者将自己的角色提高到DBA时,整个数据库将完全被其操纵。
应用服务器也极易在类似SQL注入攻击的过程中,成为攻击者的跳板。
部署中间件之后,应用程序对数据库的访问,必须经过中间件和数据库系统两层身份认证和权限检查。
中间件使用IP地址、MAC地址、以及硬盘序列号、主板序列号等多种计算机系统的特征,结合证书的验证方式,确保访问来源的真实性,杜绝IP地址欺骗和假冒用户的连接。
中间件提供与数据库系统完全独立的授权检查,对每个IP来源上的每一个用户单独进行权限控制。
权限的控制可以精确到表一级。
就算攻击者成功攻陷应用服务器,并将角色提高到DBA也是徒劳。
由于有中间件提供了独立的权限管理,攻击者仍然只能获得受限的权限,不能获取DBA的特权。
从而有效的遏制了越权访问、SQL注入攻击、存储过程非法使用等攻击类型。
3、动态口令
为解决管理员登录口令管理困难的问题,中间件提供动态口令功能。
管理员可以将登录口令交给中间件托管,在每次需要登录的时候,通过动态密码客户端获取当前登录口令。
服务器端在每次响应口令请求之后,自动更换登录口令,使之前的口令作废。
这样,管理员不必担心口令泄露的问题。
因为即使得到的口令不小心被泄露,也不会威胁到数据库,因为真正的登录口令已经被改变。
口令客户端和服务器端通过SSL加密连接,确保网络传输的安全。
动态口令采用硬件随机数发生器生成,具有很高的强度。
口令客户端同样采用证书的验证方式,结合IP地址、MAC地址、以及硬盘序列号、主板序列号等多种计算机系统的特征,确保访问来源的真实性,杜绝假冒用户的连接。
对于采用USBKEY进行身份认证的应用环境,中间件能够与现有身份认证系统结合,将USBKEY与数据库用户进行绑定。
4、高度的网络安全
中间件服务器端和客户端之间的数据传输采用SSL加密传输方式,包括动态口令在内的敏感数据不以明文的方式进行传送。
本地配置文件和审计文件进行加密存储,加密算法和密码由硬件设备提供。
5、完善的系统审计功能
系统能够审计来自每个应用服务器的访问情况。
包括请求的数据库,连接的时间,连接断开的时间,通信量大小等信息。
强制审计每次非法进入数据库系统的企图,以及每次非法越权访问的企图。
审计信息加密存储,任何人不可修改审计记录。
3.性能与易用性
1、使用多线程技术和缓存技术,支持来自多个应用系统的并发连接。
2、透明中间件的加入,对系统的效率不会造成明显的影响。
3、中间件支持TCP/IP和SSL传输协议,支持多种网络环境。
4、中间件支持OCI、ODBC、JDBC等多种连接方式。
5、采用标准的WINDOWS界面,方便用户的学习和使用。
6、现有应用程序与透明中间件之间可以无缝连接,部署和配置过程非常简单、不需要对现有的应用系统进行更改。
7、可以灵活的对每个客户端的访问权限进行配置。
可以选择全部放行、到数据库级别、模式级别、表级别的权限控制。
还可以对存储过程和函数的调用权限进行控制。
8、可以配置审计的内容。
对重要的事件,系统进行强制审计。
用户也可以选择对常规操作进行审计。
9、服务器端和客户端可以分别部署于WINDOWS或LINUX平台,用户界面完全一致。
4.产品体系结构
本产品的体系结构如下图所示。
如上图所示,产品包括中间件服务器端和中间件客户端。
服务器端连接到数据库服务器,客户端直接与用户或者应用程序连接。
服务器端与客户端通过SSL加密通道进行连接。
权限检验模块根据定制的安全策略,对提交到数据库的访问进行权限检验。
将IP地址和数据库的用户名绑定起来作为一个被授权的对象。
服务器端的权限管理包括IP地址、用户名、数据库名、模式名、表、视图、函数、存储过程等。
客户端的权限管理只包括IP地址、用户名和数据库名。
权限管理可以被设置为全部放行,这时候中间件作为一个虚拟数据库,将真实数据库和应用程序隔离,屏蔽其余的访问通道。
透明代理模块实现一个虚拟的数据库,将真实的数据库服务器IP和端口屏蔽起来,并将应用程序和数据库服务器隔离开,工作方式很类似于防火墙。
该模块允许设置服务器和客户端的加密传输方式,真实数据库服务器的IP和端口,连接超时等选项。
辅助登录模块实现登录口令的管理。
管理员可以将登录的口令安全的托管起来,实现当前登录口令的自动获取和自动更改。
所有口令进行加密保存,加密算法在USBKEY内由硬件实现,加密密钥不出KEY。
可以方便的添加用户,实现多用户的管理,可以配置自动更改密码的时间。
证书管理模块实现基于证书的客户端认证,以及SSL的加密传输。
服务器端具有CA证书中心的功能,可以为客户端颁发证书,建立认证体系。
证书中将计算机系统的硬件信息进行绑定,以保证数据来源的真实性。
审计模块实现审计功能。
审计方式包括强制审计和对常规操作的审计。
强制审计只审计诸如数据库连接、越权访问、不在授权IP地址范围内的连接请求等。
对常规操作的审计则包括对所有SQL语句的审计。
审计信息也进行加密保存,任何用户只能查看,不能修改。
5.部署方案
本产品的部署具有很大的灵活性,可以根据实际情况,进行多种选择。
以下为几种典型的部署方案。
1、仅部署中间件服务器,与数据库服务器共用同一服务器
如上图所示,中间件作为一个独立的服务,部署于数据库服务器上,客户端与中间件服务程序进行连接。
将服务器的监听服务设置为只接受来自本机的IP,屏蔽访问通道。
这种部署方式不具有加密传输的安全特性,适合于已有较高安全防护等级的内网使用。
当交换的数据量很大的情况下,会对数据库服务器的性能造成影响。
2、仅部署中间件服务器,中间件服务器与数据库服务器独立
如上图所示,中间件被部署在一个独立的服务器上面,客户端与中间件服务器连接。
将服务器的监听服务设置为只接受来自中间件服务器的IP,屏蔽访问通道。
这种部署方式不具有加密传输的安全特性,适合于已有较高安全防护等级的内网使用。
当交换的数据量很大的情况下,不会对数据库服务器的性能造成影响,而且可以扩展到多中间件到多数据库服务器的多对多映射,实现负载的分摊。
3、同时部署服务器和客户端
如上图所示,中间件被部署在数据库服务器上或者独立的服务器上,连接到数据库服务器。
客户端部署在应用服务器上或者独立的服务器上,连接到应用程序。
将服务器的监听服务设置为只接受来自中间件服务器的IP,屏蔽访问通道。
这种部署方式具有加密传输的安全特性,适合于现有安全防护等级较低的网络环境中使用。
尤其适合于应用程序和数据库服务器分属于不同的机房和楼宇的情况。
并可以根据业务数据量的大小,考虑是否使用独立的中间件服务器,也可以扩展到多中间件到多数据库服务器的多对多映射,实现负载的分摊。
6.支持平台
支持的操作系统
•Windows2000,XP,2003
•Linux
•Solaris,HP-UNIX
•AIX
•服务器端和客户端可以选择不同的操作系统平台
支持的数据库
•Oracle8.1.7,Oracle9i,Oracle10G
•MicrosoftSQLServer2000
•IBMDB2
7.性能测试数据
测试用例如下:
虚拟用户数50,分别进行insert、select、delete操作。
记录每个操作和每个事务的时间特性。
运行环境为WindowsXP。
分别对比测试以下四种部署方案:
•不配置中间件
•只配置服务器:
中间件和服务器部署于同一服务器
•集成配置关闭SSL:
部署服务器端和客户端,中间件和服务器处于同一服务器,客户端同应用服务器处于同一服务器,不启用SSL
•集成配置启用SSL:
启用SSL,其余同上一配置
对比测试结果(单位:
秒):
1、事务初始化
2、insert
3、select
4、delete
5、事务活动
6、事务结束
测试结论:
中间件并不会显著降低系统的性能,部署中间件前后数据库系统响应时间并没有本质的区别。
世上没有一件工作不辛苦,没有一处人事不复杂。
不要随意发脾气,谁都不欠你的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全 访问 中间件 技术 白皮书