第5章TRIP数据库的安全性控制

第5章TRIP数据库的安全性控制
第5章TRIP数据库的安全性控制

第5章TRIP数据库的安全性控制

5.1 安全性概述

安全性对于一个数据库管理系统来说是至关重要的,所谓数据库的安全性是指保护数据库避免不合法的使用,以免数据的泄漏、更改或破坏。Trip数据库的安全机制是多层次的,系统的登录采用用户身份认证的方法;对于数据库的访问采用授权的方法,在数据库级、记录级、字段级三个层面分别进行授权,控制用户的访问权限和访问内容;当数据库意外发生破坏时,可以进行数据库的恢复,甚至可以根据日志文件进行跟踪、审核,找出破坏的原因;对数据库的备份,可以简单的将数据库BAF文件进行整体备份,当该文件比较大时,甚至可以对数据库进行拆分和合并处理。

5.2 用户和组的访问权限管理

5.2.1 用户

TRIP有四级用户权限:系统管理员(system)、文件管理员(文件经理FM)、用户管理员(用户经理UM)和一般用户(user)。

每个TRIP系统只有一个系统管理员,其用户名为system,他有完全的、最高系统权限,只有他才可以生成文件管理员、用户管理员。当然,系统管理员本身也是FM和UM,他有建立数据库和开设新用户的权限。

文件管理员(FM)有权建造数据库,并授权给用户或用户组去访向该数据库。只有经他授权的用户(包括生成文件管理员的系统管理员)才能使用他生成的数据库。用户经理(UF)有权建立新的用户或用户组。一个TRIP系统可以有不限量的文件经理或用户经理。如图5.1所示。

系统管理员(system)

用户管理员(system)文件管理员(system)

一般用户(user)数据库

图5.1 TRIP用户权限图

提示:系统管理员system可以改任何用户的口令,而其它人只能改自己的口令。

可注册的用户数由所购置的并发用户数(Concurrent users)决定。1个并发用户可允许

10-100个用户注册使用TRIP系统。

5.2.2 用户组

用户组是为简化数据库访问管理权限而设定的。例如,某文件管理员建立了5个数据库,欲给100个注册用户授权使用。但只有7个用户可以读、写全部字段,其余93个用户只可以读、写其中的5个字段,对这种情况,文件管理员只需对两组用户授权,而不必给100个用户分别授权。

注意:可注册的用户数是由所购置的并发用户数(Concurrent users)决定的。1个并发用户可允许10-100个用户注册使用TRIP系统。

5.2.2 用户或用户组权限管理

1、建立新的用户或用户组

系统管理员或者用户管理员(UM),可以采用如下方法建立新的用户或用户组。

①以系统管理员或UM身份登陆TRIP,选择菜单【管理】→【用户/用户组】,进入“用户/用户组管理”界面,如图5.2所示。

图5.2 用户/用户组管理界面

②建立新用户:选择菜单【用户】→【新开用户】,打开“新建用户”界面,并输入新的用户名、密码和确认密码,并按下组合键CTRL+E或Enter进行保存即可,如图5.3所示。

③建立新用户组:选择菜单【用户组】→【新开用户组】,打开“新建用户组”界面,输入新的用户组名,并按下组合键CTRL+E或ENTER进行保存即可,如图5.4所示。

图5.3 新建用户界面图5.4 新建用户组界面

2、设置用户为FM、UM

系统管理员可以为其创建的用户设置为FM或UM,方法如下:

①以系统管理员身份登陆TRIP,选择菜单【管理】→【用户/用户组】,进入“用户/用户组管理”界面。

②选择菜单【系统】→【经理期限】,进入“权限设置屏”,如图5.5所示。

图5.5 权限设置屏

③输入已存在用户名,并设置UM及FM选项为“Y”或者“N”,并按下组合键CTRL+E

进行保存,再按下ENTER键完成即可。

3、修改用户密码

一旦某一成员忘记了密码,系统管理员有权改变所有成员的密码。方法如下:

①必须以系统管理员身份登陆TRIP,选择菜单【管理】→【用户/用户组】,进入“用

户/用户组管理”界面。

②选择菜单【系统】→【修改密码】,进入“密码设置屏”,重新输入一个新的密码和

确认密码,按下CTRL+E或ENTER进行保存即可。

提示:如果TRIP的成员要改变自己的密码,需要以该成员身份登陆TRIP系统,并在顶

层菜单中选择【其它】→【修改密码】,进入“密码改变屏”,分别输入旧密码、新密码及确

认密码按下CTRL+E或ENTER进行保存即可。

5.3 数据库使用权限管理

数据库创建之后,创建者便成为该数据库的拥有者,只有创建者才有权利对该数据库进行读、写操作,其他任何TRIP的用户或用户组要使用该库,必须经创建者为其授权。

数据库的授权有三个级别,分别是:库、记录、字段。每个级别又分读(access) 和写(write)的权限。

库级:他人对整个库的全部记录有读(检索)或写(修改)的权限。

记录级:他人对某些含有特定内容的记录才具有(或不具备有)检索或修改的权限。

字段级:他人对整个库的记录中的某些字段才有检索或修改的权限,而对某些字段是看不见的或不允许被修改的。

以上三级的授权只有数据库的创建者即拥有者才能进行。

如要显示你生成的数据库的用户授权情况,用命令:

Show access 或Show base access

若只想显示某一库的存取权限,用命令:

Show Access R=database name

5.3.1 库级的授权

库级的授权操作步骤如下:

①数据库的创建者登陆TRIP后,选择菜单【管理】→【数据库】,进入“数据库管理”界面,如图5.6所示。

②选择菜单【数据库存取】→【数据库存取】,进入“数据存取权限定义屏”,如图5.7所示。

图5.6 数据库管理屏幕图5.7数据存取权限定义屏

③然后按提示,输入数据库的名称和欲授予的用户名或用户组名,接着会进入下一屏,显示读写权限的选择,如图5.8所示。这时可见星号”*”均位于none之下,说明该用户没有任何读、写的权限。

图5.8读写权限选择

