线上期刊服务咨询,期刊咨询:400-808-1701 订阅咨询:400-808-1721

数据库安全性论文8篇

时间:2022-07-16 23:47:40

绪论:在寻找写作灵感吗?爱发表网为您精选了8篇数据库安全性论文,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!

数据库安全性论文

篇1

[论文摘要]数据库安全性问题一直是围绕着数据库管理员的噩梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫。围绕数据库的安全性问题提出一些安全性策略,希望对数据库管理员有所帮助。

数据库安全性问题应包括两个部分:一是数据库数据的安全,它应能确保当数据库系统停机时,当数据库数据存储媒体被破坏时以及当数据库用户误操作时,数据库数据信息不至于丢失。二是数据库系统不被非法用户侵入,它应尽可能地堵住潜在的各种漏洞,防止非法用户利用它们侵入数据库系统。

一、数据库安全的主要内容

(一)用户组和安全性

在操作系统下建立用户组是保证数据库安全性的一种有效方法。Oracle程序为了安全性目的一般分为两类:一类是所有的用户都可执行,另一类只有DBA可执行。在Unix环境下组设置的配置文件是/etc/group,关于这个文件如何配置,可以参阅Unix的有关手册,以下是保证Oracle数据库安全性的两种方法:

1.在安装Oracle Server前,创建数据库管理员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组。DBA能执行的程序只有710权限。在安装过程中SQL*DBA系统权限命令被自动分配给DBA组。

2.允许一部分Unix用户有限制地访问Oracle服务器系统,增加一个由授权用户组成的Oracle组,确保给Oracle服务器实用例程Oracle组ID,公用的可执行程序,比如SQL*Plus、SQL*Forms等,应该可被这组执行,然后这个实用例程的权限为710,它将允许同组的用户执行,而其他用户不能。

(二)数据库文件的安全性

Oracle软件的拥有者应该设置这些数据库文件($ORACLE_HOME/dbs/*.

dbf)的使用权限为0600,即文件的拥有者可读可写,同组的和其他组的用户没有写的权限。

Oracle软件的拥有者应该拥有包含数据库文件的目录,为了增加安全性,建议收回同组和其他组用户对这些文件的可读权限。

(三)网络安全性

当处理网络安全性时,以下是额外要考虑的几个问题:一是在网络上使用密码,在网上的远端用户可以通过加密或不加密方式键入密码,当使用不加密方式键入密码时,密码很有可能被非法用户截获,破坏了系统的安全性。二是网络上的DBA权限控制,可以通过下列两种方式对网络上的DBA权限进行控制:一是设置成拒绝远程DBA访问;二是通过orapwd给DBA设置特殊的密码。

二、制定完整的数据库监控方案,维护数据库安全

一般来说,一个Oracle数据库管理员应该做的Oracle数据库系统监控方案是这样的。一是每天对Oracle数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。二是每周对数据库对象的空间扩展情况、数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。三是每月对表和索引等进行Analyze,检查表空间碎片,寻找数据库性能调整的机会,进行数据库性能调整,提出下一步空间管理计划。对Oracle数据库状态进行一次全面检查。

制定监控方案的具体步骤如下:

在本地建立一个数据库sid,然后使用Net Configuration Assistant

工具配置参数,实现与远程数据库的连接。

(一)计算Oracle数据库的会话连接数其算法描述如下

Count();While not eof(v$Sesslon)If(Username="compiere")/*use

Rname(用户名)为compiere*/{if(machine="yinglong")/*machine(机器名)为yinglong*/

{If(Schemaname="compiere")/*schem-aname(模式名)为Compiere*/

Count++;/*统计连接数*/ endif}endif}endif}

访问系统的用户数量和数据库的会话连接情况明确为监控对象。

(二)计算Oracle数据库的会话死连接数

If(username='complere'){If(machine='yinlong'){If(status='inactive'){/*连接状态为死*/If(scnemaname='compiere'){Count++;}}}}

(三)计算Oracle数据库的会话活连接数

If(username='comptere'){

If(machine='yinglong'){

If(status='active')/*连接状态*/{

if(Schemaname='compiere')Count++;}}}

(四)系统当前访问用户数量

