数据库的不安全因素
数据库的安全性是指保护数据库以防不合法使用所造成的数据泄露,更改或破坏
非授权用户对数据库的恶意存取和破坏
问题:不法分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取,修改甚至破坏用户数据。
措施:用户身份鉴别、存取控制和视图等技术。
数据库重要或敏感的数据被泄露
措施:强制存取控制、数据加密存储和加密传输;此外提高审计功能,对潜在威胁提前做出应对。
安全环境的脆弱
问题:操作系统安全的脆弱,网络协议安全保障不足等会造成数据库安全性的破坏。
措施:加强计算机系统的安全性保证,建立完善的可信标准。
安全标准简介
安全数据库:
通常是指在具有关系型数据库一般功能的基础上,提高数据库安全性,达到美国TCSEC和TDI的B1(安全标记保护)级标准,或中国国家标准《计算机信息系统安全保护等级划分准则》的第三级(安全标记保护级)以上安全标准的数据库管理系统。
安全级别可分为: D < C2 < C1 < B3 < B2 < B1 < A1
其中C2级的数据库管理系统支持自主存取控制(DAC),B1级的数据库管理系统支持强制存取控制(MAC)。
数据库的安全性包括:
机密性、完整性和可用性,数据库在三个层次上,客户机 /服务器通过开放的网络环境,跨不同硬件和软件平台通信,数据库安全问题在这个环境下变得更加复杂。管理分布或联邦数据库环境,每个结点服务器还能自治实行集中式安全管理和访问控制,对自己创建的用户、规则、客体进行安全管理。如由 DBA或安全管理员执行本部门、本地区、或整体的安全策略,授权特定的管理员管理各组应用程序、用户、规则和数据库。因此访问控制和安全管理尤为重要。安全数据库是指数据库管理系统必须允许系统管理员有效地管理数据库管理系统和它的安全,并且只有被授权的管理员才可以使用这些安全功能和设备。数据库管理系统保护的资源包括数据库管理系统存储、处理或传送的信息。数据库管理系统阻止对信息的未授权访问,以防止信息的泄漏、修改和破坏。
数据库安全性控制
用户身份鉴别
(1)静态口令鉴别
目前常用的鉴别方法,相当于设置用户的密码。
简单,容易被攻击,安全性较低。
(2)动态口令鉴别
口令是动态变化的,登陆系统前就会获取新口令,相当于短信验证码或者动态令牌。
增加口令被窃取或破解的难度,安全性相对高一些。
(3)生物特征鉴别
采用图像处理和模式识别等技术,相当于指纹识别或者脸部识别。
产生质的飞跃,安全性较高。
(4)智能卡鉴别
智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能。
实际应用中一般采用个人身份识别码(PIN)和智能卡相结合的方式。
存取控制
存取控制机制主要包括定义用户权限和合法权限检查两部分
(1)定义用户权限,并将用户权限登记到数据字典中
(2)合法权限检查
定义用户权限和合法权限检查机制一起组成了数据库管理系统的存取控制子系统
C2级的数据库管理系统支持自主存取控制
B1级的数据库管理系统支持强制存取
自主存取控制语句
SQL标准对自主存取控制提供支持,这主要是通过SQL的GRANT语句和REVOKE语句实现
用户权限是由两个要素组成:数据库对象和操作类型
定义存取权限称授权
在非关系系统中,用户智能对数据进行操作,存取控制的数据库对象也仅限于数据本身
在关系系统中,存取控制的对象不仅有数据本身,还有数据库模式
授权:授予与回收
1.GRANT
GRANT语句的一般形式:
GRANT <权限>[,<权限>]…
ON<对象类型><对象名>[,<对象类型><对象名>]…
TO<用户>[,<用户>]…
[WITH GRANT OPTION];
语义:将对指定操作对象的指定操作权限授予指定的用户。可以由数据库管理员、数据库对象创建者(属主owner),也可以是已经用于该权限的用户。接受权限的用户可以是一个或多个具体用户,也可以是全体用户(PUBLIC)。WITN GTANT OPTION就是获得某种权限的用户还可以将权限授予其他用户,如果没有就代表只能使用该权限,不能传播。
2.REVOKE
REVOKE语句的一般形式:
REVOKE <权限>[,<权限>]…
ON<对象类型><对象名>[,<对象类型><对象名>]…
FROM<用户>[,<用户>…[CASCADE|RESTRICT];
用户可以“自主”地决定将数据的存取权授予何人,决定是否也将“ 授权”的权利授予别人。因此称这样的存取控制是自主存取控制。
3.创建数据库模式的权限
CREATE USER语句的一般格式:
CREATE USER [WITH][DBA|RESOURCE|CONNECT];
CREATE USER语句说明:
只有系统的超级用户才有全创建一个新数据库用户
新创建的数据库用户有三种权限:CONNECT,RESOURCE,DBA
CREATE USER命令如果没有指定创建新的用户权限,默认CONNECT
拥有RESOURSCE权限的用户能创建基本表和视图
拥有DBA权限的用户是系统的超级用户,可以创建新的用户,创建模式,创建基本表和视图等
DBA拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户
————————————————
版权声明:本文为CSDN博主「FANCYPANDAN」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44955712/article/details/103658806