④用方向键,移动光标至所需位置,如要库一级授权则移至ALL处,按键盘上的“*”(或者按下CTRL+K组合键,再按下”.”键)后,在ALL下的”READ”或“WRITE”权限中会显示“*”,然后再按下CTRL+E键将结果保存,最后按回车键,授权过程完毕。

5.3.2 记录级的授权

记录级的授权操作步骤如下:

在进入“数据库存取权限定义”屏后,在“Read Scope”栏中填写可被检索的内容,如图5.9所示。如填“计算机”,那么,只有那些含有“计算机”的记录才让这个用户(或用户组)看,其它不含有“计算机”的记录将看不到,若在“Read Scope”中写成ALL NOT

(计算机or互联网),那么只能查找数据库中不含有计算机或互联网的记录。

图5.9记录级选择屏

5.3.3 字段级的授权

字段级的授权操作步骤如下:

①执行库级的授权步骤①至③,进入显示读写权限的选择屏。

②如果要字段一级的授权,则移动光标到Selected处,在“READ”或“WRITE”行

中按键盘上的“*”(或者按下CTRL+K组合键,再按下”.”键)后,按下组合键CTRL+K键,

然后再按下“7”键进入下一屏,如图5.10所示。

图5.10 字段选择屏

③再移动光标到所需的字段处,按键盘上的“*”(或者按下CTRL+K组合键,再按下”.”键),则在该处会出现“*”号,表示已被选上。当选择完毕后,按组合键CTRL+E退回前一屏,再按组合键CTRL+E,将结果存上。最后按回车键,授权过程完毕。

5.4 数据备份和恢复

5.4.1 数据库的备份

保护数据的最有效的方法是定期对数据进行备份。每个TRIP数据库有三个独立的文件,其后缀分别是.BAF,.BIF和.VIF。BAF为基本文件,存放着数据库记录的原始信息,BIF 是倒排文件,存放着能对原始信息快速查找的词条,VIF是BIF文件所存词条的倒排信息,用于模糊查找。一般我们将BAF文件直接备份即可,但为了保险期间,通常连同BIF和VIF 文件一起备份。

CONTROL数据库是TRIP系统的“工具箱”、“百宝箱”,存放着除了用户数据库的数据之外的全部数据,包括用户数据库的库结构、用户名及其口令等等。一旦CONTROL 遭到破坏,用户不能登录,数据库也没法打开。所以对CONTROL的三个文件必须经常进行备份,保持最新的数据。该文件一般都不大,为安全起见,不妨考虑备一份到本地微机,万一主服务器出了问题,也还有异地的备份。

5.4.2 数据库的恢复

由于TRIP数据库文件是独立的,所以TRIP数据库的恢复很简单,一般只需要将备份的BAF文件覆盖源文件,然后进入TRIP系统,对该数据库进行倒排操作即可。

当某个TRIP数据库设置了数据库的维护日志文件,设置方法详见5.5.3节讲解,该日志文件以TFORM格式记录该数据库何时有数据被增加、修改和删除操作,在进行数据库的恢复时,有时候可能要结合该日志文件来进行。比如假设2011年9月10日10点备份了数据库,然而2011年9月11日8点数据库文件突然发生了破坏,需要恢复,这个时候不但要

用备份文件进行恢复,还要借助日志文件,将9月10日10点以后至9月11日8点以前的,对该数据库进行的增加、修改和删除数据进行恢复和更新,以确保数据的完整性。

5.4.3 数据库的拆分和合并

当备份数据库文件的时候,由于存储介质容量的限制,经常将大的数据库文件进行拆分,然后再存储或者刻录,比如DVD光盘刻录,一张光盘容量大概是4.7G,我们可以根据需要将数据库文件按记录的多少拆分成一个个不超过4.7G大小的文件,然后刻录备份。TRIP数据库提供了数据库文件的拆分和合并的CCL命令INSERT COPY,该命令有两种格式:

1.利用查询的结果进行拆分和合并

格式为:INSERT COPY=database WHERE S=N

2.利用记录号进行拆分和合并

格式为:INSERT COPY=database WHERE R=range

例1拆分数据库,假设有一个数据库文件books,要将前100个记录拆分成一个数据库文件book1存储。操作步骤为:

第一步:首先建立一个和books同结构的数据库文件book1;

第二步:打开books数据库,BASE BOOKS;

第三步:执行拆分命令,INSERT COPY=book1 WHERE R=TO 100。

例2合并数据库:假设有数据库文件book1和book2,将两个数据库文件合并为数据库books。操作步骤为:

第一步:首先建立一个和book1同结构的数据库文件books;

第二步:打开数据库文件book1和book2,并设置为数据库集group,BASE group=BOOK1,BOOK2;

第三步:执行数据库合并命令,INSERT COPY=books WHERE S=1。

5.5 日志和审计

对TRIP数据库记录的任何增、删、改操作,以及被用户使用的情况,都会一一记录在案,必要时有据可查。一些最基本的操作,例如数据库记录的追加情况,倒排情况等,会自动生成日志文件。有些操作则必须有适当的设置之后,才能生产日志文件。下面介绍TRIP 的日志功能LOG,哪些log是系统隐含的,不设置也会有的,有哪些是要设置之后才会有。

5.5.1 TFORM数据的LOG

利用TFORM文件通过TRIP后台提交的作业,有三种方式:LOAD、LOAD/INDEX和INDEX。这些作业会自动生成LOG文件,生成文件的目录将取决于TRIP的配置文件/.TRIPrcs中有无这一行“TDBS_LOG=/data/log”,如果有这一行,日志文件就会写到“/data/log/”的目录下;如果没有这一行定义,LOG文件就写在用户进入TRIP系统是的目录下。

1.LOAD

只装入数据(LOAD),暂不倒排,将生成以LD字符开始、接着是数据库名和一些系统进程码,最后以log为后缀的文件,如:LDleg46420c9d0.log。内容格式包括:**** TRIP System Utility BAFFIT - Add/Modify/Delete BAF Records ****

Version 5.1-4:4 10-May-2006 02:02:05

Database : leg

TFORM file : /home/lianyc/leg4527.tfo

Sentence scanning : Y

First record number added: 4528

