数据库系统的安全性(精选十篇)
数据库系统的安全性 篇1
在现代社会中,数据库技术的应用无处不在。重要的信息系统开发,比如管理信息系统(MIS)、企业资源计划(ERP)、客户关系管理系统(CRM)和智能信息系统(IIS)等,都离不开数据库技术强有力的支持。但是,数据库的安全性还没有被人们与系统的安全性等同起来,多数管理员认为只要把网络和操作系统的安全搞好了,那么所有的应用程序也就安全了。大多数系统管理员对数据库不熟悉而数据库管理员又对安全问题关心太少,这就使得数据库的安全问题更加严峻。另外,数据库系统中存在的安全漏洞和不当的配置通常会造成严重的后果,而且都难以发现。因此,数据库系统的安全性是每个数据库管理员都必须认真考虑的问题。
Microsoft SQL Server是一种典型的关系型数据库管理系统,以其强大的功能、操作的简便性、可靠的安全性,得到很多用户的认可,应用也越来越广泛。SQL Server为维护数据库系统的安全性提供了完善的管理机制和简单而丰富的操作手段。在实际应用中,用户可以根据系统对安全性的不同需求采用合适的方式来完成数据库系统安全体系的设计。作为SQL Server的数据库系统管理员,需要深入的理解SQL Server的安全性控制策略,以实现管理安全性的目标。
本文主要谈论关于数据库的安全机制以及SQL Server的安全策略和配置问题。
2 探讨数据库的安全性机制
数据库的安全性是指保护数据库以防止不合法的使用造成的数据泄密、更改或破坏。
安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。
在一般计算机系统中,安全措施是一级一级层层设置的。如图1所示。
从图1中可以看出,用户要求进入计算机系统时,系统首先根据输入的用户标识进行用户身份鉴定,只有合法的用户才准许进入计算机系统。对已进入系统的用户,DBMS还要进行存取控制,只允许用户执行合法操作。操作系统一级也会有自己的保护措施。数据最后还可以密码形式存储到数据库中。
2.1 用户标识与鉴别
用户标识和鉴别是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标示自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。对于获得上机权的用户若要使用数据库时数据库管理系统还要进行用户标识和鉴定。
用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有:用一个用户名或者用户标识号来标明用户身份。系统内部纪录着所有合法用户的标识,系统验证此用户是否合法用户,若是,则可以进入下一步的核实;若不是,则不能使用系统。为了进一步核实用户,系统常常要求用户输入口令(Password)。为保密起见,用户在终端上输入的口令不显示在屏幕上。系统核对口令以验证用户身份。通过用户名和口令来鉴定用户的方法简单易行,但用户名与口令容易被人窃取,因此还可以用更复杂的方法。例如每个用户都预先约定好一个计算过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据用户计算结果是否正确进一步鉴定用户身份。用户可以约定比较简单的计算过程或函数,以便计算起来方便;也可以约定比较复杂的计算过程或函数,以便安全性更好。用户标识和鉴定可以重复多次。
2.2 存取控制
数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。存取控制机制包括两部分:一方面是定义用户权限,并将用户权限登记到数据字典中。用户权限是指不同的用户对于不同的数据对象允许执行的操作权限。系统必须提供适当的语言定义用户权限,这些定义经过编译后存放在数据字典中,被称作安全规则或授权规则。另一方面是合法权限检查,每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全远见则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。
用户权限定义和合法权检查机制一起组成了DBMS的安全子系统。
2.3 数据加密
对于高度敏感性数据,例如财务数据、军事数据、国家机密,除以上安全性措施外,还可以采用数据加密技术。数据加密是防止数据库中数据在存储和传输中换密的有效手段。
至于操作系统的安全保护在本文中不再累述。
3 SQL Server的安全性机制
对于数据库管理来说,保护数据不受内部和外部侵害是一项重要的工作。Microsoft SQL Server正日益广泛的使用于各部门内外,作为SQL Server的数据库系统管理员,需要深入的理解SQL Server的安全性控制策略,以实现管理安全性的目标。
SQL Server的安全性机制可以划分为4个等级:客户机操作系统的安全性;SQL Server的登录安全性;数据库的使用安全性;数据库对象的使用安全性。每个安全等级就好像一道门,如果门没有上锁,或者用户拥有开门的钥匙,则用户可以通过这道门达到下一个安全等级。如果通过了所有的门,则用户就可以实现对数据的访问了,如图2所示。
3.1 操作系统的安全性
在用户使用客户计算机通过网络实现对SQL Server服务器的访问时,用户首先要获得客户计算机操作系统的使用权。一般来说,在能够实现网络互连的前提下,用户没有必要向SQL Server服务器的主机进行登录,除非SQL Server服务器就运行在本地计算机上。SQL Server可以直接访问网络端口,所以可以实现对Windows NT或Windows 2000 Server安全体系以外的服务器及其数据库的访问。
3.2 SQL Server的安全性
SQL Server的服务器安全性建立在控制服务器登录账号和口令的基础上。SQL Server采用了标准的SQL Server登录和集成Windows2000/NT登录两种方法。无论是哪种登录方式,用户在登录时提供的登录账号和口令决定了用户能否获得SQL Server的访问权,以及在获得访问权后用户在访问SQL Server进程时可以拥有的权利。管理和设计合理的登录方式是SQL Server DBA的重要任务,是SQL Server安全体系中,DBA可以发挥主动性的第上道防线。SQL Server事先设计了许多固定的服务器角色,可供具有服务器管理员资格的用户分配使用权利,拥有固定服务器角色的用户可以拥有服务器级的管理权限。
3.3 数据库的安全性
在用户通过SQL Server服务器的安全性检查以后,将直接面对不同的数据库入口。在建立用户的登录账号信息时,SQL Server会提示用户选择默认的数据库。以后用户每次连接上服务器后,都会自动转到默认的数据库上,对任何客户来说,Master数据库的门总是打开的,如果在设置登录账号时没有指定默认的数据库,则对用户的权限将局限在Master数据库以内。
默认情况下,只有数据库的拥有者才可以访问该数据库的对象,数据库的拥有者可以给别的用户分配访问权,以便让别的用户也拥有针对该数据库的访问权利,在SQL Server中并不是所有的权利都可以自由转让和分配。由于master数据库存储了大量的系统信息,对系统的安全和稳定起着至关重要的作用。所以建议用户在建立新的登录账号时,最好不要将默认的数据库设置为master数据库。而应该根据用户实际将要进行的工作,将默认的数据库设置在具有实际操作意义的数据库上。不过如果用户不具有相当高的权限,也不会对系统信息造成危害。
3.4 SQL Server数据库对象的安全性
数据库对象的安全性是核查用户权限的最后一个安全等级。在创建数据库对象的时候,SQL Server自动将该数据库对象的拥有权赋予该对象的创建者。对象的拥有者可以实现该对象的完全控制。默认情况下,只有数据库的拥有者可以在该数据库下进行操作。当一个非数据库拥有者的用户想访问数据库里的对象时,必须事先由数据库的拥有者赋予该用户某指定对象的指定操作权利,例如一个用户想访问数据库中的信息,则它必须在成为数据库的合法用户的前提下,获得由数据库拥有者分配的针对表的访问权限。
4 SQL Server的安全设置
通过上述文章的介绍,我们对SQL Server的安全性机制有了一定的了解,下面我们将介绍SQL Server中安全配置的一些注意事项。
4.1 身份验证模式的选择
在第一次安装SQL Server或者使用SQL Server连接其他服务器的时侯,需要指定验证模式,SQL Server的身份验证模式有两种:Windows身份验证(Windows Authentication)模式和混合模式(Mixed Mode)。Windows身份验证模式最适用于只在部门访问数据库的情况。与SQL Server身份验证模式相比,Windows身份验证模式具有下列优点:提供了更多的功能,例如安全确认和口令加密、审核、口令失效、最小口令长度和账号锁定;通过增加单个登录账号,允许在SQL Server系统中增加用户组;允许用户迅速访问SQL Server系统,而不必使用另一个登录账号和口令。混合模式最适合用于外界用户访问数据库或不能登录到Windows域时。混合模式的SQL Server身份验证方式有下列优点:混合模式允许非Windows NT/2000客户、Internet客户和混合的客户组连接到SQL Server中;SQL Server身份验证方式又增加了一层基于Windows的安全保护。根据用户的需要我们可以选择的相应的身份验证模式,以完成SQL Server的安装。
4.2 设置登录账户
在使用SQL Server时,用户需登录SQL Server服务器,如果要采用SQL Server提供的标准登录模式实现SQL Server服务器的登录连接,用户必须拥有合法的账号和正确的密码。在SQL Server系统中,登录密码并不是必须的。但是用户最好设置密码,没有密码的保护,SQL Server的服务器级安全保护就象没有上锁的大门,知道门的位置的用户都可以畅通无阻。创建账户比较简单,例如我们可以通过“exec sp_addlogin'wlf','12345','webdata'”这样的命令创建一个名叫“wlf”,密码是“12345”默认数据库为“webdata”的账户。
另外,要养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的SQL语句:
Use master
Select name,password from syslogin where password is null
在完成SQL Server安装后,SQL Server建立了一个特殊的账户sa。sa账户拥有服务器和所有的系统数据库。不管SQL Server实际的数据所有权如何,sa账户默认是任何用户数据库的主任。所以sa拥用最高的管理权限,可以执行服务器范围内的所有操作。在刚完成SQL Server安装时,sa账户没有密码,这是非常危险的,完成安装后第一件事,就是设置sa账户的密码。由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个账户进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa账户,只有当没有其它方法登录到SQL Server实例(例如,当其它系统管理员不可用或忘记了密码)时才使用sa。建议数据库管理员新建立一个拥有与sa一样权限的超级用户来管理数据库。
4.3 角色与权限
很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配账户,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public帐号能够select就可以了。
5 结束语
SQL Server提供了各种方式来控制用户对数据的访问,在每一等级上实施安全性的程度应该根据具体情况来确定。在对象级上,一般情况下,应该授予范围较大的访问权限,然后再根据实际要求来限制或拒绝某些用户拥有指定的权限。良好的安全性管理,能够在有效控制用户访问的基础上,相对比较容易地实现管理。要实现这种目标需要经验的积累。
参考文献
[1]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,1983.283-300.
[2]周绪.SQL Server2000入门与提高[M].北京:清华大学出版社,2001.343-371.
数据库系统的安全性 篇2
由于Oracle数据库备份有三种方式,每种方式具有不同的恢复特性,因此应集成数据库与文件系统备份,集成逻辑备份和物理备份。
一、备份策略
1.在操作系统级,使用大容量磁盘阵列,通过磁盘映像技术使每一个数据库文件自动分布于每个物理磁盘。这样,当某个磁盘出现物理损坏时,操作系统会自动引发映像磁盘来取代失效的磁盘,保证数据库的正常运行。
由于我们使用的是双服务器,因此在另一服务器上保留一个备份数据库。备份数据库与正在使用的数据库具有相同的参数状态,这样在数据库故障中,只需作必须的最少恢复,最大限度地缩短了恢复时间。
在多个不同的物理磁盘上保持多个控制文件的备份。控制文件在数据库恢复期间用于引导Oracle,因此保持多个控制文件的备份,可以确保在出现磁盘故障后,能有可用的控制文件用于数据库恢复。
使数据库运行在ARCHIVELOG(归档)方式下,归档日志存放于另一映像的逻辑磁盘上。
每晚进行一次联机备份操作,备份所有数据文件、所有归档日志文件、一个控制文件。
每周进行一次输出(Export)操作。
二、恢复策略
1.实例失败
从实例失败中恢复是自动进行的。实例失败一般是由服务器失败引起的,当数据库实例失败后,重新启动服务器,启动数据库,Oracle检查数据文件和联机日志文件,并把所有文件同步到同一个时间点上,
2.磁盘失败
如果丢失的是控制文件,只要关闭数据库,从保留有控制文件的地方拷贝一份即可。
如果丢失的是数据文件,可用前一天晚上的联机备份进行恢复,步骤如下:
1)从备份中把丢失的文件存在原来位置。
2)加载数据库
3)恢复数据库
4)打开数据库
3.错误删除或修改对象
在这种情况下,一般希望能追溯返回到错误发生前的那个时间点上。这叫做时间点恢复。完成恢复的步骤如下:
1)从当前数据库输出(Export),输入(Import)到备用数据库,使备用数据库与当前数据库保持一致。
2)向前滚动备用数据库到错误发生前的那个时间点。
3)从备用数据库输出受错误影响的逻辑对象。
4)使用上一步产生的输出文件输入那些受影响的对象到当前数据库。
MILY: 宋体; mso-bidi-font-family: 宋体“>三、用户角色管理
1.对所有客户端按工作性质分类,分别授予不同的用户角色。
2.对不同的用户角色,根据其使用的数据源,分别授予不同的数据库对象存取权限。
基于以上的安全策略,可以防止非法用户访问数据库,限制合法用户操纵数据库的权限;可以使数据库在故障发生后,不会丢失任何数据,并能使数据库迅速恢复到故障发生前的那一时间点上,最大限度的保证数据的安全和整个系统的连续运行。
数据库系统安全性浅析 篇3
关键词:数据库 安全性
目前,随着随着计算机及网络技术的发展和广发应用,数据库已在各行各业得到了广泛的应用。数据库存储着企业大量的至关重要的信息资源,所以随之而来的数据库的安全性也逐渐成为研究的热点。
一、数据库系统安全控制
数据库系统在实际应用中面临着各方面的风险,如火、电、人为因素等等,这些最终都会引起各类安全问题。数据库系统安全性主要包括了以下几个方面;
(1)物理位置:存放计算机系统的地方应该保护,防止入侵者进行破坏。
(2)人员:数据库用户账号以及用户对数据库的访问权限需谨慎,防止用户把数据库的访问权利交给其他人使用。其次就是用户的安全意识,用户对信息安全的重视程度以及相关的安全防范措施。
(3)操作系统:操作系统本身的漏洞,对操作系统相关的安全配置以及病毒的威胁这三个方面,影响到数据库的安全性。因此操作系统和硬件设备的安全是数据库安全的保证。
(4)网络:几乎所有的数据库系统都会允许用户通过终端或网络进行远程访问,所以网络的安全性也是数据库安全的一个重要屏障,目前网络系统面临的主要威胁有网络欺骗、木马程序、病毒和入侵等。
(5)数据库管理系统:不同的用户在系统中具有对不同数据的不同的访问权限,数据库系统应保证这些权限不发生冲突;可以通过视图的方法对信息进行隔离,防止用户对基本表的操作;定期对数据库进行备份操作,防止系统问题导致的数据丢失。
(6)人为因素:用户使用简单的口令,而使允许访问敏感数据的用户进行了误操作。
二、数据库系统安全技术
数据库存在着诸多安全因素,不同的DBMS提供着不同的数据库安全手段,以下将提出几种常用的DBMS安全防范技术。
1、自主访问控制技术(DAC)
一个数据库通常包含大量的数据信息和几组用户。如果允许所有的用户无限制去访问数据库中的所有数据,这样就会存在很大的安全风险,因此需要提供一种机制来控制数据的访问权限。自主访问控制就是对用户访问数据库的权限加以限制的机制。按照用户访问数据库权限的不同将数据库用户分为三种:(1)具有CONNECT特权用户,这类用户可以对数据库中的数据进行查询、更新、创建视图。(2)具有RESOURCE特权的用户,这类用户除以上特权外还可以表、索引、修改表结构,可以把自己创建的数据对象的访问权授予其他用户或将其权限再收回,而且可以对自己创建的数据对象进行跟踪审查。(3)具有DBA特权的用户,这类用户拥有对数据库操作的最大权利,可以对数据库进行任何操作,因而也对数据库负有最大的责任。
2、跟踪审计技术
跟踪审计技术是一种监视措施,记录用户对数据库的所有操作。一旦发现用户进行了不当操作,系统就会自动报警,或根据数据进行事后的分析和调查。跟踪审计是一种及时有效的防范措施,但是通常会占用大量的时间和空间,所以DBA可以根据应用对安全性的要求,打开或关闭审计功能。很多数据库系统提供了内置机制,可以建立审计跟踪。
3、数据加密技术
数据加密技术是一种可以实现数据存储的安全保护和防止数据在传输过程中被窃听的技术。数据库系统,担负着存储和管理数据和信息的任务。每个信息系统都要保证其保密性和安全性。对数据库系统中重要信息加密,只有在执行了相应的解密算法后,用户才能正确进入数据库中,从而很大程度上提高了关键数据的安全性。为防止密码被破解,采用先进的加密技术就显得尤为重要了。目前流行的加密模式是公钥加密。在对数据库文件加密或是对数据库字段说明部分加密时一定要把它们作为一个整体加密。
4、数据库备份与恢复技术
数据库的备份与恢复是数据库系统安全的另一个重要保证。为了最大限度的减少软硬件故障导致数据信息的丢失,应及早做好数据库的备份,而当系统发生故障时,及时恢复到原来的状态。备份时影响数据安全的因素很多,其中有物理方面、密码保管、备份软件、备份权限设置和数据的恢复等操作。为了提高备份的安全性应采取一定的措施。
5、鉴定技术
鉴别用户身份是数据库系统的最外层的安全保护措施。目前常用的鉴别用户身份的方法有:
(1)询问-应答系统
通过数据库系統和被鉴别者的对话,问题答对了,就核实了用户的身份。
(2)只有用户具有的物品鉴别
通过数据库系统安装磁性卡片来鉴别用户身份。
(3)用户个人特征鉴别
通过指纹、声音、签名等用户个人特征来鉴别用户的真伪。
(4)数字签名
通过采用非对称密钥加密算法,保证发送信息的完整性、不可否认性和身份认证。
(5)口令认证技术
口令认证方式是鉴别数据库系统用户身份最基本的方式。是通过对用户账号和密码进行严格的管理机制来保证数据库系统安全性。
三、总结
数据库已成为人们日常生活和工作中不可缺少的重要组成部分,因此数据库的安全问题也是人们备受关注的一个问题。数据库系统的安全涉及到了企业各个层次协调工作,因此对数据库系统的安全有了更高的要求。数据库系统的安全与操作系统的安全、网络的安全以及数据库管理系统的安全息息相关,因此必须根据具体的应用环境对必要的安全需要进行分析,采取相关的安全措施,以保证数据库系统的安全。
参考文献:
[1]田婕.谈数据库安全性策略[J].计算机安全,2003(6)
[2]姚志强.子密钥数据库安全加密算法研究[J].中国安全科学学报,20071)
[3]朱海卫.应用系统中数据库安全性研究及实现[D].北京:北京邮电大学,2006.
[4]曹效阳.浅谈SQL Server中的安全策略[J].现代计算机,2006
浅谈数据库系统的安全性 篇4
当今时代, 随着网络系统的普及和应用, 越来越多的人认识到信息系统和数据安全的重要性。数据资源已经成为信息社会发展的基础, 但存储这些资料的机器和设备会发生故障而引起数据的丢失;另外应用程序出错、人为误操作、病毒发作、黑客攻击等也都可能导致数据的损失, 数据的丢失将给人类埋下灾难的隐患。
数据库中数据的安全要防止数据失效的发生, 有多种途径。如:加强建筑物安全措施, 提高员工操作水平等。但最有效的方法在于, 制定合理的数据备份制度, 实施完善的数据备份策略以及采用完整的数据备份措施。
(一) 备份
任何的安全性措施都不可能万无一失, 因此, 对重要的数据进行实时或者定时的备份是非常必要的。数据备份就是保存数据的副本, 它是预防系统崩溃丢失数据的最好保护措施。通过正确的制定备份策略, 数据可以从介质故障、无意或恶意修改或删除、服务器永久性丢失等多种灾难中恢复。数据备份最好的介质要有磁带、有容错能力的磁盘阵列 (RAID) 、光学存储设备等。
备份时影响数据安全的因素很多, 其中有物理方面、备份权限设置、密码保管、备份软件和数据的恢复操作等。为了提高备份的安全性要采取一定的措施。
1、实施密码及策略
备份内容的安全可采用密码保护, 常用的有备份前的数据加密与备份时对备份集的加密两种。
备份前加密是利用操作系统加密或采用专用的加密软件对数据进行加密, 备份操作系统时再备份加密后的档。这样记录在介质上的就是密文了, 只有打开权限的人在浏览中看到的是明文, 即使恢复时不恢复权限其它人也是无法看到真正内容的。
备份的密码采用多人保管的方式可有效地控制内部人员的非法访问。保管密码的人应将用户名密码及使用描述记录在纸上, 装入安全的信封中并签字密封, 在信封上详细记录域名、服务器名、软件名称、设置密码的时间、密码作用备份集的范围和下次更新的时间等。将密码信封保存在安全的地方, 同时对密码信封的启封作严格的记录。
2、选好并用好备份软件
备份软件的选择与使用应对备份软件进行系统兼容性和安全性评估, 选择经过证明的, 与系统兼容性强, 安全性高的备份软件。备份软件应具有病毒过滤功能以防止病毒的扩散。该软件能够实现打开文件备份与数据的备份, 能够完成计划备份, 实现无人值守功能。
3、正确分配备份人员的权限
一般备份的工作至少由二人完成, 备份操作员和备份日志管理员。另外, 为了数据安全也可以加入高层管理人员, 这些人员中仅备份操纵员需要是IT人员。
在下面的方案中, 备份工作由三人完成高层管理人员, 备份操纵员和备份日志管理员。备份密码分为两部分, 由高层管理人员和备份日志管理人员分别保管其中的一部分。高层管理人员负责保存密码的前一部分, 并审核数据恢复的日志。备份操作员完成每日的备份工作, 完成介质异地存储, 查看备份日志, 不保存备份密码, 与其它人完成备份策略的设定。备份日志管理员审核与管理每日的备份与恢复操作日志, 保存后一部分的备份密码。
用于备份服务启动的账号, 其密码也应该同样管理, 并且只能用于服务登录, 不得用于个人登录。此外, 还应该限制对备份日志的访问。仅限备份日志管理员具有日志的删除与写操作权限。对备份软件的密码文件仅限系统管理员与备份的服务账号有完全控制的权限。
4、安装防火墙和入侵检测系统
采用专用的备份网络以减少备份对系统资源的占用, 并从物理上隔离外网的访问, 可增强备份系统的安全性。防火墙是应用最广的一种防范技术。安装防火墙, 并及时更新防病毒代码和调整防火墙的策略, 可有效地防止黑客与病毒对系统的破坏。还有, 安装入侵检测系统, 不仅可以使工作人员对黑客的攻击及时采取对策, 又能有效防止内部员工对资源的滥用, 并能再现系统被攻击的历史, 为日后的调查取证提供帮助。
(二) 数据加密
数据加密是预防数据库中数据在存储和传输中被截取或盗取的有效方法。数据加密的基本思想是根据一定的算法将原始数据变换为不可以直接识别的格式, 从而使得不知道解密算法的人无法获得数据的真实内容。
密码作为解决信息安全的关键技术具有不可替代的作用。随着计算机网络不断渗透到各个领域, 密码技术得到应用, 利用密码变换将明文变换成只有合法者才能解读的密文, 这是密码的最基本的功能。数据库系统, 担负着存储和管理关键业务数据和信息的任务。每个信息系统都要保证其安全性和保密性。一般而言, 数据库系统提供的安全控制的措施能满足一般的数据库应用, 但对于一些重要部门或敏感领域的应用, 仅有这些是难以完全保证数据的安全性的。因此有必要对数据库中存储的重要资料进行加密处理, 以强化数据存储的安全保护。
对于有大量数据的数据库文件进行完全加密是不必要的。可行的办法是加密数据库文件中的文件特征说明部分和数据库字段说名部分, 这样即使非法用户获得了数据库文件, 也很难从中找到有用的内容。
二、数据库系统不被非法用户侵入
为了保护数据库系统免受威胁的影响, 达到其基本的安全要求, 应当采取合理的安全对策。这些安全策略要能实现数据库系统安全的完整性、保密性和可用性。采取的安全策略一般为:安全管理、用户管理、存取控制等等。
(一) 安全管理
由于数据面临的威胁主要来自公司内部, 所以安全管理就在提升安全方面起到了重要作用。绝大多数数据库管理系统采用的是由数据库管理员负责系统的全部管理工作 (包括安全管理) 。显然, 这种管理机制使得数据库管理员的权力过于集中, 存在安全隐患。在安全管理方面可以采用三权分立的安全管理体制:系统管理员分为数据库管理员, 数据库安全管理员, 数据库审计员三类。数据库管理员负责自主存取控制及系统维护与管理方面的工作, 数据库安全管理员负责强制存取控制, 数据库审计员负责系统的审计。这种管理体制真正做到三权分立, 各行其责, 相互制约, 可靠地保证了数据库的安全性。
(二) 用户管理
用户管理是系统管理的一个重要组成部分, 但其重要性往往被忽视。许多时候, 数据库被非法用户入侵往往与用户管理有关。用户需要访问的数据库管理系统、数据库系统、操作系统、文件系统以及网络系统等在用户管理方面非常相似, 采用的方法和措施也十分近似。在一个多用户系统中, 进而在网络环境下, 识别授权用户永远是安全控制机制中最重要的一个环节, 也是安全防线的第一个环节。
在这里的用户管理包括标识和鉴别。标识是指用户向系统出示自己的身份证明, 最简单的方法是输入用户名和口令字, 防止非法用户注册到数据库, 对数据库进行非法的存取操作。而鉴别则是系统验证用户的身份证明。身份认证是安全系统最重要而且最困难的工作。除口令控制外, 用户身份认证还可以采用比较复杂的计算过程和函数来完成, 而智能卡技术、数字签名技术和生理特征 (如指纹、体温、声音等) 认证技术的迅速发展也为更具有高安全要求的用户身份认证提供了实用可行的技术基础。如今, 口令+令牌+生物测定的三因素访问控制已经被很多计算机系统采用, 再加上地理特征和用户轮廓的访问控制也逐渐被应用。
摘要:在数据库系统中, 由于数据的集中管理, 随之而来的多用户存取, 以及近年来跨网络的分布系统的急速发展, 数据库的安全问题可以说是构成信息系统的最关键的环节。本文围绕数据库的安全性问题的两个方面:数据库数据的安全性和数据库系统不被非法用户侵入, 提出了一些安全性策略。
关键词:数据库,备份,加密
参考文献
[1]于慧龙、解玲等:《基于保护轮廓的数据库系统安全性》, 北京邮电出版社, 2002年7月。
[2]田婕:《谈数据库安全性策略》, 重庆邮电出版社, 2003年第6期。
[3]何敏:《重视数据库安全》, 清华大学出版社, 2002年第4期。
信息系统数据安全管理制度 篇5
(试
行)
第一章
总则
第一条
目的为了确保公司信息系统的数据安全,使得在信息系统使用和维护过程中不会造成数据丢失和泄密,特制定本制度。
第二条
适用范围
本制度适用于公司技术管理部及相关业务部门。
第三条
管理对象
本制度管理的对象为公司各个信息系统系统管理员、数据库管理员和各个信息系统使用人员。
第二章
数据安全管理
第四条
数据备份要求
存放备份数据的介质必须具有明确的标识。备份数据必须异地存放,并明确落实异地备份数据的管理职责。
第五条
数据物理安全
注意计算机重要信息资料和数据存储介质的存放、运输安全和保密管理,保证存储介质的物理安全。
第六条
数据介质管理
任何非应用性业务数据的使用及存放数据的设备或介质的调拨、转让、废弃或销毁必须严格按照程序进行逐级审批,以保证备份数据安全完整。
第七条
数据恢复要求
数据恢复前,必须对原环境的数据进行备份,防止有用数据的丢失。数据恢复过程中要严格按照数据恢复手册执行,出现问题时由技术部门进行现场技术支持。数据恢复后,必须进行验证、确认,确保数据恢复的完整性和可用性。
第八条
数据清理规则
数据清理前必须对数据进行备份,在确认备份正确后方可进行清理操作。历次清理前的备份数据要根据备份策略进行定期保存或永久保存,并确保可以随时使用。数据清理的实施应避开业务高峰期,避免对联机业务运行造成影响。
第九条
数据转存
需要长期保存的数据,数据管理部门需与相关部门制定转存方案,根据转存方案和查询使用方法要在介质有效期内进行转存,防止存储介质过期失效,通过有效的查询、使用方法保证数据的完整性和可用性。转存的数据必须有详细的文档记录。
第十条
涉密数据设备管理
非本单位技术人员对本公司的设备、系统等进行维修、维护时,必须由本公司相关技术人员现场全程监督。计算机设备送外维修,须经设备管理机构负责人批准。送修前,需将设备存储介质内应用软件和数据等涉经营管理的信息备份后删除,并进行登记。对修复的设备,设备维修人员应对设备进行验收、病毒检测和登记。
第八条
报废设备数据管理
管理部门应对报废设备中存有的程序、数据资料进行备份后清除,并妥善处理废弃无用的资料和介质,防止泄密。
第九条
计算机病毒管理
运行维护部门需指定专人负责计算机病毒的防范工作,建立本单位的计算机病毒防治管理制度,经常进行计算机病毒检查,发现病毒及时清除。
第十条
专用计算机管理
营业用计算机未经有关部门允许不准安装其它软件、不准使用来历不明的载体(包括软盘、光盘、移动硬盘等)。
第三章
附则
第十一条
本制度自2010年6月1日起执行。
第十二条
本制度由技术管理部负责制定、解释和修改。
浅谈医院数据库系统的安全防护 篇6
【关键词】医院;数据库系统;安全防护
一、引言
通常情况下,数据库安全主要包括数据库本身安全问题和数据库的保密安全性问题,前者是确保数据库信息的准确无误和数据库停止运行时内部数据不受破坏,后者是确保数据库信息不被非法侵入或数据被盗问题,只要做好这两个方面的安全防护工作,医院数据库系统的安全性就可以基本保障。
二、医院数据库信息系统概述
医院信息数据库系统是指利用计算机软件、硬件以及网络通信技术等搭建起来的对医院及其各个科室的财流、物流、人流等进行综合性管理的系统。在医院信息系统数据库中任何数据信息至关重要,并直接关系到整个医院工作流程和工作安排。因此医院的数据库系统必须确保安全、高效、准确,不能出现任何错误。在医院数据库中,要想进入必须要有相关指令或者密钥,而只有医院相关人员才有权限进入数据库,对医院的一些数据进行添加、修改或删除等操作。而其他外来人员是没有权限进入系统的。医院方面要对数据库设置安全防护工作,小到医院看病程序、大到资金流通等,都要对数据库开展安全防护程序,尽量找出数据库存在的问题并进行修补。
三、医院数据库的安全防护策略
1.强化硬件设施保护
数据库的建立是需要在硬件系统上进行数据库的编程和维护的,而医院数据库的硬件设施必须要确保安全正确的建立,在硬件上不会出现问题。因此在医院网络设备上,要确保每一台设备的安全性能,选择性能好的硬件设备,切勿为节省成本投入而选择性能差的设备。否则在进行数据库操作时会造成数据丢失,甚至还会出现整个系统的瘫痪。医院的网络系统设备要定期检查并维修,避免设备损坏、潮湿或老化引起的硬件故障问题。
2.强化数据软件的安全防护
数据库软件系统的安全维护也至关重要,在操作医院数据库时要确保数据库的安全性,却无因为软件版本过低而招致外来黑客入侵。此外为了确保数据库数据不会丢失,管理人员在进行数据库管理操作时要输入执行口令或密钥,进入口令要时常更换,防止账号密码被破解而进行医院数据库系统。当今是互联网时代,网络开放性较高,为了确保数据库信息不过时,要更新数据库系统和数据,设置数据库操作权限,强化安全防护功效。为了防止医院数据库信息丢失,要做好恢复和备份系统管理。针对医院数据库信息的恢复和备份管理是为了防止医院系统初夏瘫痪时造成的数据丢失问题。具体方法可在安全数据库系统之前,就要备份重要数据,将其另存在其他硬盘中。此外一般情况下,C盘为安装系统,D盘可以安装一些驱动程序或应用程序,E盘可以放置一些用户使用资料。针对无需更新的数据,可采用数据库自身的计划任务和定期启动功能将计算机主服务器上的日志自动备份到服务器上,此时启动恢复和备份命令后,服务器上的数据与主服务器上的数据就可以保持一致。
3.强化医院的网络信息管理安全防护
一是强化医院网络信息系统外接设备的管理。医院数据库系统中外接设备主要包括移动硬盘、U盘等,当这些外接设备连接医院数据库系统时出现安装程序、拷贝文件或数据等操作时,极有可能造成医院计算机数据库系统在操作中受到病毒攻击,造成数据库信息损坏或丢失数据。因此在外接设备管理过程中要采取一定的安全防护措施,可以拆除软驱和光驱,屏蔽USB端口,医院数据库管理员人员要对用户的一些危险操作进行严格监控和限制。
二是医院整个网络系统的用户涉及范围广,有本院患者、医务人员以及管理人员等。为了保证医院数据库系统的安全,医院必须对计算机网络系统中的用户操作和使用进行监督和规范管理,比如登录医院系统时要设置登录名、用户名以及密码,这样可以避免错误操作或某些恶意入侵医院服务器系统开展一些非法入侵操作,也可以防止一些危险数据写进医院数据库系统,避免恶意软件的绑定安装病毒入侵。
三是提升医院数据库系统的病毒抵御能力。医院的数据库系统应该具备病毒查杀和预防病毒的功能,这样才能确保医院数据库信息系统的安全可靠运行。由于病毒入侵计算机系统的方式种类繁多,病毒还会通过计算机系统内的数据传送、资源共享、资源交换等操作继续传播,进而蔓延至整个计算机网络数据库系统。因此,为了确保计算机系统安全性,医院数据库系统应该安装高性能、安全有效的病毒查杀工具,这一类病毒查杀工具可以对整个医院计算机数据库系统进行全面而系统的病毒查杀,为数据库管理者提供安全、可靠、及时的病毒检测信息,有效清除并查杀病毒。
四、结束语
确保医院数据库安全和高效运行是网络信息管理的关键任务,是确保整个医院数据库系统安全有效运行的核心,直接关系到医院看病就医的基础信息、药物调配信息、人事管理信息、工作流程信息以及财务流通信息等等,可见医院数据库的安全防护至关重要。医院数据库安全防范工作并不是一劳永逸的工作,需要持续性进行安全维护与管理,制定严格而科学的网络安全和数据库安全的管理制度,提高数据库管理人员的综合计算机水平,普及网络安全知识,这样才能构建一个安全、稳定、高效的医院数据库网络。
参考文献:
[1]李晓芹.医院数据库系统的安全防护[J].科技创业家,2014,08:71.
[2]郭东晨,周震.浅谈医院信息数据库管理系统[J].中国医学物理学杂志,2012,04:3537-3541.
数据库系统的安全性 篇7
My SQL提供的安全机制是简单而且有效的。My SQL数据库管理员有责任保护数据库中数据的安全性, 只有通过认证的用户才能对数据库中的数据进行操作, 这种保护包括内部安全性和外部安全性两个方面。
1.1 内部安全
主要指My SQL数据库服务器文件系统级别的安全性, 利用操作系统的相关权限对文件系统的权限进行必要的设置, 使数据目录内容不被过分授予, 保证只有特定的My SQL数据库管理员才可以对数据库文件夹进行操作, 防止My SQL数据文件夹受到在服务器主机有账号的人的攻击。
1.2 外部安全
指从外部通过网络远程连接到服务器的安全性, 通过设置My SQL权限表, 限制只有提供有效的用户名和口令的合法用户可以访问, 否则不允许访问数据库管理的数据库内容。My SQL安全系统的核心是权限表, 对外部安全性的设置是数据库管理员通过修改权限表进行修改和更新来实现的。通过对权限表进行相应设置, 达到控制客户端对后台数据库的记录访问权限、对象操作权限、SSL操作权限和资源管理权限。
1.2.1 权限表设置
My SQL的权限表存放在mysql数据库中, 包括user、db、host、tables_priv、columns_priv和proc_priv, 它们均在首次安装时进行了初始化。所有通过网络连接到My SQL服务器的客户机都可以通过权限表来控制对My SQL数据库的访问。user表是My SQL中最重要的一个权限表, 记录允许连接到服务器的账号信息, 作用范围为整个数据库。db表列出所有的数据库并且为每一个数据库指出有权限访问的用户, 其权限是对数据库中的所有表。host表一般和db表联合使用, 在更高级别上实现对特定主机的数据库访问权限的控制, 这个表不受GRANT和REVOKE等语句影响。tables_priv表用来指定数据库中表的权限, 其权限对表中的所有列。colums_priv表用来指定数据库中表的每一列的权限。proc_priv表是对存储过程和存储函数设置操作权限。
1.2.2 用户访问控制机制
My SQL数据库采用二阶段客户访问控制机制。当客户机试图连接服务器时, 服务器检测user表中是否存在一行目标主机、名称以及密码是否相匹配 (图1) 。
匹配成功, 服务器继续检查user表SSL和资源管理列, 即是否需要进行安全连接, 主要进行以下两个方面安全性判断:一是若超出了同步连接数或每小时连接数, 拒绝连接;二是确定提供的证书和SSL列中指定的证书是否相匹配, 若不匹配, 拒绝连接。进行第二阶段后, My SQL服务器首先检查每小时语句数和每小时允许更新数的操作上限值, 若超出则拒绝连接;然后确认是否有足够的权限执行请求语句。
2 SQL注入攻击技术
SQL注入技术上是攻击者在预先定义好的查询语句结尾加上额外的SQL语句元素, 欺骗数据库服务器执行非授权的查询。SQL注入漏洞是由于程序员的疏忽, 未对用户提交参数进行检查, 就将参数直接提交给后台的数据库, 这些参数里面可能包恶意指令, 通过在被入侵Web系统执行这些指令, 攻击者可以控制网站。
用户在访问Web系统时可以采用3种方式向服务器提交数据, 为GET、POST和Cookie。其中GET方式通常是以URL链接参数的形式提交数据到服务器, 所传递的参数都是可见的, 这种方式的安全性较低。POST方式通常是通过页面中的表单向服务器提交数据, 例如用户登录系统的用户名和密码都会采用POST方式提交, 参数不会在浏览器的URL链接中显示, 有一定的安全性。Cookie由服务器端生成然后发送到浏览器, 保存到某个目录下的文本文件内, 可以被修改, 再次请求时浏览器自动将Cookie数据提交到服务器。
3 SQL注入攻击预防
SQL注入攻击和普通的页面方位没有区别, 为了提高在Web系统下My SQL数据库的安全性, 需要采取客户端和服务器的双重检查预防措施。 (1) 在客户端, 利用js脚本对用户输入的数据进行合法性检查, 这样不仅可以减轻服务器的流量和负载, 加快服务器的相应速度。 (2) 在客户端需要用户输入信息的表单中, 使用文本框的Max Length属相限制用户输入的字符的长度, 减少攻击者贴入攻击脚本的可能性。 (3) 一些攻击者可以绕过客户端的数据检验, 因此还需要在服务器端再次进行数据校验和过滤, 在执行SQL语句之前对非法字符进行过滤, 检测到非法字符后终止通信。
摘要:MySQL数据库作为一个多线程、多用户的开源关系型管理数据库系统, 满足中小型网站降低网站总体拥有成本的需求, 成为很多Web应用的后台数据库的热门选择。本文具体分析其内部和外部的安全机制, 分析如何防止未经授权的文件系统访问和网络访问, 总结各种漏洞的存在对系统构成的风险, 并给出相应的防范对策。
关键词:MySQL,安全机制,SQL注入,SQL漏洞攻击防范
参考文献
[1]师德清.浅析MySQL数据库基于访问范围的外部安全性[J].机制工程技术, 93-94.
数据库系统的安全性 篇8
一自动播控系统中数据库系统的作用
数据库系统在自动播控系统中担负着“数据中心”的角色, 它所管理的数据涵盖了整个自动播控系统, 基本包含以下几类:素材模块中用于存储播出节目素材的相关信息;人员信息模块中用于存储人员资料及权限管理的信息;播出模块中记录不同阶段的节目单信息及播后数据;广告模块中记录广告素材及广告单等相关信息。可以说, 播出流程中各个环节所记录的数据全都分类存储在数据库的相应表单中。自动播控系统中的播控工作站就是通过网络获取数据库中播出节目单的相关数据并进行自动播出的。一旦数据库系统出现故障, 将直接影响到整个自动播出控制流程。因此, 在数据库系统规划和建设之初就需要对系统进行合理、安全的设计, 在数据库系统的日常维护工作中也需要定期对系统进行检查和维护, 才能保障数据库系统的安全、稳定运行。
二数据库系统架构的安全措施
保证数据库系统的安全主要是保证系统中数据的安全, 最有效的方法就是对数据库系统进行有效的备份, 最大限度地提高系统的可恢复性, 使系统达到:数据库的失效次数减到最少;当数据库不可避免地失效后, 要使恢复时间减到最少;当数据库失效后, 要确保尽量少的数据丢失或根本不丢失。根据现阶段数据库技术的发展, 数据库系统的备份可以分为同构备份和异构备份两种方式。
1. 同构备份方式
根据目前各种同构备份方式的特点, 广东台的数据库系统采用的是双机互备、双存储镜像的方式, 如图1所示。在正常情况下, 两台数据库服务器通过负载均衡机制对外提供服务, 通过心跳线互相监测对方的运行状态。当一台服务器出现异常, 不能对外提供正常服务时, 另一台服务器除了保证连接到本机的客户端能正常工作外, 还需要在极短的时间内自动接管 (Take Over) 异常主机的工作, 保障连接到数据库系统的所有客户端不间断地运行, 达到不停机 (Non-stop) 的目的。在数据的存储方面, 两台数据库服务器均与两个存储阵列直接连接。当自动播控软件发生数据写入操作时, 数据库服务器会同时把数据分别保存在两个存储阵列中。
这种数据库的硬件架构不但通过负载均衡机制提高了系统处理数据的能力, 还能够避免数据库服务器和磁盘存储阵列的单点故障。在目前第三方软件进行双机服务切换不稳定而硬件成本逐年降低的情况下, 可以通过双机互备、双存储镜像来达到提高系统安全性的目的。同时, 随着硬件接口技术的发展, 数据库服务器与存储阵列的连接除了支持SCSI电缆外还支持光纤方式, 这样就可以实现通过增大物理位置的距离来提高系统安全性的目的。因此, 用户可以根据自己的业务需求来部署更安全、更灵活的数据库系统。
2. 异构备份方式
数据库系统同构方式中数据库服务器采用了双机集群技术、系统盘镜像技术, 存储阵列则使用了Raid技术, 保证数据库系统的安全、稳定。但是, 还有一些情况是同构备份也无法做到数据安全的。假如误写入一段错误的数据但又想恢复的时候, 又或者是系统的集群结构本身出现了故障。应对类似这些问题, 要保证数据库系统正常运行, 则需要考虑在同构数据库环境的基础上再增加一种异构备份的方式, 如图1所示。
异构备份可以采用不同于同构环境下的硬件配置及操作系统平台, 提高系统的容灾能力。在数据备份方面, 可以选择异步方式或者同步方式。异步方式顾名思义是数据的更新和备份之间存在时间差, 最简单的异步方式就是Oracle数据库自带的导入/导出逻辑备份, 用户可以根据自身的业务需求和磁盘存储大小等方面因素统筹定义数据备份的频率, 比如可以选择在同构数据库系统不繁忙的时段或是重要播出时段之前将数据导入到异构数据库的环境中。这种方式的优点就是投入成本低、维护简单, 但是却存在一个致命的问题:备份的数据不总是最新的, 多数情况下在故障发生后无法恢复到故障前最近时刻的正常状态。而同步方式则能很好地解决这个问题, 在用户每完成一次数据修改并保存提交后, 自动播控软件就会对同构数据库内的数据进行更新。同时, 自动播控软件还会自动发起一次同步数据备份, 建立起同构数据库与异构数据库之间的DBLINK连接, 通过消息机制向异构数据库发出消息, 完成异构数据库的数据更新。由于消息机制的存在, 一种架构的数据库出现故障也不会直接影响到另一种架构数据库的正常运行, 消息机制只在两种架构均正常运行后才将未同步的数据进行同步。目前广东台采用的就是同步备份方式。
三日常数据库系统的维护和管理
目前, 多数电视台的播出系统都需要每天24小时连续不间断运行。因此, 对数据库系统的日常维护和管理显得非常必要。数据库系统的维护涉及到操作系统、数据库管理、存储管理、网络维护等多方面的专业知识, 在日常维护中需要对系统进行全面的检查和备份。广东台使用的是Solaris 9操作系统平台与Oracle 9i的组合, 结合数据库系统的实际配置情况和日常维护工作中总结的经验, 可以归纳为以下几个方面。
1. 系统硬件层面的检查
对于数据库系统硬件设备状态的检测, 最简单、最直观的方法就是通过观察设备及配件上的状态指示灯进行判断。正常工作情况下, 状态指示灯为绿色, 而在有错误信息或故障时状态指示灯为橙色或红色, 同时也可以通过硬件厂商提供的检测软件, 如Sun Java Web Console有专门提供给阵列状态检查的Common Array Manager, 对硬件问题进行进一步确认。
2. 操作系统层面的检查
广东台使用的是Solaris 9操作系统, 结合Solaris系统的特点, 在操作系统层面的日常检查主要包括:系统I/O状态查询, 内存使用情况以及进程信息的查询, 文件系统对磁盘块的使用情况查询, Messages信息的检查等。若需要收集详细的系统配置及状态信息, 还可以运行Solaris系统提供的信息收集包SUNWexplo, 从而获取详细的系统级信息, 帮助分析系统状态并判断故障点。
例如, 在一次日常巡检中查询到一台服务器上, Messages信息如图2所示, 系统的I/O状态如图3所示。经过检查、判断, 发现SN为0443B9DZVV的硬盘存在坏块, 因此对该硬件进行及时更换, 保证数据库系统尽快恢复到安全、稳定的状态。
3. 应用软件层面的检查和备份
在操作系统上部署的应用软件除了数据库应用软件外, 还包括实现双机架构的集群件以及集群文件系统等。
集群件负责管理整个集群环境中的硬件资源, 并为集群提供基础服务。如果把整个集群想象成一台虚拟的计算机, 那么集群件就是这台计算机的操作系统。在Oracle 10g以前, Oracle只有针对Linux和Windows平台的集群件产品Oracle Cluster Manager, 其他平台则必须要使用厂商自己的集群件产品, 比如Sun Cluster等。从Oracle 10g开始, Oracle提供了一个完整的集群件产品Oracle Clusterware。
集群文件系统的产生是由于数据库中的数据文件、控制文件、联机日志、参数文件都必须放在共享存储上, 才能保证集群内所有节点都能访问。这就需要对节点的访问进行控制, 普通的文件系统并不支持集群功能, 因此必须采用特殊的存储策略。在Oracle 10g以前, Oracle只提供对裸设备的支持, 并没有提供集群文件系统, 用户必须选择Veritas等第三方产品。从Oracle 10g开始, Oracle提供了两种存储解决方案:OCFS和ASM, 两者都具备集群文件系统的功能, ASM还自带卷管理器的功能。
在日常维护中, 首先要了解数据库系统软件的部署情况, 才能在巡检时对软件运行状态进行全面检查。以下以Oracle 9i环境为例进行说明。
(1) 针对集群件
针对集群件, 对集群状态进行检查, 如图4所示 (此处只截取部分信息进行截图说明) 。在日常的检查维护中, 需要保证集群内所有节点及投票盘 (Quorum Votes) 均处于在线 (Online) 状态。
(2) 针对配置的裸设备
针对配置的裸设备, 对磁盘卷的状态进行检查, 如图5所示 (此处只截取部分信息进行截图说明) 。在日常的检查维护中, 需要查询磁盘卷的状态是否都是Okay状态, 若出现“Needs maintenance”则需要对该卷进行detach后再重新镜像、同步, 直到该卷状态恢复回Okay状态。
(3) Oracle应用程序的检查和备份
Oracle应用程序的检查主要包括实例、监听等状态的检查, 也可以通过告警日志和SQL TRACE配合诊断。对Oracle的控制文件、参数文件、日志文件等需要定期进行Rman备份。
在一次例行的巡检中, 发现一个数据库实例的告警日志文件中有如下异常信息, 如图6所示。
一般情况下, 自动播控软件每执行一次数据更新操作都会引起数据库的变化, 从而会生成重做日志, 而这些日志都会被数据库系统记录在重做日志文件中。由于重做日志文件在数据库建立时已经被指定了大小和个数, 每写满一个重做日志文件或满足系统规定的条件, 系统则会指定开始写下一个重做日志文件, 依此原则进行循环。重做日志文件的更替会记录在告警日志中。在2010年5月份的维护中, 如图6所示, 检查一台数据库服务器的告警日志信息时发现2010年5月12日14:22:42开始通过重做日志文件redolog11进行日志记录, 但是在2010年5月14日16:44:23后再发生的重做日志文件更替开始出现异常。查询两台数据库服务器上连接的会话数 (Session) 已经不均衡, 随后部分播控系统客户端出现连接数据库中断的情况。此时立即判断出异常服务器并对该服务器上运行的Oracle应用程序进行重启监听及服务的操作, 不久所有的客户端又可以正常访问数据库系统, 且负载逐渐恢复均衡。
四总结
数据库安全代理系统的设计探讨 篇9
关键词:数据库安全,入侵防御,访问控制,参考监视器
数据库安全代理系统作为数据库入侵防御体系的一部分对访问请求的内容进行检查,通过访问控制来防御合法用户权限滥用的入侵,和另一部分入侵检测系统协同合作对数据库进行入侵防御[1,2]。该安全措施将有效增强数据库系统在应用层的防护,提高数据库系统的安全性。
1 代理模块的设计
数据库安全代理系统中的代理模块主要有两个功能,一是作为客户端和后台数据库的通讯代理;二是实现系统内各模块间信息的转发服务。代理模块将会完成与客户端、SQL语句分析模块、系统安全模块、入侵检测系统和PostgreSQL数据库之间的通信。
1.1 和客户端的通信
在该通信过程中,代理模块将处理来自客户端的登录、登出请求,接收来自客户端的信息。客户端提交的信息有两类,一类是用以登录数据库安全系统的登录信息,登录信息的内容包括用户的用户名、密码、和要访问的数据库名。另一类是用来访问后台PostgreSQL数据库的SQL语句。代理模块将根据接受到的信息的种类将信息提交给后续的不同组件。同时,代理模块还将回送给客户端两类信息,一类是用户登录成功与否的信息,只有当用户登录成功后,才允许用户提交SQL语句;另一类信息是用户提交的SQL语句被后台数据库执行的结果。
1.2 和SQL语句分析模块的通信
在该通信过程中,代理模块将用户提交的SQL语句传递给SQL语句分析模块。当语句分析模块分析完SQL语句之后,会将分析的结果回送给代理模块。
1.3 和系统安全模块的通信
在该通信过程中,代理模块传递给系统安全模块两类信息,一类是用户的登录信息,另一类是SQL语句分析模块的分析结果。代理模块将用户的登录信息传递给系统安全模块是为了让系统安全模块检查请求登录的用户是否是合法用户。
1.4 和入侵检测系统的通信
在该通信过程中,代理模块将需要进一步检测的SQL语句提交给入侵检测系统。判断一句SQL语句是否需要进一步检测的依据是语句中的数据库对象的安全级别,当安全级别高于一个设定的阈值时,则判定该语句需要进一步检测。入侵检测系统在对该语句进行基于行为的入侵检测之后,将检测的结果回送给代理模块。
1.5 和PostgreSQL数据库的通信
在该通信过程中,代理模块将根据系统安全模块和入侵检测系统的检测结果把合法的SQL语句转发给后台的PostgreSQL数据库,让其执行用户提交的SOL语句。同时,接收PostgreSQL数据库的执行结果,然后回送给客户端。代理模块就像数据库安全代理系统的中枢,是信息流汇聚之处,也是由它将各种信息通过不同的机制发送到不同的组件。通过上述一系列的通信代理,代理模块不仅为后续的分析模块和安全检测模块提供了输入;也使数据库安全代理系统和入侵检测系统的协作成为了可能;还使用户只感到自己提交了SQL语句,然后后台数据库回馈了执行的结果,使得整个数据库安全代理系统透明化。
2 系统安全模块的设计
(1)安全策略实施组件SPE。安全策略实施组件SPE的作用是执行安全策略决策SPD所做的决定,整个框架只有从SPE输出的一个出口,这表示任何的安全策略操作最后只能通过由SPE的执行来向外输出,满足了参考监视器只能有唯一一条信道出口的要求。(2)安全策略决策组件SPD。安全策略决策组件SPD是整个RM框架的核心成员组件,将由它来实现访问控制的决策。在访问控制模型中为控制制定了一系列的规则,通过规则来约束访问行为,在参考监视器中一条规则往往被描述成一条安全策略。(3)安全策略库组件SPL。安全策略库组件SPL存储的是系统预先设定的一系列安全策略,本文将用户的安全属性和数据库实体的安全属性也作为一种安全策略存放干SPL中。将SPL放在框架外侧还表示,在整个系统中不强制规定只使用一个SPL,可以通过多个SPL的相互协作来提高整个系统的运行效率,降低用户查询的延时。(4)用户认证/授权组件。用户认证/授权组件是用户实体进入系统安全模块的入口,用户通过输入登录信息进入系统安全模块,登录信息包括:用户名、密码和要访问的数据库名,用户认证/授权组件对用户进行认证。(5)主体/客体存储组件。用户名以及用户访问的数据库名是通过代理模块传给用户认证/授权组件,在用户认证/授权组件检测用户为合法用户后,再由其存入主体/客体存储组件的。而数据库实体,如上述的三张表,是由SQL语句分析模块通过分析用户提交的SQL语句得到的,主体/客体存储组件是数据库被访问对象进入系统安全模块的入口,由SQL语句分析模块传入。是语句分析模块对SQL语句分析所得的结果,然后由其传入系统安全模块。(6)安全策略存储组件。安全策略存储组件是用来存储安全策略的,这些安全策略将用于控制用户对数据库对象的访问行为,它们由映射组件通过映射主体/客体存储组件中存储的数据库对象而来,当主体/客体存储组件存储了用户要访问的数据库对象后,便通过映射组件从SPL中提取出这些数据库对象所对应的安全策略,这样节省了直接查询SPL中众多策略所带来的时间上的浪费。(7)计时器组件。由于用户和对象的条件属性是可变的,因此,计时器组件在RM中是不可或缺的。它将记录系统时间以供SPD进行决策,并每隔一段时间来对条件属性进行查询以便能够在对象使用中进行授权决策。同时,它还将在预设时间到达时提醒安全策略存储组件更新安全策略。
3 结语
本文是数据库安全代理系统的设计部分,首先阐述了数据库安全代理系统的设计思想,随后分析了数据库安全代理系统的工作原理和及其组成结构,然后,阐述了代理模块、SQL语句分析模块和系统安全模块的设计,这些模块的协同合作将使数据库安全代理系统检测出合法用户的滥用行为,同时与入侵检测系统的合作将检测出SQL语句注入的入侵。
参考文献
[1]施善,戴佳筑,赵海燕.数据库安全代理系统中访问控制的研究[J].计算机工程与设计,2009,30(12).
基于流量监测的数据库安全审计系统 篇10
Oracle数据库面临的安全威胁分类两类:外部攻击和内部违规。外部攻击主要是指黑客利用互联网, 通过Oracle客户端非法侵入数据库系统。由于Oracle数据库本身不提供对网络用户的审计记录功能, 该类攻击在事后无法取证。内部违规是指内部人员越权操作Oracle数据库, 由于Oracle数据库无法识别哪个网络用户冒充使用该账户, 这类操作事后依然无法取证。因此, 要提高Oracle数据库的安全保障, 可以对协议层进行解析和研究, 通过对流量的审计分析, 在一定程度来解决数据库所面临的外部和内部的安全威胁。
1 TNS协议分析
Oracle数据库审计系统由流量采集模块、审计策略、报表展示等几个模块组成的。其中流量采集模块, 采用的旁路监听的方式, 捕获用户访问数据库的报文。捕获数据包的模块是基于Libpcap开发包, Libpcap是一个平台独立的网络数据捕获开发包, 它是一个高层的编程接口, 隐藏了操作系统的细节, 可以捕获网络上的数据包[1]。Oracle数据库默认监听端口是1521, Oracle数据库客户端和服务端使用TNS协议进行通信, 该协议是Net8协议体系的基础网络协议[2]。TNS协议在OSI七层模型中属于应用层, 该协议对外不完全公开, 每一版TNS协议都有差别。本系统通过对Oracle 11g数据库的TNS协议进行解析, 完成从TNS协议包中提取操作行为和用户名的功能。TNS协议的结构表1所示。其中, Length是包的长度有包括包头8个字节, Type是数据包的类型, 如表2所示。
Oracle数据库客户端发起连接, 服务端返回四种状态:接受、拒绝、重新发送、重定向连接【3】。若服务器返回拒绝本次连接结束;若服务器返回重新发送、重定向连接客户端重新发起连接;若服务器返回接受, 客户端进入验证过程, 验证失败服务器结束连接, 验证成功客户端可以进行数据库操作, 服务器响应用户的操作, 如果发送了EOF, 服务端将会主动关闭连接, 整个过程结束。针对Oracle客户端建立连接查询的过程进行拆解, 如图1所示[4]一个典型TNS登录会话过程。
对TNS会话过程抓包分析, 除报文采用的Oracle的机密机制对数据库进行加密之外, 其它类型的报文都是采用TCP/IP协议的明文进行传输, 包含源ip、目标ip、端口、服务标识sid、数据库账号、操作指令select、update、结束标识等信息。
由于TNS会话过程, 大多采用明文进行传输, 因此从TNS数据包中可以提取用户操作信息的方法, 如表3所示[5]。
针对TNS报文的分析方法, 可以用编码实现对报文的解析, 从TNS报文中提取用户操作的信息, 满足对数据库安全审计系统的数据采集来源。
2 结束语
本文实现了基于流量监测的数据库安全审计, 系统能实时记录用户对数据库的操作行为。文章涉及系统部署方式、网络抓包、TNS协议解析、用户操作信息提取等技术实现。本文以旁路监听的方式部署审计系统, 对被审计数据库不产生任何影响, 有效解决独立审计的问题, 但是要完善数据库审计, 不仅仅局限于旁路模式, 还应该具有更多的混合审计模式相结合, 可以更加灵活的满足不同业务的需求。
摘要:本文针对Oracle数据库设计和实现了一种基于流量监测的安全审计系统, 该系统采用旁路部署监听流量的方式, 对被审计数据库不产生任何影响。本文主要介绍了基于Libpcap函数库实现网络数据包捕获与过滤, 网络协议分析, 数据库协议解析, 用户操作信息提取等技术实现。
关键词:TNS协议,Libpcap,审计
参考文献
[1]Riverbed Technology.The Win Pcap manual and tutoria l for Win Pcap[EB/OL].[2013-04-20].http://www.winpcap.or g/docs/default.htm.
[2]Oracle Corporation.Architecture of Oracle Net Servies.Oraclegi Net Services Administrator’s Guide Release2 (9.2) :P art Number A96580-02.
[3]TNS数据传输协议-进阶篇.http://blog.csdn.net/loydi a/article/details/51861534.
[4]Rick Wong.Oracle Net8 Administrator’s Guide Relea se 8.0.December, 1997:Part No.A58230-01.
相关文章:
如何用第三层交换保证数据安全01-03
尺寸质量01-03
数据交换系统01-03
MIS系统数据交换分析论文提纲01-03
MIS系统数据交换分析论文01-03
大数据时代下的会计信息系统安全探析01-03
企业数据交换01-03
数据库系统安全性思考论文提纲01-03
内外网数据安全交换01-03