If(t:on_line=1){/*表示用户在线;*/If(t.log_time

在线时间*/If(t.log_lp="){/*用户ip不为空*/Count++}}}

三、启用备份保证数据安全

对于数据库数据的安全问题,数据库管理员可以参考有关系统双机热备份功能以及数据库的备份和恢复的资料。

当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重要,下面笔者就以ORACLE7为例,来讲述一下数据库的备份和恢复。ORACLE 数据库有三种标准的备份方法,它们分别为导出/导入(EXPORT/IMPORT)、冷备份、热备份。导出备份是一种逻辑备份,冷备份和热备份是物理备份。

随着网络的普及,基于网络的应用也越来越多。网络数据库就是其中之一。通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方便,但也给不法分子造成了可乘之机。数据库安全就显得十分重要。数据库安全是数据库的生命,作为数据库安全性管理者,应该特别地为每个应用程序首先要保证数据库的安全。

参考文献

[1]杨勇,数据库服务模型及其加密方法的研究与实现[D].四川大学,2005.

[2]赵卫利,基于SSL的数据库安全研究与实现[D].武汉理工大学,2007.

篇2

论文摘要:随着因特网和数据库技术的迅速发展,网络数据库的安全性问题显得尤为重要,并已经成为现今网络信息系统建设中的一个最为关键的问题。本文简要概述了现今网络数据库技术所面临的安全性威胁,以此为出发点,对计算机网络数据库安全技术方案进行了相关探讨。

计算机网络环境中的信息存储和管理都是由网络数据库来实现的,而随着计算机网络技术的广泛普及和快速发展,网络数据库的安全性已经成为整个计算机网络安全领域中的一个极为重要的问题。网络数据库是一种开放环境下的信息仓库,存储着大量非常重要的数据信息,一旦遭受各个方面的不可预测的安全攻击,就将给用户带来不可估量的损失,如此大的安全隐患不得不让我们纳入考虑范畴并加以防范。

1、网络数据库简介

所谓网络数据库是指在普通后台建立起来的数据库基础之上,利用浏览器等各种软件实现数据存储、查询等操作。其主要特征是能够作为储存大量数据信息的载体,同时可以保障数据的完整性和一致性。此外,浏览器/服务器(b/c)和客户机/服务器模式是当前网络数据库部署情况下最常见的两种形式,简单方便。

2、网络数据库安全威胁

由于internet是一个高度自治、自由开放、复杂多样的网络环境,因此网络数据库不可避免地会存在数据丢失、数据库非法入侵、数据被篡改等安全性问题。此外,网络数据库具有多用户、高可靠性、频繁地更新和大文件存储等基本特性,同时还存放有大量重要的敏感数据资源信息。因而,在如此安全性存在极大威胁的背景下,如何采取措施保障网络数据库免受安全威胁变得非常重要。

网络上的非法用户通常都是直接通过网络系统来实现入侵网络数据库,以此来达到攻击网络数据库的目的,所以网络数据库的安全性基本决定于网络系统的安全情况。一般情况下,我们将网络数据库面临的安全威胁归纳为以下几个方面:(1)因用户操作不当而导致的网络数据库数据错误;(2)非法访问非权限范围内的数据信息:(3)攻击数据库的正常访问;(4)非法窃取或篡改连接中数据库内的数据资源信息。

3、网络数据库安全技术方案探讨

在开放的网络环境中,网络数据库是非常容易遭受到各种安全威胁的,所以我们必须要采取实际有效的技术方案来不断提高网络数据库自身的安全性,以保证数据的完整性和一致性。一般来说,网络数据库的安全问题可归结为保证数据库中各种对象存取权的合法性和数据库内容本身的安全两个方面,具体安全技术方案有如下几方面:

3.1 用户身份认证

由于计算机网络环境是一个面向多用户的开放式环境,所以对每一个网络数据库访问用户都必须要进行统一的身份认证,这也是防止网络数据库被用户非法访问的一个最有效的手段。因而,用户身份认证功能在当前网络数据库都是必须具备的功能,是通过采用系统登录、数据库连接和数据库对象使用三级机制来实现身份认证功能。其中,系统登录是验证访问用户输入的用户名和密码正确与否;而数据库连接是要求数据库管理系统验证用户身份;数据库对象是采用分配不同的权限机制来为不同使用用户设置相应的数据库对象权限来保障数据库内数据的安全性。

3.2 数据库加密

数据库加密是指通过对数据库的加密设置来保证数据库内数据的安全性。所谓加密是以某种特殊的算法改变原有的数据信息,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,则仍然无法了解获取的信息数据的原始内容。因此,数据库加密系统是加密和解密两个过程的统一,包括可辨数据信息转换成非可变信息、算法、利用密钥解密读取数据等三方面内容。

3.3 数据备份与恢复

数据备份与恢复是网络数据库保障数据完整性和一致性的一种有效机制,也是最常见的一种技术方案。在此机制下,一旦网络数据库系统发生故障,管理人员可以根据先前的数据备份文件,在最短的时间内实现恢复数据,进而让网络数据库回到故障发生之前的数据状态。目前,网络数据库中的数据备份机制有静态备份、动态备份和逻辑备份等几种技术方案,而数据恢复技术有磁盘镜像、备份文件,以及在线日志等几种方式。

3.4 审计追踪和攻击检测

审计追踪是指当用户在操作网络数据库时,可以自动跟踪用户做的所有操作,并将其操作的内容都记录在相应的审计日志文件中,以供管理员查阅并提供相关参考依据。根据审计日志文件,管理员可以非常清楚地重现网络数据库中出现的任何状况,一旦出现安全问题,管理员可以十分快速地找出存在非法存取数据的操作人员,进而追查相关人的责任。此外,通过利用审计追踪和攻击检测技术对发现网络数据库安全方面的弱点和漏洞也有十分明显的效果。

4、结语

综上所述,如何构建有效地网络数据库安全技术方案是保障计算机网络健康发展的核心内容,同时随着安全威胁因素日益增多且越来越复杂,网络数据库安全技术也要不断更新、改进。以应对不断出现的新情况、新问题,只有这样才能在最大程度上保障网络数据库的完整性和一致性。

参考文献

[1]陈黎.我国网络数据库发展现状[j].中国信息导报,2004.

[2]周世忠.浅谈网络数据库安全研究与应用[j].电脑知识与技术.2010(05).

[3]汪新建,罗绯,李明.网络数据库的应用与安全认识[j].西南军医.2009(01).

[4]薛玉芳,李洁琼,李亚军.数据库安全与防护性的技术研究[j].中国新技术新产品,2011(03).

篇3

论文摘要:网络数据库安全性问题是一直是围绕着数据库管理的重要问题,数据库数据的丢失以及数据库被非法用户的侵入使得网络数据库安全性的研究尤为重要。本文以比较常用的Access、数据库为例围绕数据库的安全性技术作了分析。

随着网络技术在社会各个行业尤其是电子商务领域的广泛应用,其安全性和可管理性具有十分重要的意义。数据库是网络信息系统的重要组成部分,涉及来自网络环境下的多方面安全威胁,譬如面对数据库中信息的窃取、篡改、破坏、计算机病毒等的渗透和攻击行为。

1 网络数据库安全性策略分析

1.1 系统安全性策略

1.1.1 管理数据库用户

按照数据库系统的大小和管理数据库用户所需的工作量,数据库安全性管理者可能只是拥有create, alter、或delete权限的数据库的一个特殊用户,或者是拥有这此权限的一组用户。应注意的是,只有那些值得信任的用户才应该具有管理数据库用户的权限。

1.1.2 用户身份确认

数据库用户可以通过操作系统、网络服务以及数据库系统进行身份确认,通过主机操作系统进行用户身份认证。

1.1.3 操作系统安全性

数据库管理员必须有create和delete文件的操作系统权限;一般数据库用户不应该有create或delete与数据库相关文件的操作系统权限;如果操作系统能为数据库用户分配角色,那么必须具有修改操作系统账户安全性区域的权限。

1.2 用户安全性策略

一般用户通过密码和权限管理实现系统的安全性保障;必须针对终端用户制定安全性策略。例如,对于一个有很多用户的人规模数据库,管理员可以决定用户组分类,您可以使用“角色”对终端用户进行权限管理。

1.3 管理员安全性策略

保护作为服务器和用户的连接;保护管理者与数据库的连接;使用角色对管理者权限进行管理。

1.4 应用程序开发者的安全性策略

明确应用程序开发者和他们的权限;指定应用程序开发者的环境;授权free和controlled应用程序开发。

2 网络数据库安全技术分析

本文以比较常用的Access、数据库为例进行分析,其他数据库可以作为参考。

2.1 Access数据库地址、路径过于简单

Access数据库被下载,主要是存放数据库的路径和数据库名称,容易被获知,例如:用户建立的xuesheng. mdb(学生信息库)放在虚拟目录/student下,如果没有事先对xuesheng. mdb进行安全加密处理,那么在浏览器的地址栏键入“http//用户网站主IP地址/student/xuesheng.mdb”,xuesheng. mdb整个文件就会被轻易下载,文件中所有的重要数据信息就会被别人轻易窃取。操作流程如图1所示。即使对Access. mdb的文件夹作了变动,文件路径也会暴露无疑。

获知源代码获得路径窃取文件名下载文件

图1 网络环境下数据库下载流程

2.2 使用下载ASP文件所导致的数据安全问题

各单位的网络服务器一般都存有大量的应用系统账号及密码,如电子邮件、聊天室、BBS、留言簿、新闻系统等。由于网络管理员没有足够的时间与精力开发这些应用程序,所以多是采用直接从网上下载的方法来满足急用。这此程序的源代码是公开的,所使用的数据库名,存放路径没有任何秘密,如果安全措施不力,会给Access DB的安全带来非常大的危险。如从网上下载了一个ASP应用程序,且Access. mdb的连接文件是conn. inc,在ASP程序中, Access. mdb连接的代码是:

2.3 服务器操作系统的安全隐患

现在使用WindowsNT/2000 Sever作为服务器操作系统的用户非常主流,由于Win2000 Sever目录权限的默认设置安全性较差,很多网管只知适让Web服务器运行起来,很少对NTFS进行权限设置。有的服务器甚至未禁止对文件目录的访问控制。因此,必然会带来很大的安全漏洞。

3 安全对策及其实现

篇4

关键字:计算机数据库;安全管理技术;强化

中图分类号:G623.58文献标识码: A 文章编号:

一、计算机数据库安全管理方面存在的问题

1、计算机操作系统方面的问题

一般来说,操作系统方面的问题主要就是病毒、后门以及数据库系统和操作系统的关联性引起的。

病毒方面:在操作系统中很可能有特洛伊木马程序的存在,这对操作系统来说是一个极大的威胁,这种木马程序可以将入驻的程序的密码加以修改,一旦密码更新,入侵者就会获得信息的密码,使信息内容被窃取、破坏等。

后门方面:虽然数据库系统的特征参数让数据库的管理员操作起来更加方便,可是与此同时,这些参数也为数据库服务器的主机操作系统留下了后门,所以后门也成了访问数据库的通道。

数据库系统和操作系统的关联性方面:数据库和操作系统之间的关联性非常强,操作系统中文件管理这个功能可以通过存取控制对各种文件进行续写和执行等操作,所以数据库文件也存在这方面的威胁;同时,操作系统中的监控程序也能够对数据库中的用户登录和口令鉴别进行控制。所以,数据库的安全与操作系统和硬件设备所组成的环境有很大的关系。

2、管理方面的问题

很多用户都没有真正意义上认识到网络信息安全的重要性,重视程度不够就使得实施的管理措施强度不够,就使得数据库的安全事件经常发生。因为限制数据库服务器的访问权可以减少数据库遭到攻击,所以很多用户都懒得进行补丁的修复,这就在数据库的管理上造成了严重的失误。想要数据库绝对的安全,就必须进行补丁的修复,因为经常修复补丁可以不因为很久以前没有经过修复的漏洞而遭到攻击。这类问题的主要原因就是存在没有进行修补的系统安全漏洞和所设的登录密码太过简单或者没有进行修改,所以,用户应该建立一个测试环境,进行补丁修复,然后确认补丁修复,再修复生产环境的补丁,提高网络信息安全的防范意识,加强管理措施。

3、数据库系统本身存在的问题

关系数据库这个系统已经使用了很多年了,拥有自身强大的特性,产品也非常成熟,但是在实际的应用中,其应该具有的某些特征,在操作系统和数据库系统中并没有被提供,特别是一些比较关键的安全特征。所以,很多关系数据库系统都不是很成熟,还有待改进。

二、强化计算机数据库安全管理技术的有效措施

计算机数据库的安全性是数据库发展的根本,所以,做好数据库的安全管理工作是数据库发展的需要。强化计算机数据库安全管理不仅要提高用户的网络信息安全意识,也要从管理技术方面出发,以下介绍几种常见的数据库安全管理技术:

1、安全模型

给数据库建立安全模型的主要作用就是提高对成功实现关键安全需求的理解层次,安全模型有两种:多级安全模型和多边安全模型。

⑴多级安全模型:此模型最早是用以支持军用系统以及数据库的安全保密的。一般来说密级从高到低可以分为绝密级、机密级和秘密级,这样分级的意义在于使各级的秘密只能让各级的有权限的人知道,这样可以防止高级的信息流入低级,信息所传递的范围始终在控制之内。

⑵多边安全模型:这也是保护数据库安全的重要措施之一,其主要作用是防止信息的横向泄露,尽可能的确保数据库信息的安全。

2、访问控制

访问控制主要是在计算机系统的处理功能的方面对数据库加以保护,其访问控制的对象主要是数据库内部已经进入系统的用户,对数据的安全保护形成一个自订屏障。计算机系统进行活动的对象主要就是主体进程、用户以及客体(资源和数据),而确保主体对客体的访问的合法性就是计算机安全的关键问题,通过管理数据的读出、写入以及修改、删除和执行来保证主体访问客体是被允许的,没有被允许的访问将被拒绝,这样可以确保信息的机密性以及完整和可用性。

访问控制又主要分为两种:自由访问控制和强制访问控制。

⑴自由访问控制:这种控制方法又叫做任选访问控制,被广泛得到应用。运用这种控制方式,资源的拥有者就是创建者,有权利选择可以访问其资源的用户,所以这样就使得用户和用户进程之间可以有选择的与其他的用户进行资源共享。这是对单个的用户所执行的访问控制的过程及措施,而每个用户的权限则是根据系统来确定的。

⑵强制访问控制:在这种控制方式中,系统分配给了主体和客体不一样的安全属性,而用户是不能对自身或其他的客体的安全属性进行更改的,就是不允许单个客户来确定访问权限,用户与用户组的访问权限只能是通过系统管理员来确定,系统是通过对主客体的安全属性进行比较来确定主体能否对客体进行访问。数据管理员应该提前将数据进行备份处理,在发生故障数据遭到破坏或丢失时就可以使用备份的数据使其恢复到以前的状态,这样就保证了数据的完整性与一致性。

3、安全审计

安全设计功能就是监控和记录指定用户在数据库中的操作行为,其实就是对安全方案中的功能提供持续的评估。在安全审计过程中,管理员应该掌握一组可以进行分析的数据,用来发现合适何处出现的违反安全方案的一些操作行为。通过分析安全审计的结果,及时对安全政策进行调整,修补出现的漏洞。所以,安全审计可以记录关键事件、提供容易操作的软件工具和可进行集中处理审计日志的数据形式、发现威胁时进行安全报警等多方面的功能。

三、结束语

当今社会,数据库已经是社会中各企业所发展的重要的组成部分,很大程度上促进了企业的发展,给社会带了了非常可观的价值利益,所以其安全问题应该引起高度的重视,在强化数据库安全管理技术措施的同时,企业的各方面都应该积极配合,这样才能真正意义上提高数据库的安全性。

参考文献:

[1] 马涛,秦轶翠,吴宝珠等.试论计算机数据库安全管理[J].计算机光盘软件与应用,2011,(14):153-153.

[2] 李丹.数据库安全管理的应用[J].吉林省经济管理干部学院学报,2009,23(6):99-101.

篇5

【 关键词 】 SQL语言;数据库;数据安全

1 前言

作为信息系统建设过程中的核心部分,数据库不仅是服务于业务系统的正常运转,而且由于数据库是储存数据与信息的载体,所以对于各行各业的业务发展也起到了至关重要的失去作用。因此无论是小到企业、单位,大到政府、国家,数据库的安全性保障与控制都势在必行。一方面,由于数据库需要对外提供数据与信息,因此在数据进行访问与存取时需要保障安全性;另一方面,数据在存储与传输的过程中,可能被篡改或丢失,这一方面也需要保障安全性。因此在数据库的系统的实施过程中,相应的安全措施也成为衡量其优良重要的性能指标。

2 SQL语言在数据库安全方面的应用

如图1所示,数据库的安全控制一般包括几项内容。

身份认证:验证用户是否具有连接到SQL Server数据库的资格。

操作权控制 & 文件操作:验证用户是否具备相应的操作对象与操作类型的权限。

数据库的加密存储与冗余:即对数据库库进行加密处理,以及数据的备份策略。

1) 身份认证:对于非法用户的控制。

对于非法进行数据连接和访问的用户,一般采取的策略即系统保护机制,通过设置系统账号和密码进行主动保护,另一方面,可通过强认证方式,例如通过数字证书,通过用户的签名、指纹、声音、虹膜等用户特有的特征来进行用户的验证。

2) 操作权限控制、文件操作:SQL语言对于数据库存取的控制。

SQL标准语言能够支持数据库的自动存取控制,一般是通过授权语句 Grant 和收权语句 Revoke来实现的。

a) 用户权限的设置