Last record number added: 4628

Number of records added: 100

No records modified.

No records deleted.

Elapsed: 00:00:02

2.LOAD/INDEX

数据先装入,接着倒排,将生成以LI字符开始、接着是数据库名和一些系统进程码,最后以log为后缀的文件,如:LIleg46420ef20.log。内容格式包括:

**** TRIP System Utility BAFFIT - Add/Modify/Delete BAF Records ****

Version 5.1-4:4 10-May-2006 02:12:02

Database: leg

TFORM file: /home/lianyc/leg4527.tfo

Sentence scanning : Y

First record number added: 4528

Last record number added: 4629

Number of records added: 100

No records modified.

No records deleted.

Elapsed: 00:00:02

**** TRIP System Utility INDEX - Create/Update BIF/VIF Files ****

Version 5.1-4:4 10-May-2006 02:12:02

Data base : LEG

STO file name : /data/log/LEG_1609.sto

TPO file name : /data/log/LEG_1609.tpo

BUT file name : /data/log/LEG_1609.but

------ Starting SCAN phase for BIF. ------ 10-May-2006 02:12:02

------ Starting BIF update phase. ------ 10-May-2006 02:12:02

------ Starting SCAN phase for VIF. ------ 10-May-2006 02:12:02

------ Starting VIF update phase. ------ 10-May-2006 02:12:02

------ Current Entry Block Width: 8 ------ 10-May-2006 02:12:02

Exit 10-May-2006 02:12:02

Elapsed: 00:00:12

**** TRIP System Utility BAFFRE - Release old BAF records ****

Version 5.1-4:4 10-May-2006 02:12:02

Data base : LEG

Elapsed: 00:00:00

3.INDEX

只作倒排(INDEX)。这种情况多半发生在对现有的数据库要进行重新倒排。将生成以IX 字符开始、接着是数据库名和一些系统进程码,最后以log为后缀的文件,如:IXleg464213af0.log。内容格式包括:

**** TRIP System Utility INDEX - Create/Update BIF/VIF Files ****

Version 5.1-4:4 10-May-2006 02:32:15

Data base : LEG

STO file name : /data/log/LEG_1638.sto

TPO file name : /data/log/LEG_1638.tpo

BUT file name : /data/log/LEG_1638.but

------ Starting SCAN phase for BIF. ------ 10-May-2006 02:32:15

Processed 1024 (of 4529) New Records ... 10-May-2006 02:32:30

Number of new main records: 4528

Number of text occurrences: 7803827

Number of phrase occurrences: 126939

------ Starting BIF update phase. ------ 10-May-2006 02:33:26

------ Current Entry Block Width: 10 ------ 10-May-2006 02:33:26

Processed Entry block 512 (of 1024) ... 10-May-2006 02:33:32

------ Starting SCAN phase for VIF. ------ 10-May-2006 02:33:38

------ Starting VIF update phase. ------ 10-May-2006 02:33:38

------ Current Entry Block Width: 8 ------ 10-May-2006 02:33:39

Exit 10-May-2006 02:33:39

Elapsed: 00:01:24

其实,通过后台,利用TFORM文件提交的作业,包括删除,修改记录都会写出日志文件。利用系统的命令做的作业,则直接显示在屏幕上,不写出文件保存,如下列往leg数据库装入tform 文件leg.tfo数据又倒排的命令:

loadix leg Y N leg.tfo

如果也想把上述过程保留到文件里,可在命令的后面加上> 和文件名

loadix leg Y N leg.tfo > logname

这样,整个过程就写到logname 中。

5.5.2 数据库被检索的日志

数据库被检索利用的情况的最简单办法是在TRIP的sys目录下生成一个名叫DEBIT.LOG的空白文件,并放开这个文件的权限。这样,谁打开过哪个数据库都将被记录下来。如果要求记录下查找了什么内容,看了哪些记录,或者要按用户名分别写日志等详细的信息,就必须对TRIP系统的记账标识“TDBS_ACCFLG”进行设置。“TDBS_ACCFLG”在/.TRIPrcs文件中,数值有0-255,取决于bitmask 0-7的组合值,它将决定如何写日志,包括日志文件的命名方法等。常用的bit 位包括:

Bit 0 (1) 日志文件名采用TRIP的用户名,后缀为log

Bit 3 (8) 记录发Find, Freq, Mea及打开clusters 命令

Bit 4 (16) 退出之前不做库的统计,但每打开另一个库时写统计信息

Bit 5 (32) 每个SHOW命令时写输出统计,而不是等到换另一个库才写

Bit 6 (64) 记录show 及show fo

下面是对LEG数据库进行检索的日志(TDBS_ACCFLG=127):

O LIANYC TRIPNET 10-May-2006 04:51:29 LEG 10-May-2007 04:51:32

S LIANYC TRIPNET 10-May-2006 04:51:29 Find 海关AND 关税

S LIANYC TRIPNET 10-May-2006 04:51:29 Find S=2 AND 电子产品

U LIANYC TRIPNET 10-May-2006 04:51:29 LEG 00:03:13 1 4 0 0

C LIANYC TRIPNET 10-May-2006 04:51:29 LEG 10-May-2006 04:54:45

其中,每一行的首字符是行码,“O”表示:打开数据库的时间,“S”表示:查找命令,“U”表示:连接库名、连接时间、显示的记录数、显示价格单位、打印数、打印价。

上述日志文件的位置由/.TRIPrcs文件中的参数TDBS_ACCDIR=dir指定的dir 来决定。如果指定的dir存在,记账日志文件就写到这个目录下,如果不存在,那么用户就不能登录进TRIP系统。

5.5.3 数据库维护日志

数据库设计主菜单上除了有三行标明数据库的三个文件外,还有紧跟着的第四行“LOG file name”,这行几乎没人注意干什么的。它就是专门用来写数据库事务日志的,如图5.11所示:

5.11数据库设计窗口

如果在“LOG file name”这一行像上述一样指定一个文件名,那么该文件将会记录着BAF文件发生的全部变化,不管是数据录入、全局更新,还是装入过的tform文件,通通会以tform文件的格式记录下来。一旦最新的BAF文件遭到损坏,那么这个tform格式的LOG 文件和上一次备份的BAF文件一起就能够恢复到最新的数据。

