数据库的安全性

数据库安全性概述

数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。

数据库的不安全因素

  1. 非授权用户对数据库的恶意存取和破坏

  2. 数据库中重要或敏感数据被泄露

  3. 安全环境的脆弱性

数据库的安全性控制

安全控制技术
  1. 自主存取控制与强制存取控制
  2. 视图技术
  3. 审计审计技术
  4. 数据加密存储和传输加密
  5. 用户身份鉴别
存取控制流程
  1. 首先,DBMS对提出SQL访问的请求的用户进行身份鉴别,防止不可信用户使用系统
  2. 然后,在SQL处理层进行自主存取控制和强制存取控制,进一步可进行推理控制
  3. 还可以对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测
自主存取控制
  1. 用户对不同数据对象有不同的存取权限
  2. 不同用户对同一对象也有不同权限
  3. 用户还可以将其拥有的权限转授给其他用户
强制存取控制
  1. 每一个数据对象被标以一定的密级
  2. 每一个用户也被授予一个级别的许可证
  3. 对于任意一个对象,只有具有合法许可证的用户才可以存取

授权与回收

GRANT <权限>[(字段)] [,<权限>]
ON 表或角色
TO <用户> [,<用户>]
[WITH GRANT OPTION]
GRANT update(sno), select 
ON student
TO Anthoney_4926
WITH GRANT OPTION

创建角色

create role rname

给角色授权

grant alter
on student
to rname

将角色授予用户

grant rname
to Anthoney_4926

给所有人授予所有权限

grant all
on student
to public

撤销用户权限

revoke update(sno)
on student
form Anthoney_4926

撤销角色权限

revoke alter(sno)
on student
from rname

从用户身上撤销角色

revoke rname
from Anthonye_4926

视图机制

创建视图

create view v_student as
select * 
from student
where sdept='cs'

更新视图

create or replace view v_student as
select *
from student
where sdept='cs'

撤销视图

drop view v_student

审计

什么是审计?

  • 启用一个专用的审计日志(Audit Log)将用户对数据库的所有操作记录在上面
  • 审计员利用审计日志监控数据库中的各种行为,找出非法存取数据的人、时间和内容

审计事件

  • 服务器事件:审计数据库服务器发生的事件
  • 系统权限:对系统拥有的结构或模式对象进行操作的审计,要求该操作的权限是通过系统权限获得的
  • 语句事件:对SQL语句,如DDL、DML、DDL及DCL语句的审计模式对象事件
  • 模式对象事件:对特定模式对象上进行的SELECT或DML操作的审计
audit alter, update
    on sc;

noaudit alter, update
    on sc;

数据加密

存储加密

  • 透明存储加密
    • 内核级加密保护方式,对用户完全透明
    • 将数据在写到磁盘时对数据进行加密,授权用户读取数据时再对其进行解密
    • 数据库的应用程序不需要做任何修改,只需在创建表语句中说明需加密的字段即可
      内核级加密方法: 性能较好,安全完备性较高
  • 非透明存储加密
    • 通过多个加密函数实现

传输加密

  • 链路加密
    • 在链路层进行加密
    • 传输信息由报头和报文两部分组成
    • 报文和报头均加密
  • 端到端加密
    • 在发送端加密,接收端解密
    • 只加密报文不加密报头
    • 所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eva_5433

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值