在进行用户权限设置时,涉及到两大内容:可操作的数据本身及可进行哪些操作,即操作的对象和类型。在对用户进行制受权时,就是定义所授权的用户可以对哪些数据进行何种操作。如表1所示即为用户权限设置的方法。

从表1可见,对于数据库中的表、视图和列,赋予的可进行的操作有查询(Select)、插入(Insert)、更新(Update)、删除(Delete)以及其总和All Privilege。授予TABLE本身的操作权限有修改和索引。 授予数据库的操作权限是创建表,而且对这个表空间有使用(存储)的权限,并能够在系统中创建新的数据库。

b) SQL语言中授权与收权语句的具体使用方法

授权语句(Grant),其主要功能是将某个数据对象的操作权限分配给某个用户。

语法如下:

GRANT 权限1[,权限2,…] [on对象类型 对象名称] TO 用户1[,用户2,…]

[WITH GRANT OPTION]

在授权语句的最后[With Grant Option]选项的功能是设置允许进行权限的转移,即被指定的用户可以将此权限转交给其它的用户。

对于数据对象的访问权限控制,能够很好的对数据库的使用人员进行控制,分级分组进行管理,有利于保障。以下为授权请问的使用举例。

例1:将学生基本表(Students)中的“name”的修改、查询功能分配给用户u1。则语句的使用方法为:

GRANT UPDATE(name),SELECT ON TABLE students TO u1。

例2:将表student, score的插入、删除、修改操作权限分配给用户u1和u2。则语句使用方法为:

GRANT ALL PRIVILIGES ON TABLE student,score TO u1,u2。

例3:将表score的查询功能分配给数据库中的全部用户。

GRANT SELECT ON TABLE score TO PUBLIC;

例4:将在Mydatabase数据库中建立表的功能分配给u2。

GRANT CREATETAB ON DATABASE mydatabase TO u2。

例5:将Students的查询功能分配给u3,并允许用户u3能够进行权限的转移。

GRANT SELECT ON TABLE students TO u3 WITH GRANT OPTION。

例6:用户u3将查询students表的权限转移给用户u4。

GRANT SELECT ON TABLE students TO u4;

收权语句(Revoke),其主要功能是把已经授权的信息全部撤销。

语法如下:

REVOKE 权限1[,权限2,…] [ON对象类型对象名] FROM 用户1[,用户2,…]。

例7:将用户u1修改student表中列 name的权限取消。

REVOKE UPDATE (name) ON TABLE students FROM u1。

例8:将用户u3查询students表的权限取消。

REVOKE SELECT ON TABLE students FROM u3。

3) 数据加密。

数据加密的目的是为了保障数据在存储、传送过程中的完整性、机密性、可用性。对于如银行、保险、政府、军工等行业的数据库中存储的数据,保密级别要求较高,除了严格的身份认证与授权认证方式外,数据加密技术也必不可少。数据加密的一般方法即将源数据加密为无法直接进行访问或识别的数据,即所谓的明文加密为密文,在不知道加密算法的前提下,用户是无法获取到真实的数据的。主流加密的方法有几种。