注意:这个LOG文件与数据库的备份是相关联的,每当BAF文件作一次备份,就必须删去这个LOG文件,并且生成一个空的LOG文件,例如:

rm LOGfilename

touch LOGfilename

但需指出的是,上述设置的LOG文件只记录往数据库BAF文件添加、修改的数据,只记录删除记录的操作的tform格式命令,不记录被删除的记录数据本身。如删除过第1239记录,LOG 文件只会记下如下两行信息,说明谁、何时删了记录1239:

T2007-05-10 08:32:07 SYSTEM^

1239D^0R^

如果有必要把被删的数据记录下来,就要进行另一种设置:进入数据库设计主菜单后,按小键盘6,获得如图5.12所示的小窗口后,将“Write deleted records in database log file :”设置成Y 即可。

5.12 数据库选项窗口

经过这种设置,此后被删去的记录将会以tform的格式保留在LOG文件中。

数据库安全设计与分析

井冈山大学 《网络安全课程设计报告》 选题名称数据库的安全与分析 学院电子与信息工程 专业网络工程 班级网络工程13本(1) 姓名何依 学号130913029 日期2016.10.08

目录 一、背景与目的 (3) 二、实施方案概要 (3) 1、用户权限 (3) 2、访问权限 (3) 3、再次校对 (4) 4、登录 (4) 三、技术与理论 (4) 1、三层式数据访问机制 (4) 2、数据加密处理机制 (4) 3、数据库系统的安全策略: (5) 四、课程设计实施 (6) 1、第一步 (6) 2、第二步 (8) 3、第三步 (9) 4、第四步 (10) 5、第五步 (11) 五、课程设计结果分析 (11) 六、总结 (12)

一、背景与目的 无论是从十大酒店泄露大量开房信息,到工商银行的快捷支付漏洞导致用户存款消失,这一种种触目惊心的事件表明数据库的安全性能对于整个社会来说是十分重要的,数据库安全是对顾客的权益的安全保障,也是国家、企业以及更多的人的安全保障,从而数据库的安全性非常值得重视。 对于数据库的安全我将进行以下分析,旨在了解更多的数据库安全技术和对常见的数据库攻击的一些防范措施,并借鉴到今后的实际开发项目中去,更好的保护客户的权益。 二、实施方案概要 本次的数据库主要基于我们比较熟悉的SQLSever进行。 为了保障用户的数据的存储安全,保障数据的访问安全,我们应该对拘束看的用户采取监控的机制,分布式的处理各种应用类型的数据即采取三层式数据库连接的机制。 1、用户权限 当一个数据库被建立后,它将被指定给一个所有者,即运行建立数据库语句的用户。通常,只有所有者(或者超级用户)才能对该数据库中的对象进行任何操作,为了能让其它用户使用该数据库,需要进行权限设置。应用程序不能使用所有者或者超级用户的账号来连接到数据库,因为这些用户可以执行任何查询,例如,修改数据结构(如删除表格)或者删除所有的内容,一旦发生黑客事件数据库的安全将会岌岌可危。 2、访问权限 可以为应用程序不同的部分建立不同的数据库账号,使得它们职能对数据库对象行使非常有限的权限。对这些账号应该只赋予最需要的权限,同时应该防止相同的用户能够在不同的使用情况与数据库进行交流。这也就是说,如果某一个入侵者利用这些账号中的某一个获得了访问数据库的权限,他们也仅仅能够影响

数据库安全性习题解答和解析

第九章数据库安全性习题解答和解析 1. 1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2. 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。 答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称 TCSEC,又称桔皮书)。(详细介绍参见《概论》9.1.2)。 TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Database Interpretation 简称TDI, 又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。这些指标的具体内容,参见《概论》9.1.2。 4.试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。 答:根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。 这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:D级 D级是最低级别。一切不符合更高标准的系统,统统归于D组。 C1级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主

数据库安全性和完整性实验

实验9:数据库安全性实验 一、实验目的 加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法。 二、实验内容 1.数据库的安全性实验。在SQL Server企业管理器中,设置SQL Server 的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理 数据操作权限。 三、实验原理和步骤 1.设置SQL Server的安全认证模式,选择混合模式。 右键服务器属性-安全性:选择SQL Server和Windows身份验证模式。 重启服务,生效。 2.账号: sa账号登录 3.登录帐号的管理

1)将Windows帐号添加到SQL Server 2005中 创建操作系统用户- 4.数据库用户的管理 1)dbo用户; 查看banking数据库的dbo用户,查看用户权限。 2)U1用户; 创建banking数据库的U1用户,查看用户权限。 5.权限管理 1)赋予所创建的U1用户db_datareader角色,查看用户权限 2)赋予所创建的U1用户db_datawriter角色,查看用户权限 3)赋予所创建的U1用户db_owner角色,查看用户权限 4)两种方法赋予所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 5)两种方法赋予所创建的U1用户对banking数据库表branch的select 和对branch_name修改的权限,验证并写出sql语句 6)把对loan表的update权限授予所创建的U1用户用户,并允许将此 权限再授予其他用户,验证并写出sql语句 7)两种方法回收所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 8)两种方法回收所有用户对banking数据库表loan的update权限,验 证并写出sql语句 四、实验报告要求 要求写出如下设计报告: 1.用Transact-SQL写出实验操作的语句 2.实验步骤和实验结果。 3.实验中的问题和提高。 4.SQL Server中有的安全性功能。 五、注意事项 1.用户、角色和权限的职能,以及它们之间的关系。

数据库的安全性管理

