当前位置:
文档之家› 网络安全技术与实践第8章 (2)数据库安全
网络安全技术与实践第8章 (2)数据库安全
数据库一般有三种安全保护措施
① 用户的身份认证管理 ② 数据库的使用权限管理 ③ 数据库中对象的使用权限管理
身份认证管理与安全机制 权限管理(授权、角色) 视图访问 审计管理
二、数据库安全策略和机制
1. 安全策略
① 管理规章制度方面的安全性。例如,SQL Server系统在使用 中涉及企事业机构的各类操作人员,为了确保系统的安全,应 着手制定严格的规章制度,在使用业务信息系统时执行标准的 操作流程。
数据库安全的主要威胁
① 法律法规、社会伦理道德和宣传教育等问题。 ② 政策、制度及管理问题。 ③ 硬件和操作系统等软件问题。 ④ 数据库系统本身的缺陷和隐患带来的安全性问题。
安全性基本内涵
1. 保密性
① 用户标识与鉴别 ② 存取控制 ③ 数据库加密 ④ 审计 ⑤ 备份与恢复 ⑥ 推测控制与隐私保护
SQL Server 身份认证模式 1
Windows身份验证模式
使用Windows操作系统的安全机制,用户只 需 通 过 Windows 验 证 , 即 可 连 接 到 SQL Server而不再进行身份验证。
2
混合身份验证模式
Windows身份验证和SQL server验证都可用 。对于可信任连接用户,系统直接采用
同样,U6还可以将此权限授予U7:
例7:GRANT INSERT ON TABLE SC TO U7; 注意:U7不能再往下传递权限了。
(2)收回权限 —— 所有授予出去的权力在必要时又都可用REVOKE语句收回 基本语法:
REVOKE:授予的权限可以由DBA或其他授权者用REVOKE语句收回
—— 包括访问控制与身份认证、存取控制、审计、数据加密、视 图机制、特殊数据库的安全规则等。
例如,SQL Server的安全性管理可分为3个等级: ① 操作系统级的安全性。 ② SQL Server级的安全性。 ③ 数据库级的安全性。
SQL Server安全策略
SQL Server 采用三个层次的安全控制策略:
REVOKE <权限>[,<权限>]... [ON <对象类型> <对象名>]
FROM <用户>[,<用户>]...;
例8:把用户U4修改学生学号的权限收回 REVOKE UPDATE(Sno) ON TABLE Student FROM U4;
例9:收回所有用户对表SC的查询权限
REVOKE SELECT ON TABLE SC
① 用户首先登录到数据库服务器上(是服务器合法用户); ② 然后使服务器用户成为某个数据库的合法用户,从而能够访问数 据库; ③ 让数据库用户在数据库中具有一定的权限(数据操作权、创建对象 权等)。
三、数据库安全性控制
用户标识与鉴别机制
存取控制
自主存取控制方法 强制存取控制方法
授权与回收
①
②
发出GRANT 管理员 数据库对象创建者(即属主Owner) 拥有该权限的用户 按受权限的用户 一个或多个具体用户 PUBLIC(全体用户)
例1:把查询Student表权限授给用户U1 sp_adduser ‘tz’, ‘U1’ 用户名abd,登录名tz
GRANT
ON TO
案例 2
维基泄密
2010年7月26日,“维基泄密” 网站创立者澳大利亚记者朱利安 · 阿 桑奇,在记者会上手持一份英国《卫 报》。“维基泄密”网站公布了长达 20 万页的 9.2 万份美国军方机密报告。 报告记录了驻阿富汗美军不愿公开于 众的“秘密”信息,包括联军 144次 “意外”杀死平民,美军全力掩盖塔 利班已获得地对空导弹的事实 , 美军 如何组织秘密“暗杀或俘虏”某名册 上在列塔利班班级领导人等。
Windows验证机制,否则SQL Server通过账
号的存在性和密码的匹配性再自行验证。
首先需要创建、注册账户信息
(二)存取控制
—— 用户鉴别后,还需要确定其使用权限
基本步骤
① 为每个用户预定义存取权限。 ② 对于通过鉴定获得上机权的合法用户,再根据定义的存取权限对 其操作请求进行控制,以确保只能执行授权的合法操作。
授权机制易于个体控制,但操作繁琐,修改、更新、维护量大 借助传统的用户组思想,构建角色管理体系
什么是数库角色?
—— 简单滴说,就是被命名的一组与数据库操作相关的权限,是一组 权限的有机集合。
① 创建角色 ② 给角色授权 ③ 将角色授予其他的角色或用户
④ 角色权限的回收
创建角色: CREATE ROLE <角色名>
特别注意:不能循环授权
例5:把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他 用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;
执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限。
例6:GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION;
第8单元 数据库安全
上次课回顾
数据库基本概念
什么是数据、数据库、数据库系统、数据库管理系统
数据模型
① ② 能真实模拟现实世界 较容易为人们所理解
③
便于在计算机上实现
概念层:按用户的观点来对数据建模 组织层:按计算机系统观点对数据建模
数据库系统结构
用户结构、主从式结构、分布式结构、 客户/服务器结构、浏览器/服务器结构
由此而造成的经济损失呈逐年上升趋势
亿元
中国
加强数据库安全教育刻不容缓
一、基本概念
1. 数据安全。保护数据的保密性、完整性、可用性、可控性、可审查性。 2. 数据库安全。采取措施对数据库及其相关文件和数据进行保护。 3. 数据库系统安全。采取各种安全保护措施,防止系统软件及其中的数 据遭到破坏、更改和泄漏。
有条件共享
因此,信息共享绝非无条件、无限制的共享 ② 能够共享哪些信息 例如(国家安全、商业机密、用户隐私): 军事秘密 国家机密 新产品实验数据、 市场需求分析 市场营销策略 销售计划 客户档案 医疗档案 银行储蓄数据
① 哪些用户可以共享
数据库的安全性:
——即保护数据库,防止因非法用户或
非法使用数据库而造成数据泄露、
或:sp_addrole [ @rolename = ] 'role'
[ , [ @ownername = ] 'owner' ] 例: CREATE ROLE R1; 或: sp_addrole R1; 注意:此时新创建的角色是空的,没有任何内容。
基本方法
① 自主存取控制(Discretionary Access Control ,DAC)。
同一用户对于不同的数据对象有不同的存取权限;不同的用户对 同一对象也有不同的权限;用户还可将其拥有的存取权限转授给 其他用户。 ② 强制存取控制(Mandatory Access Control,MAC)。
案例 3
木马病毒致使数据严重泄密 某一大学知名的董教授,平时工作兢兢业业,经常深夜或节 假日加班加点在家搞科研和备课。由于需要查阅资料,他家中的 电脑经常接入了国际互联网。董教授时常白天在办公室办公电脑 上工作,晚上在家用个人电脑工作,经常用U盘将未完成的工作 内容在两个电脑间相互拷贝。从2005年以来几年间,董教授办公 电脑内的 200多份文件资料不知不觉地进了互联网,造成重大泄 密。经上级保密委员会审查鉴定,涉密文件资料达30多份,董教 授受到降职降薪降职称的严肃处理 。
② 数据库服务器物理方面的安全性。为了实现数据库服务器物
理方面的安全,应该做好数据库服务器置于安全房间、相关计 算机置于安全场所、数据库服务器不与Internet直接连接、使用
防火墙、定期备份数据库中的数据、使用磁盘冗余阵列等。
③ 数据库服务器逻辑方面的安全性。 设计领域的安全性。
2. 安全管理机制
非法浏览 入侵国防、公安、统计等核心部门,盗取机密数据,危害国家安全; 篡改课程成绩、高考志愿、人事档案、银行存款、诚信记录; 非法删除、覆盖、剪切或控制、扰乱数据信息,破坏正常生产或生活秩序。
非法更改
恶意破坏
常用非法手段
① 编写合法程序绕过DBMS及其授权机制 ② 直接或编写应用程序执行非授权操作 ③ 通过多次合法查询数据库从中推导出一些保密数据
FROM PUBLIC;
例10:把用户U5对SC表的INSERT权限收回
REVOKE INSERT ON TABLE SC FROM U5 CASCADE ;
① 将U5的INSERT权限收回时必须级联(CASCADE)收回
② 系统只收回直接或间接从U5处获得的权限
U5 → U6 → U7
灵活多样的数据库角色管理
发展趋势:空间数据库、移动数据库、模型数据库等理论与技术
引言
—— 初识数据库安全
基于数据库的信息化管理的突出优势在于: —— 数据共享的最大化
奇葩证明,有时真滴可以避免!
一卡通时代 —— 我不要做“卡奴”
保障数据共享的基本条件
然而,风险无处不在
—— 数据共享的灾难性后果
信息泄漏 更改、破坏
TO PUBLIC; 例4:把查询Student表和修改学生学号的权限授给用户U4 GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;
注意:
WITH GRANT OPTION子句:
若指定:可以再授予,即权限可传递。 没有指定:不能传递。
A. B. C. D. E. F. 不是什么人都能访问 不能访问所有信息 操作轨迹被跟踪、记录、审计 无法直接观察数据库信息 拒绝非授权复制或重放 隐私保护重于一切