替换法:将源数据中的每一个字符逐一转换成为密文。

转换法:对于源数据中的字符进行顺序调换。

由于这两种方法单独使用时都存在一定的局限性,因此一般会结合这两种方式,来提高数据的安全性。

3 结束语

多年来,数据库的安全一直是一个没有完全解决的问题。一方面是由于数据库系统的日益复杂,在确保其查询、修改、添加、统计等功能能够便捷使用的前提下,无法兼顾其安全;另一方面由于数据库能够给管理员最大的权限,因此对于人为的数据泄漏没有很好的解决方法,对于其安全性也带来了极大的挑战。本文通过对于SQL语言在数据库安全方面的应用,细化其权限分配,以期能够尽量地避免某一个用户占用数据库的大部分权限,减少数据库的安全风险。同时通过强身份认证与相应的加密手段,加强数据的保护。

参考文献

[1] [美]Robert Sheldon 著,黄开枝等译.SQL 实用教程[M].北京:清华大学出版社,2004(34-50).

[2] [美]Alex Kriegel、Boris M.Tnukhnov著, 陈冰等译.SQL宝典[M].北京:电子工业出版社,2003(19-30).

[3] 张勇.高安全的数据库管理系统保护技术研究[D].华中科技大学博士学位论文, 2003.

[4] 程万晕.多级安全数据库管理系统的研究与实现[D].东北大学博士学位论文, 2003.

[5] 彭湃,戴一奇,李武军.网络密文数据库的设计[J].清华大学学报(自然科学版),2001(1), 92-95.

作者简介:

篇6

论文关键词:数据库,加密,安全

一、数据库加密应满足的要求

由于数据库具有数据复杂、数据的查询操作非常频繁且数据存储时限相对较长等特点,所以应用于数据库的加、解密算法及相应的密钥管理机制应满足以下要求:

(1)数据库加密系统应满足的首要条件是保证数据的安全性。在此方面要求加密算法保证数据的保密性和完整性,防止未授权的数据访问和修改。

(2)数据库中存在大量的查询操作,因此加解密效率要求较高,不能引起数据库系统的性能大幅度下降。

(3)数据库组织结构对于数据库管理系统而言不能有太大的变动,应尽可能做到明文和密文长度相等或至少相当。

(4)由于时限较长和密钥的复杂,密钥管理机制应更加安全、灵活和坚固。

二、数据库加密的常用办法

数据加密技术按照实现的方法可划分为静态加密和动态加密,从实现的层次上则可分为文件级加密和存储设备级加密。

(1)静态加密与动态加密

静态加密是指在加密期间,待加密的数据处于未使用状态,这些数据一旦加密,在使用前,需首先通过静态解密得到明文,然后才能使用。目前市场上许多加密软件产品就属于这种加密方式。

与静态加密不同,动态加密是指数据在使用过程中自动对数据进行加密或解密操作,无需用户的干预,合法用户在使用加密的文件前,也不需要进行解密操作即可使用,表面看来,访问加密的文件和访问未加密的文件基本相同,对合法用户来说,这些加密文件是“透明的”,即好像没有加密一样,但对于没有访问权限的用户,即使通过其它非常规手段得到了这些文件,由于文件是加密的,因此也无法使用。由于动态加密技术不仅不改变用户的使用习惯,而且无需用户太多的干预操作即可实现文档的安全,因而近年来得到了广泛的应用。

由于动态加密要实时加密数据,必须动态跟踪需要加密的数据流,而且其实现的层次一般位于系统内核中,因此,从实现的技术角度看,实现动态加密要比静态加密难的多,需要解决的技术难点也远远超过静态加密。

(2)文件级动态加解密技术

在文件系统层,不仅能够获得文件的各种信息,而且能够获得访问这些文件的进程信息和用户信息等,因此,可以研制出功能非常强大的文档安全产品。就动态加解密产品而言,有些文件系统自身就支持文件的动态加解密,如Windows系统中的NTFS文件系统,其本身就提供了EFS支持,但作为一种通用的系统,虽然提供了细粒度的控制能力(如可以控制到每个文件),但在实际应用中,其加密对象一般以分区或目录为单位,难以做到满足各种用户个性化的要求,如自动加密某些类型文件等。虽然有某些不足,但支持动态加密的文件系统在某种程度上可以提供和磁盘级加密技术相匹敌的安全性。由于文件系统提供的动态加密技术难以满足用户的个性化需求,因此,为第三方提供动态加解密安全产品提供了足够的空间。

要研发在文件级的动态加解密安全产品,虽然与具体的操作系统有关,但仍有多种方法可供选择,一般可通过Hook或过滤驱动等方式嵌入到文件系统中,使其成为文件系统的一部分,从某种意义上来说,第三方的动态加解密产品可以看作是文件系统的一个功能扩展,这种扩展往往以模块化的形式出现,能够根据需要进行挂接或卸载,从而能够满足用户的各种需求,这是作为文件系统内嵌的动态加密系统难以做到的。