第10章数据库的安全性管理 教学目标: 掌握SQL Sever 的安全机制,了解登录和用户的概念,掌握权限管理和掌握角色管理。通过本章的学习,要求读者深入理解SQL Server 的安全机制,以及掌握常用的管理操作,培养良好的数据库安全意识以及制定合理的数据库安全策略。建立C/S结构的网络数据库概念,锻炼实际数据库管理能力,为今后从事数据库管理员(DBA)的工作奠定基础。 10.1SQL Server 的安全性机制 在介绍安全管理之前,首先看一下SQL Server 是如何保证数据库安全性的,即了解SQL Server 安全机制。 10.1.1 权限层次机制 SQL Server 2005的安全性管理可分为3个等级:1、操作系统级;2、SQL Server 级3、数据库级。 10.1.2 操作系统级的安全性 在用户使用客户计算机通过网络实现SQL Server 服务器的访问时,用户首先要获得计算机操作系统的使用权。 一般说来,在能够实现网络互联的前提下,用户没有必要向运行SQL Server 服务器的主机进行登录,除非SQL Server 服务器就运行在本地计算机上。SQL Server 可以直接访问网络端口,所以可以实现对Windows NT 安全体系以外的服务器及其数据库的访问,操作系统安全性是操作系统管理员或者网络管理员的任务。由于SQL Server 采用了集成Windows NT网络安全性机制,所以使得操作系统安全性的地位得到提高,但同时也加大了管理数据库系统安全性的灵活性和难度。 10.1.3 SQL Server 级的安全性 SQL Server 的服务器级安全性建立在控制服务器登录帐号和口令的基础上。SQL Server 采用了标准SQL Server 登录和集成Windows NT登录两种方式。无论是使用哪种登录方式,用户在登录时提供的登录帐号和口令,决定了用户能否获得SQL Server的访问权,以及在获得访问权以后,用户在访问SQL Server时可以拥有的权利。

实验八 数据库的安全性

实验八数据库的安全 T9.1 数据库用户的管理 1、实验目的 (1)掌握Windows登录名的建立与删除方法。 (2)掌握SQL Server登录名的建立与删除方法。 (3)掌握数据库用户创建于管理的方法。 2、实验准备 (1)了解windows身份验证模式与SQL Server身份验证模式的原理。 (2)了解数据库用户的建立与删除方法。 3、实验步骤 (1)Windows登录名。 ①使用界面方式创建Windows身份模式的登录名。方法如下: 第一步以管理员身份登录到Windows,选择“开始”,打开“控制面板”中的“性能和维护”,选择其中的“管理工具”,双击“计算机管理”进入“计算机管理”窗口。 在该窗口中选择“本地用户和组”中的“用户”图标,右击,在弹出的快捷菜单中选择“新用户”菜单项,打开“新用户”窗口,新建一个用户zheng。 第二步一管理员身份登录到SQL Server Management Studio,在对象资源管理器中选择“安全性”,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中单击“搜索”按钮添加Windows用户名zheng。选择“Windows身份验证模式”,单击“确定”按钮完成。 ②使用命令方式创建Windows身份模式的登录名,语句如下: 【思考与练习】 使用用户zheng登录Windows,然后启动SQL Server Management Studio,以Windows 身份验证模式连接。看看与以系统管理员身份登录时有什么不同。 (2)SQL Server登录名。 ①使用界面方式创建SQL Server登录名。方法为:在对象资源管理器的“安全性”中,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中输入要创建的登录名“yan”,并选择“SQL Server 身份验证模式”,输入密码,取消选择“用户在下次登录时必须更改密码”选项,单击“确认”按钮。 ②以命令方式创建SQL Server登录名,语句如下:

数据库的安全性实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验:数据库的安全性实验 课程:数据库原理及应用B 班级:网络1203 学号: 学生姓名: 任课教师:孟彩霞

一、实验目的 (1)理解SQL Server验证用户身份的过程,掌握设置身份验证模式的方法(2)理解登录帐号的概念,掌握混合认证模式下登录帐号的建立与取消方法 (3)掌握混合认证模式下数据库用户的建立与取消方法 (4)掌握数据库用户权限的设置方法 (5)理解角色的概念,掌握管理角色技术 二、实验内容 (1)在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 (2)创建、管理数据库服务器的登录账号。 (3)创建、管理数据库用户。 (4)管理用户权限。 (5)创建、管理数据库角色。 三、实验环境 Windows7 SQL SERVER 2012 四、实验前准备 课本 上机使用代码 五、实验步骤 1.在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 2.创建、管理数据库服务器的登录账号。用T-SQL语句创建、查看、删除登录账号。 创建一个名为Student、密码为111、使用的默认数据库为JWGL的登录账号。 EXEC sp_addlogin ‘student’,’111’,’JWGL’查看登录账号EXEC sp_helplogins 删除登录账号为EXEC sp_droplogins ‘student’ 3.创建、管理数据库用户。 用T-SQL语句创建、查看、删除数据库用户。 为数据库JWGL创建一个用户user1,该用户登录SQL Server服务器的账号为wang,登录密码为secret,相应的程序代码为: EXEC sp_addlogin ‘wang’, ‘secret’, ‘JWGL’ GO EXEC sp_grantdbaccess ‘wang’, ‘user1’查看数据库用户为EXEC sp_helpuser 删除数据库中的“wang”用户为EXEC sp_revokedbaccess ‘wang’ 4.管理用户权限。 使用T-SQL语句完成第3章习题12中(1)~(3)的用户管理和用户权限管理。企业管理器: (1)允许用户李明对Orders表进行插入、删除操作。 GRANT INSERT ,DELETE ON Orders TO ‘李明’

数据库系统概论第5版课后答案第4章 数据库安全性

第4章数据库安全性 1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 CC评估保证级(EAL)的划分 4.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有:

1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用 户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有 未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。 3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐 藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可 以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知 数据的内容。 5.什么是数据库中的自主存取控制方法和强制存取控制方法? 答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 6.对下列两个关系模式使用GRANT语句完成下列授权功能: 学生(学号,姓名,年龄,性别,家庭住址,班级号) 班级(班级号,班级名,班主任,班长) 1)授予用户U1对两个表的所有权限,并可给其他用户授权。 GRANT ALL PRIVILEGES ON TABLE学生,班级 TO U1 WITH GRANT OPTION ; 2)授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。 GRANT SELECT,UPDATE(家庭住址) ON TABLE学生 TO U2; 3)将对班级表查看权限授予所有用户。 GRANT SELECT ON TABLE 班级 TO PUBLIC; 4)将对学生表的查询、更新权限授予角色R1。 CREATE ROLE R1; GRANT SELECT,UPDATE ON TABLE 学生 TO R1; 5)将角色R1授予用户U1,并且U1可继续授予给其他角色。 GRANT R1 TO U1 WITH ADMIN OPTION;称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号; GRANT SELECT ON 部门工资 TO 杨兰; 7.针对习题7 中1)~7)的每一种情况,撤销各用户所授予的权限。 1)REVOKE SELECT ON TABLE职工,部门 FROM 王明; 2)REVOKE INSERT , DELETE ON TABLE职工,部门 FROM 李勇; 3)REOVKE SELECT ON TABLE职工WHEN USER ( ) =NAMEFROM ALI; 4)REVOKE SELECT , UPDATE ON TABLE职工FROM 刘星; 5)REVOKE ALTER TABLE ON TABLE职工,部门FROM 张新; 6)REVOKE ALL PRIVILIGES ON TABLE职工,部门FROM 周平;

实验五 SQL SERVER 完整性与安全性 实验报告

实验五SQL SERVER 完整性与安全性 一、实验目的 掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。 二、实验内容 1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。 2.分别为三个登录名在“gongcheng”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“gongcheng”数据库。

3.授予用户John创建表和视图的权限。 grant create table,create view to John 在“gongcheng”下,安全性—John—属性,选择安全对象,搜索特定对象,选择“gongcheng”表,在权限中选择“创建表”和“创建视图”, 如图:

即可赋予John“创建表”和“创建视图”的权限。 4.完成以下授权: (1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。 grant insert on S to tom with grant option (2)用户Mary对S,P,J三个表有SELECT和INSERT权力 grant select,insert on S to Mary grant select,insert on P to Mary grant select,insert on J to Mary (3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDA TE权力。 grant delete,update(qty) on spj to Tom

[安全管理,数据库,计算机]计算机数据库安全管理分析与研究

计算机数据库安全管理分析与研究 摘要:现阶段我国计算机数据库和网络信息技术迎来蓬勃发展趋势,可关于数据库被非法侵入以及内部关键性数据丢失问题依旧未能根除,直接限制今后大规模网络信息系统建设进度。在此类背景下,笔者决定针对目前我国网络环境中数据库面临的一切安全威胁,加以客观论证,同时结合最新技术手段和实践经验制定妥善的数据库安全维护方案,最终开拓电子商务业务的企业获得长效发展机遇,真正为我国综合竞争实力绽放,提供保障。 关键词:计算机数据库安全管理指令内容验证解析 前言:计算机数据库内部储存大量信息,依照不同路径将挖掘的信息,直接传递给指令发送终端,该类系统独立性显著,并且和其余结构单元有着本质性差异。事实上,大多数企业和电子空间,都开始将自身核心业务转移到网络数据库之中,使得地理过于分散的厂商和公司之间的数据收集、存储、传播模式,顺利地朝着分布式、开放式过渡转化,不过涉及当中的系统介入和数据盗用等安全性问题却是始终延续。这就需要相关技术人员在完整论述计算机数据库面临的威胁因素基础上,主动透过计算机操作系统、数据库注入防护等层面,进行灵活地调试方案规划整理,进一步为日后计算机数据库安全管理绩效绽放,奠定基础。 一、关于计算机数据库安全管理的必要性论述 1.计算机数据库模型的科学组建 计算机数据库运作的核心便是后台数据库,其一切访问操作功能都将交由前台程序提供支持,尤其是在网络空间之下,数据库为关键性信息共享应用提供最小冗余度和访问控制条件,尽量保证终端最终接收过程中不会产生丢失迹象。关于这部分模型具体可划分出三个层次,包括数据库、应用服务器和浏览器等。当中浏览器作为第一层客户端,更加方便用户随时输入信息,此时代码快速转化为网页并提供交互功能,将操作主体一切请求处理完毕。位于二层的应用服务器则是扮演后台角色,利用对应的进程予以开启,保证快速响应不同请求,顺势生成必要性代码处理相关结果,如若说数据存取正好落在客户端请求范畴之中,数据库服务器则必须联合二层结构单元,进行特定请求回应。而最终层数据库服务器,则针对内部关键性数据提供严格的保护管制,对于不同类型的应用服务器当下发出请求加以轻松协调。 2.计算机数据库安全性的系统化论证 针对计算机数据库安全性加以细致验证解析。这是信息管理系统的核心任务,任何细节处理不当,都会直接限制最终数据安全管制实效,毕竟大部分关键性数据都是在数据库服务器之上捆绑,包括财务、工程技术、战略性决策数据等,都是归属于机密信息范畴内部的,杜绝一切非法访问操作行为。再就是企业内部资源规划、对外交易、日常业务的交接等,也都深刻依靠网络数据库过渡转接,所以说这部分数据的安全管理,也是十分重要的。 二、针对计算机数据库加以科学安全管理的策略内容解析 1.树立全新的计算机信息安全管理理念

数据库安全性习题解答和解析学习资料

数据库安全性习题解 答和解析

第九章数据库安全性习题解答和解析 1.1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2.2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。 答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD 可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称 TCSEC,又称桔皮书)。(详细介绍参见《概论》9.1.2)。 TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Database Interpretation 简称TDI, 又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。这些指标的具体内容,参见《概论》9.1.2。 4.试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。 答:根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。

数据库安全性与完整性实验

数据库原理及应用 实验报告 题目:数据库安全性与完整性实验 专业:网络工程 班级: 学号: 姓名: 太原工业学院计算机工程系 2016年10 月15日一、实验目的与要求 目的: 使学生加深对数据安全性与完整性实验的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法,熟悉通过SQL语句副i数据进行完整性控制。 要求: 1.数据库的安全性实验,在SQL Server企业管理器中设置SQL server的安全认证模式,实现对SQL server的用户和角色管理,设置和管理数据操作权限。 2.指出用户和角色的区别 二、实验内容 1.设置SQL server的安全认证模式(windows或SQL server和Windows(s)认证模式)、。 2.登陆的管理 创建一个登录用户 3.数据库用户的管理 登录用户只有成为数据库(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。 4.角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。 5.在学生表中定义主键、外键约束 6.在课程表的“课程名”字段上定义唯一约束 7.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100. “课程号”字段只能输入数字字符 8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值 9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。

数据库安全性控制

第四章数据库安全性控制(习题集) 二、选择题 1、以下(D)不属于实现数据库系统安全性的主要技术和方法。 A. 存取控制技术 B. 视图技术 C. 审计技术 D. 出入机房登记和加锁 2、SQL中的视图提高了数据库系统的(D)。 A. 完整性 B. 并发控制 C. 隔离性 D. 安全性 3、SQL语言的GRANT和REMOVE语句主要是用来维护数据库的(C)。 A. 完整性 B. 可靠性 C. 安全性 D. 一致性 4、在数据库的安全性控制中,授权的数据对象的(A),授权子系统就越灵活。 A. 范围越小 B. 约束越细致 C. 范围越大 D. 约束范围大 5、SQL中的视图机制提高了数据库系统的( D )。 A.完整性 B.并发控制 C.隔离性 D.安全性 6、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的(C )。 A.完整性 B.可靠性 C.安全性 D.一致性 7 、安全性控制的防范对象是(B),防止他们对数据库数据的存取。 A.不合语义的数据 B.非法用户 C.不正确的数据 D.不符合约束数据 8、找出下面SQL 命令中的数据控制命令( A )。 A.GRANT B.COMMIT C.UPDATE D.SELECT 三、填空题 1、数据库的安全性是指保护数据库以防止不合法的使用所造成的_数据泄露、数据更改或数据破坏_。 2、完整性检查和控制的防范对象,防止它们进入数据库。安全性控制的防范对象是,防止他们对数据库数据的存取。 3、计算机系统有三类安全性问题,即_技术安全_ 、_管理安全_和 _政策法规_。 4、用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有通过输入_用户标识__和 _口令_来鉴别用户。 5、用户权限是由两个要素组成的:_数据对象_ 和 _操作类型_ 。 6、在数据库系统中,定义存取权限称为_授权_ 。SQL语言用_GRANT_语句向用户授予对数据的操作权限,用_REVOKE_语句收回授予的权限。 7、数据库角色是被命名的一组与_数据库操作_ 相关的权限,角色是__权限_的集合。 8、数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现;存取控制机制主要包括两部分:(1)、定义用户权限,并将用户权限登记到数据字典中,(2)、合法权限检查。 9、常用的数据库安全控制的方法和技术有用户标识与鉴别、存取控制、视图机制、审计和数据加密等。 9、在存取控制机制中,定义存取权限称为授权;在强制存取控制(MAC)中,仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取对应的客体;仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。 四、简答题 1、试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

数据库安全性练习题和答案

数据库安全性习题 一、选择题 1. 以下()不属于实现数据库系统安全性的主要技术和方法。 A. 存取控制技术 B. 视图技术 C. 审计技术 D. 出入机房登记和加锁 2. SQL中的视图提高了数据库系统的()。 A. 完整性 B. 并发控制 C. 隔离性 D. 安全性 3. SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。 A. 完整性 B. 可靠性 C. 安全性 D. 一致性 4. 在数据库的安全性控制中,授权的数据对象的(),授权子系统就越灵活。 A. 范围越小 B. 约束越细致 C. 范围越大 D. 约束范围大 三、简答题 1. 什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 数据库安全性和计算机系统的安全性有什么关系?2.

答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的, 3.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1)用(户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC); 3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 从而使得对存储和传输的数据进行加密处理,数据加密:5)

数据库系统概论第5版课后答案第4章 数据库安全性

1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 CC评估保证级(EAL)的划分 4.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用 户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有 未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。

3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐 藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可 以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知 数据的内容。 5.什么是数据库中的自主存取控制方法和强制存取控制方法? 答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 6.对下列两个关系模式使用GRANT语句完成下列授权功能: 学生(学号,姓名,年龄,性别,家庭住址,班级号) 班级(班级号,班级名,班主任,班长) 1)授予用户U1对两个表的所有权限,并可给其他用户授权。 GRANT ALL PRIVILEGES ON TABLE学生,班级 TO U1 WITH GRANT OPTION ; 2)授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。 GRANT SELECT,UPDATE(家庭住址) ON TABLE学生 TO U2; 3)将对班级表查看权限授予所有用户。 GRANT SELECT ON TABLE 班级 TO PUBLIC; 4)将对学生表的查询、更新权限授予角色R1。 CREATE ROLE R1; GRANT SELECT,UPDATE ON TABLE 学生 TO R1; 5)将角色R1授予用户U1,并且U1可继续授予给其他角色。 GRANT R1 TO U1 WITH ADMIN OPTION;称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号; GRANT SELECT ON 部门工资 TO 杨兰; 7.针对习题7 中1)~7)的每一种情况,撤销各用户所授予的权限。 1)REVOKE SELECT ON TABLE职工,部门 FROM 王明; 2)REVOKE INSERT , DELETE ON TABLE职工,部门 FROM 李勇; 3)REOVKE SELECT ON TABLE职工WHEN USER ( ) =NAMEFROM ALI; 4)REVOKE SELECT , UPDATE ON TABLE职工FROM 刘星; 5)REVOKE ALTER TABLE ON TABLE职工,部门FROM 张新; 6)REVOKE ALL PRIVILIGES ON TABLE职工,部门FROM 周平; 7)REVOKE SELECT ON TABLE部门工资FROM 杨兰; DROP VIEW 部门工资; 8.理解并解释MAC 机制中主体、客体、敏感度标记的含义。 答:主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程。

浅析数据库安全性控制的一般方法