三、数据库加密对数据库的影响

数据加密是通过对明文进行复杂的加密操作,进而无法发现明文和密文之间、密文和密钥之间的内在关系,也就是说经过加密的数据经得起来自操作系统和数据库管理系统的攻击。但在数据库中以密文形式存在的敏感数据无法使用数据库管理系统的一些功能。数据库管理系统的功能比较完备,然而数据库数据加密以后,数据库管理系统一些功能将无法直接使用。

1、加密字段不能实现索引功能。

为了达到迅速查询的目的,数据库文件需要建立一些索引。索引建立和应用必须是明文状态,否则将失去索引的作用。有的DBMS中可以建立索引,这类索引也需要在明文状态下建立、维护和使用。

2、表间的连接码字段不能加密。

数据模型规范化以后,数据库表之间存在着密切的联系,这种相关性往往是通过局部编码联系的,这些编码若加密就无法进行表与表之间的连接运算。

3、无法实现对数据制约因素的定义。

数据库管理系统定义了数据之间的制约规则。数据一旦加密,DBMS将无法实现这一功能,而且,值域的定义也无法进行。

4、密文数据无法实现SQL的排序、分组和分类功能。

SELECT语句中的Group、Orderby、Having子句分别完成分组、排序、分类等操作。这些子句的操作对象如果是加密数据,那么解密后的明文数据将失去原语句的分组、排序、分类作用,显然这不是用户所需要的。

5、SQL语言中的内部函数将对加密数据失去作用。

6、BDMS对各种类型数据均提供了一些内部函数,这些函数不能直接作用于加密数据。

7、BDMS的一些应用开发工具的使用受到限制。

DBMS的一些应用开发工具不能直接对加密数据进行操作,因而它们的使用会受到限制。

数据库加密影响了一些数据库管理系统的功能,如阅读语句中的函数、排序、分组等,但可以通过组件技术来实现这些功能,如可采用SQL解释器。所以说数据库加密以后,DBMS的一些功能将无法直接使用,但可以在DBMS外层的SMS(安全管理系统)中增加组件来实现这些功能。

四、结束语

数据库是数据管理的最新技术,是计算机科学的重要分支。建立一个满足各级部门信息处理要求的、行之有效的信息系统,也成为一个企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,数据库技术因现实的需求迅速发展。通过研究,人们认识到数据库安全与保密这一领域研究的重要性和迫切性。在数据库安全和加密技术的研究方面,只是做了一些尝试性的工作,许多细节有待于进一步深入。

参考文献

[1] 张敏等.数据库安全[M].北京:科学出版社,2005

[2] 刘启军.数据库与信息系统安全[M].北京:电子工业出版社,2001

篇7

关键词:数据库安全;角色;SQL Server

中图分类号:TP311.13 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02

一、引言

随着数据库的广泛运用,数据库中数据的安全性至关重要。如果数据被破坏,损失将数以万计。数据如此的重要,如何避免窃取和破坏数据自然就成为我们研究的热点。数据库安全涉及的层次和范围较广,本文只选取数据库管理系统SQL Server本身的安全来进行研究,以求最大程度的保证SQL Server数据库自身的安全。

二、正文

(一)SQL Server基本安全配置

SQL Server是一个数据安全措施相当完善的关系数据库管理系统,它使用服务器-数据库-数据库三层对象来进行安全管理。也就是说从用户的角度看,要访问数据库,首先要能连接上服务器。连接上服务器后并不代表用户能访问数据库了,必须赋予用户访问某个数据库的权限。能访问某个数据库了,并不代表能访问数据库中的数据了,必须赋予用户访问表或列的权限才能访问表或列……具体的管理通过安全身份认证(服务器)和访问许可两个机制实现。

1.安全身份认证

SQL Server有两种身份验证模式可用来连接服务器:Windows验证模式和混合模式。混合认证模式指的是windows认证和SQL Server认证两种都支持。两者相比,Windows身份验证更好一些。因为SQL Server验证的登录在一个多服务器的环境中管理比较困难,而Windows安全模式能够与Windows安全系统集成在一起,从而能够提供更多的功能,例如安全验证和密码加密、审核、密码过期等。

另外,无论采用哪一种认证方式,都应使用安全的密码策略,并对系统管理者(sa)帐号进行最强的保护。SA在默认条件下,它可对服务器进行任何的操作,但一般情况下不能将SA从服务器删除或移走,所以一定要记得给此用户指定密码。当然,我们也是有办法可巧妙去除sa的,操作方法如下:在菜单栏中的“工具”选项卡中选择”SQL server配置属性”,选择“服务器设置”,对“允许对系统目录直接进行修改”打勾。一定要在master数据库中有db_owner(数据库所有者)的权限。可使用的命令如下:

update sysxlogins

set name='你要改成的名字'

where sid=0x01

update sysxlogins

set sid=0xE765555BD44F054F89CD0076A06EA823

where name='你要改成的名字'

最后,删除修改后的用户名。

2.访问控制

使用登录账号连接上服务器后,到底能进行哪些操作,主要决定于登录账号的权限。SQL Server中的访问权限分为服务器本身的操作权限和数据库的访问权限。两种访问权限对应两种角色:服务器角色和数据库角色。

不同的登录用户访问服务器的权限不同,是因为赋予它们的服务器角色不同。服务器角色负责整个服务器的访问权限,将某服务器角色添加至用户,则用户就拥有了服务器角色所对应的权限。对某数据库进行访问时,有时希望不同的数据库用户访问的权限有所不同,故创建数据库用户时应当赋予不同的数据库角色。

下面举例说明如何进行访问控制。例: 给丽丽分配一个登录用户名,保证不仅可创建和修改数据库,还可修改student数据库中的系别表和课程表。对应的命令如下:

EXEC sp_addlogin 'lili','123'

EXEC sp_addsrvrolemember 'lili','dbcreator'

Use student

EXEC sp_grantdbaccess 'lili'

Exec sp_addrole 'pin'

grant update

on系别表 to pin

grant update

on课程 to pin