数据库安全性控制的一般方法 数据库安全性控制的一般方法(SQL采取DAC控制用户的存取权限) 数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。数据库管理系统安全性保护,就是通过种种防范措施以防止用户越权使用数据库。安全保护措施是否有效是衡量数据库系统的主要性能指标之一。 9.1 数据库安全性控制的一般方法 9.1.1 安全性级别 对数据库不合法的使用称为数据库的滥用。数据库的滥用可分为无意滥用和恶意滥用。无意滥用主要是指经过授权的用户操作不当引起的系统故障、数据库异常等现象。恶意滥用主要是指未经授权的读取数据(即偷窃信息)和未经授权的修改数据(即破坏数据)。 数据库的完整性尽可能的避免对数据库的无意滥用。数据库的安全性尽可能避免对数据库的恶意滥用。 为了防止数据库的恶意滥用,可以在下述不同的安全级别上设置各种安全措施。 (1)环境级:对计算机系统的机房和设备加以保护,防止物理破坏。 (2)职员级:对数据库系统工作人员,加强劳动纪律和职业道德教育,并正确的授予其访问数据库的权限。 (3)操作系统级:防止未经授权的用户从操作系统层着手访问数据库。 (4)网络级:由于数据库系统允许用户通过网络访问,因此,网络软件内部的安全性对数据库的安全是很重要的。 (5)数据库系统级:检验用户的身份是否合法,检验用户数据库操作权限是否正确。

本节主要讨论数据库系统级的安全性问题。 9.1.2 数据库安全控制的一般方法 数据库系统中一般采用用户标识和鉴别、存取控制、视图以及密码存储等技术进行安全控制。 1( 标识与鉴别 用户标识和鉴别是DBMS提供的最外层保护措施。用户每次登录数据库时都要输入用户标识,DBMS进行核对后,对于合法的用户获得进入系统最外层的权限。用户标识和鉴别的方法很多,常用的方法有: (1)身份(Identification)认证 用户的身份,是系统管理员为用户定义的用户名(也称为用户标识、用户账号、用户ID),并记录在计算机系统或DBMS中。用户名是用户在计算机系统中或DBMS中的惟一标识。因此,一般不允许用户自行修改用户名。 身份认证,是指系统对输入的用户名与合法用户名对照,鉴别此用户是否为合法用户。若是,则可以进入下一步的核实;否则,不能使用系统。 (2) 口令(Password)认证 用户的口令,是合法用户自己定义的密码。为保密起见,口令由合法用户自己定义并可以随时变更。因此,口令可以认为是用户私有的钥匙。口令记录在数据库中。 口令认证是为了进一步对用户核实。通常系统要求用户输入口令,只有口令正确才能进入系统。为防止口令被人窃取,用户在终端上输入口令时,口令的内容是不显示的,在屏幕上用特定字符(用“*”或“?”的较为常见)替代。 (3)随机数运算认证 随机数认证实际上是非固定口令的认证,即用户的口令每次都是不同的。鉴别时系统提供一个随机数,用户根据预先约定的计算过程或计算函数进行计算,并将

数据库系统安全性分析与实现

数据库系统安全性分析与实现 (刘中胜信息系统项目管理师,高级项目经理) 摘要:随着信息技术的不断发展,各行企业都不同程度地实现了信息化,因而信息系统的应用非常普及,作为信息系统的重要组成部分---数据库系统也就成为重中之重。数据库系统在运行过程中,会受到软件、硬件、人为和自然灾害等各种因素的影响,这些因素不但会破坏数据的机密性、完整性、可用性,造成数据损坏或丢失,而且会影响数据库系统的正常运行,甚至导致数据库系统的崩溃,因此,数据库系统的安全性问题变得尤为突出,不断面临巨大的、新的挑战。本文将从数据库系统的安全属性及安全技术进行分析,探讨实现数据库系统的高安全性策略。 关键字:数据库系统;数据库技术;安全性;安全策略 随着信息技术的不断发展,各行企业都不同程度地实现了信息化,因而信息系统的应用非常普及,作为信息系统的重要组成部分---数据库系统也就成为重中之重。数据库系统在运行过程中,会受到软件缺陷和故障、硬件损坏和故障,人为非法访问和误操作,以及自然灾害等各种因素的影响,这些因素不但影响数据的安全,而且会影响数据库系统的正常运行,甚至导致数据库系统的崩溃,因此,数据库系统的安全性问题变得尤为突出,不断面临巨大的、新的挑战。如何保证数据的安全,如何保证数据库系统正常安全地运行,是我们在实现企业信息化建设过程中必须认真考虑的问题。下面将从数据库系统的安全属性出发,分析构建数据库系统的安全技术,并阐述实现数据库系统高安全性的策略。 一、数据库系统的安全属性分析 对数据库系统安全属性的分析,是实现数据库安全策略的一个重要环节,是一个数据库系统采用恰当安全策略的前提。数据库系统的安全属性涉及多个方面,从总体上来讲,包括机密性、完整性、可用性、可控性和可审查性等属性。 (1)机密性:防止数据被非法窃取、调用或存取而泄密。数据只能被其相应的合法用户访问或调用。 (2)完整性:防止非法用户对数据进行添加、修改和删除,同时也防止合法用户越权访问对未被授权的数据进行添加、修改和删除,并且能够判断数据是否被修改。

数据库系统概论第五版课后习题答案王珊版

第二章关系数据库 1 .试述关系模型的三个组成部分。 答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 2 .试述关系数据语言的特点和分类。 答:关系数据语言可以分为三类: 关系代数语言。 关系演算语言:元组关系演算语言和域关系演算语言。 SQL:具有关系代数和关系演算双重特点的语言。 这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。 3 (略) 4 . 5 . 述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空? 答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。 6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: 1)求供应工程J1零件的供应商号码SNO: πSno(σJno=‘J1’(SPJ)) 2)求供应工程J1零件P1的供应商号码SNO: πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ)) 3)求供应工程J1零件为红色的供应商号码SNO: πSno(πSno,,Pno(σJno=‘J1‘(SPJ))∞πPno(σCOLOR=’红‘(P))) 4)求没有使用天津供应商生产的红色零件的工程号JNO: πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P) 5)求至少用了供应商S1所供应的全部零件的工程号JNO: πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ)) 7. 试述等值连接与自然连接的区别和联系。 答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 8.关系代数的基本运算有哪些? 如何用这些基本运算来表示其他运算? 答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。 第三章关系数据库语言SQL 1 .试述sQL 语言的特点。 答: (l)综合统一。sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL

相关文档
最新文档