Exec sp_addrolemember 'pin', 'lili'

(二)备份与恢复

数据库备份有四大类型:数据库完全备份、差异备份、事务日志备份、文件和文件组备份。管理大型数据库时,为了让数据库恢复所用的时间消耗最少,也为了最大可能的降低数据的损失,我们常综合运用多种备份。常见的备份方案有:

1.有规律进行数据库完全备份,比如每天一次,下班前备份。

2.以较小的时间间隔进行差异备份,比如二至三个小时备份一次。

3.在相临的两次差异备份之间进行事务日志备份,每二十或三十分钟一次。

这样,在进行恢复时,先恢复最近一次的数据库完全备份,接着进行差异备份,最后进行事务日志备份的恢复。恢复数据库可使用三种模型:1.完全恢复模型,2.大容量日志恢复模型,3.简单恢复模型。想知道你所使用数据库的恢复模型,可使用下面的命令:select DatabasePropertyEx('stu', 'Recovery') 。此处的“stu”就是你所使用的数据库名,这个语句可返回stu数据库当前使用的是哪种恢复模型。若当前的恢复模型不合意,可使用命令修改模型:alter database 数据库名 set recovery full\simple\bulk_logged

篇8

【关键词】ORACLE数据库 自动跟踪技术 数据库维护 SQL语句跟踪 后台进程跟踪

计算机技术的发展,网络技术的普及,各个单位都建立了网络管理系统,其中数据库的运行起到关键性的作用。ORACLE数据库是目前被广泛应用的数据库,该数据库具有稳定的运行特性,大量的关键性数据信息储存在数据库中,不仅确保了数据的安全,而且还以其良好的权限管理性能对数据以全方位管理。ORACLE 数据库管理中,数据库管理员(Database Administrator;简称:DBA)承担着重要的管理和维护责任。基于网络的开放性,对网络系统的数据库就需要强化跟踪管理,以避免数据库在运行中遭到恶意攻击。具体操作中,用户的数据库操作都需要DBA对其进行监督,并定期地审计。ORACLE 数据库的数据库跟踪技术上可以满足实施监控,并对跟踪过程的技术要求以支持。本论文针对自动跟踪技术在ORACLE数据库维护中的应用进行分析。

1 Oracle数据库概述

1.1 Oracle数据库的概念

Oracle是“Oracle Database”的简称,又被称为“Oracle RDBMS”。这款ORACLE公司提供的关系数据库管理系统,在网路信息数据库领域一直被关注。该数据库系统具有良好的可移植性,在运行中不仅具有强大的功能性,而且方便使用,因此而被广泛应用。

作为B/S体系结构的数据库,ORACLE数据库可以发挥通用的数据库管理功能;ORACLE数据库作为关系数据库,也是完备关系的产品和分布式数据库,发挥着完整的数据管理功能,并对数据库运行进行分布式处理。Oracle数据库的使用便捷性在于,只要学习相关的操作知识,就可以在各种型号的及其上操作。随着计算机网络技术的升级,Oracle数据库引入了多承租方架构,可以对数据库云进行管理,以促进资源的灵活利用,资源使用效率也会有所提高。特别是Oracle Multitenant,可以对多个数据库进行整合,压缩数据库中的数据信息,并运用Automatic Data Optimization对数据库中所存储的数据信息进行分层管理。这些创新技术的运用,使得Oracle数据库适应了现行的网络环境而成为云计算的理想平台。

1.2 Oracle数据库的特点

Oracle数据库在运行中具有安全性强的优势,能够在复杂的网络环境中稳定运行,且能够充分地发挥数据库的可用性和可扩展性。

Oracle数据库的数据管理功能是根据网络环境需要而不断调整的,不仅存储数据量大,而且对数据信息能够持久保存。虽然网络的共享性和开放性会威胁到数据传输和使用的安全性,但是Oracle数据库的数据可靠性极高,且能够保证关系产品的完整性。关系型的Oracle RDBMS的所有数据信息之间都存在着逻辑关系,遵循这一信息准则的基础上,还能够保证访问质量。在可视化信息的处理上,只要数据信息发生变化,相应的视图也会变化,因此而实现了视图实时更新。与其他的数据库有所不同,关系型的Oracle RDBMS具有物理性,也具有逻辑性,但是两者之间都是独立的。

现行应用领域中所使用的ORACLE数据库可以提供完善的分布式数据库处理功能。在分布式数据库构成上,关系型的Oracle RDBMS包括sql*Net、oraclerdbms、SQL*CONNECT等等关系型数据库产品,还会根据系统运行需要使用非ORACLE的关系型产品。

2 Oracle数据库的自动跟踪技术

要保证Oracle数据库的安全运行,就要时常地对系统运行中所存在的未知频率进行跟踪。Oracle数据库的自动跟踪技术是用户在操作计算机的过程中,DBA对其在线跟踪。跟踪的方式分为两种,即主动跟踪和反应跟踪。对用户的操作进行跟踪,采取主动跟踪的方式,是对与数据库相关的信息进行跟踪,将所跟踪到的信息与IP源地址结合,对系统的攻击源以识破。

Oracle在执行主动跟踪的过程中,经过计算机处理的各种信息都储存在分组标记中。其目的是在分组传输的过程中,可以获得前向节点信息,将控制报文协议(Internet Control Message Protocol;简称:ICMP)跟踪消息创造出来,之后,计算机会将这些消息发送到指定位置。经过ICMP,就可以将跟踪消息查找出来。主机经由路由器接收这些信息之后,就可以对攻击源进行跟踪,对所跟踪到的网络路径进行标记分组。在跟踪攻击源的过程中,正常信息的分组处理并不会受到干扰。对用户操作信息的跟踪,也可以采用步进跟踪的方式。这种自动跟踪技术往往都会使用卫星天线接收信号,根据所接受的信号强度进行搜索,以对信息所在范围进行判断。

3 ORACLE数据库维护中对自动跟踪技术的应用

3.1 SQL语句跟踪

3.1.1 SQL语句跟踪

ORACLE数据库的维护中,采用自动跟踪技术,在跟踪SQL语句的时候,要存储用户所执行的SQL语句,通过设置数据库的参数就可以实现。DBA对跟踪中所获得的数据信息进行分析,并采取维护措施。

措施一:

具体操作中,打开“SQLPLUS”界面,输入如下参数值:

show parameter sql_trace

如果显示“TURE”,则参数值有效;如果为“FALSE”,就要将“sql_trace=true”添加到“initorcl.ora”参数文件中。

当操作完成之后,重新启动计算机,数据库所设置的参数就会生效。

措施二:

当数据库系统处于网络运行状态的时候,可以对自动跟踪技术的参数重新设置。

具体操作中,打开“SQLPLUS”界面,输入如下参数值:

“alter session set sql_trace = true”

当用户执行SQL语句的时候,自动跟踪技术就会跟踪用户所操作的SQL语句。虽然这种自动跟踪技术操作简单,且对跟踪参数值可以随时调整,但是,存在着跟踪局限性,即只能够对数据库的会话语句进行跟踪。如果重新启动计算机,数据库跟踪参数就会恢复到原始状态,新设置的跟踪参数生效。

措施三:使用事件探察器进行跟踪

用SQL设置事件探察器,在跟踪的过程中不会有数据信息产生。

使用下面程序:

select * from ::fn_trace_getinfo ( 1 )

可以对SQL的语句执行状态进行观察。此时,“ c:\test . trc”显示为空文件。

在事件探察器中将筛选参数设置出来,Object Type所对应的是sys objects 表中字符为 type 列。当输入查询字符时,所需要的是数字。此时,如果所显示的语句为:

“insert,update,delete”

则意味着正处于SQL自动跟踪状态,跟踪过程中所获得的数据会自动存储在sys objects 表中。

3.1.2 SQL语句跟踪文件解析

对SQL语句跟踪文件进行解析,所执行的SQL 命令如下:

“SQL > select * from tab;

SQL > update emp set sal = sal + 1000;

SQL > select * from emp”

当程序处于运行状态后,就可以查找到跟踪文件所在位置:

“ D: \ORACLE \ADMIN \ORCL \UDUMP”

新的跟踪文件就会生成。

在对跟踪文件进行分析中,包括Parse、fetch、execut的执行次数(count);内存数据(disk);CPU的实际运行时间(cpu)elapsed;访问语句的行数(Rows)等等,根据这些数据信息,DBA就可以对SQL语句的执行情况有效分析,并根据分析结果采取故障排除措施,包括用户访问显示、用户使用西苑范围调整等等,通过调整数据库参数,以确保数据库能够有效运行。

3.2 后台进程跟踪

3.2.1 后台进程跟踪

ORACLE 数据库的跟踪文件在initsid.ora 中存储。

跟踪文件的参数设置的确定为:

“ background_dump_dest”

对用户信息进行跟踪的参数设置的确定为:

“ user_dump_dest”

假设ORACLE 安装在d 盘,sid= ORCL,则:

在文件目录“d:\oracle\admin\orcl\pfile:”打开参数文件“initorcl.ora”

如果“ background_dump_dest ” 文件没有内容,ORACLE就会对系统运行路径自动选择,即:

“ d:\oracle\admin\orcl\bdump\orclalrt.log”

以此作为跟踪文件路径参数。然后,重新启动计算机,设置新参数的数据库就会生效。

3.2.2 后台进程跟踪文件解析

ORACLE 数据库运行中,会对数据库所接受的信息自动识别,并存储到相应的目录中,扩展名为“. trc”。文件跟踪中,使用TKPROF即可对指定文件进行阅读。格式如下:

TKPROF TRACEFILE OUTPUTFILE

其中:

TRACEFILE:跟踪文件名

OUTPUTFILE:新文件名

当命令执行结束后,就可以将整理后的文件打开阅读。

4 结论

综上所述,ORACLE数据库是由美国ORACLE公司开发的,是目前在各个领域被广为应用的数据库软件之一。ORACLE数据库是关系型数据库,具有分布式处理功能。作为一个完备的关系数据库产品,其在运行中具稳定可靠,具有很强的实用性,且确保了数据库中所存储信息的安全、完整。随着计算机网络技术的快速升级,为了确保数据库信息安全,DBA要对用户的数据库操作实时跟踪,并做好定期审查工作,这些工作都是对计算机数据库安全进行维护的重要环节。对数据库的运行环境采用自动跟踪技术进行分析,可以对用户的操作进程实时跟踪。要确保跟踪监控有效运行,可以设置SQL语句参数或者对Oracle系统的后台进程进行跟踪管理,以在Oracle系统运行中获得关键信息点。DBA则可以根据关键信息点对数据库的参数进行调整,会确保Oracle系统运行中性能得以优化,提高Oracle系统的工作效率。

参考文献

[1]殷泰晖,李帅.基于TNS协议的Oracle数据库安全性改进方法[J].合肥工业大学学报(自然科学版),2012,35(02):193-196.

[2]孙钟安.大型数据库ORACLE数据库的优化设计思考[J].电脑知识与技术,2014,10(20):4644-4645.

[3]于淑云,马继军.ORACLE数据库安全问题探析与应对策略[J].软件导刊,2010(12):147-149.

[4]肖飞,黄正东,王光华,郭雪清.JAVA存储过程在Oracle数据库中的应用研究[J].中国数字医学,2014,9(03):18.

[5]魏亚楠,宋义秋.Oracle数据库应用系统的性能优化[J].制造业自动化,2010,32(8):204-206、222.

[6]曹新志,沈君姝,郭辉,等.Oracle数据库在PACS/RIS系统中的应用[J].中国医疗设备,2013(07):35-37.

[7]彭小斌,张文峰,林根深.ORACLE数据库并发访问控制机制及访问冲突的解决方法[J].中国医疗设备,2013,28(01):44-45、14.

[8]付强,王春平.基于半实物仿真的半自动跟踪技术开发平台[J]四川兵工学报,2012,33(08):69-70、80.

推荐期刊