数据库安全性

背景:数据库的一大特性就是数据共享,这样我们就不能不考虑数据库的安全性问题。

1.数据库的不安全因素

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

  • 一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户 口令,然后假冒合法用户偷取、修改甚至破坏用户数据。
  • 数据库管理系统提供的安全措施主要包括
    • 用户身份鉴别
    • 存取控制
    • 视图等技术

1.2数据库中重要或敏感的数据被泄露

  • 黑客和敌对分子千方百计盗窃数据库中的重要数据
  • 一些机密信息被暴露
  • 数据库管理系统提供的主要技术有
    • 强制存取控制
    • 数据加密存储
    • 加密传输 
    • 审计日志分析

1.3安全环境的脆弱性

  • 数据库的安全性与计算机系统的安全性紧密联系
    •  计算机硬件、操作系统、网络系统等的安全性
  • 建立一套可信(Trusted)计算机系统的概念和标准

2.安全标准简介

2.1信息安全标准的发展历史

2.2TCSEC/TDI安全级别划分

3.数据库安全性控制概述

3.1非法使用数据库的情况

  • 用户编写一段合法的程序绕过DBMS及其授权机制,通过操作系统直接 存取、修改或备份数据库中的数据;
  • 直接或编写应用程序执行非授权操作;
  • 通过多次合法查询数据库从中推导出一些保密数据;
  • 破坏安全性的行为可能是无意的,故意的,恶意的。

3.2计算机系统中,安全措施是一级一级层层设置

  • 系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统
  • 数据库管理系统还要进行存取控制,审计,视图,只允许用户执行合法 操作
  • 操作系统有自己的保护措施
  • 数据以密码形式存储到数据库中

3.3用户标识与鉴别

  • 1.静态口令鉴别
    • 静态口令一般由用户自己设定,这些口令是静态不变的(自己设置的密码)
  •  2.动态口令鉴别
    • 口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理 系统,即采用一次一密的方法(手机验证码)
  • 3.智能卡鉴别
    • 智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能
  • 4.生物特征鉴别
    • 通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等

3.4存取控制

3.4.1存取控制机制的功能

确保只授权给有资格的用户访问数据库的权限

3.4.2存取控制机制的组成

3.4.3权限的种类

  • 维护数据库管理系统的权限
  • 操作数据库对象和数据的权限

3.4.4用户(即合法用户)按操作权限分

  • 数据库系统管理员
  • 数据库对象拥有者
  • 普通用户

4.常用存取控制方法

自主存取控制(Discretionary Access Control ,简称DAC)

  • C2级、 灵活
  • 用户对不同的数据对象不同的存取权限
  • 不同的用户同一对象也有不同的权限
  • 用户还可将其拥有的存取权限转授给其他用户

强制存取控制(Mandatory Access Control,简称 MAC)

  • B1级、严格
  • 每一个数据对象被标以一定的密级
  •  每一个用户也被授予某一个级别的许可证
  • 对于任意一个对象只有具有合法许可证的用户才可以存取

4.1自主存取控制方法

可以通过通过 SQL 的GRANT 语句和REVOKE 语句实现。

用户权限组成

  • 数据对象
  • 操作类型

定义用户存取权限

  • 定义用户可以在哪些数据库对象上进行哪些类型的操作

定义存取权限称为授权

4.1.1grant语句

授权 GRANT语句的一般格式:

(例一)把查询Student表权限授给用户U1

GRANT SELECT
ON TABLE Student
TO U1;

(例二)把对Student表和Course表的全部权限授予用户U2和U3

GRANT ALL PRIVILIGES
ON TABLE Student, Course
TO U2, U3;

(例三)把对表SC的查询权限授予所有用户

GRANT SELECT
ON TABLE SC
TO PUBLIC;

(例四)把查询Student表和修改学生学号的权限授给用户U4

GRANT UPDATE(Sno), SELECT
ON TABLE Student
TO U4;

对属性列的授权时必须明确指出相应属性列名

(例五)把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予 其他用户

GRANT INSERT
ON TABLE SC
TO U5 WITH GRANT OPTION;

U5可以传播此权限:

GRANT INSERT ON TABLE SC TO U6
WITH GRANT OPTION;

U6可以传播此权限:

GRANT INSERT ON TABLE SC TO U7;

U5--> U6--> U7,但U7不能再传播此权限

例:在数据库的安全性控制中,授权的数据对象的____C_____,授权子系统 就越灵活。

(A)范围越大

(B)约束范围大

(C)范围越小

(D)约束越细致

4.1.2SQL收回权限的功能

例:把用户U4修改学生学号的权限收回

REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4;

例:收回所有用户对表SC的查询权限

REVOKE SELECT 
ON TABLE SC 
FROM PUBLIC;

例:把用户U5对SC表的INSERT权限收回

REVOKE INSERT 
ON TABLE SC 
FROM U5 CASCADE;

系统将收回直接或间接从U5处获得的对SC表的INSERT权限

收回U6、U7获得的对SC表的INSERT权限:

<--U5<-- U6<-- U7

4.1.3数据库角色

  • 数据库角色是被命名的一组与数据库操作相关的权限
  • 角色是权限的集合
  • 创建角色
    • CREATE ROLE <角色名>
  • 给角色授权
    • GRANT <权限组> <对象> ON TO <角色组>
  • 将一个角色授予其他的角色或用户
  • 角色权限的回收

例:安全性控制的防范对象是?防止他们对数据库数据的存取。

答:非法非授权用户

4.2强制存取控制方法(MAC)

MAC适用于对数据有严格而固定密级分类的部门 ,如军 事部门、 政府部门

主体与客体:

  • 主体 是系统中的活动实体
    • 数据库管理系统所管理的实际用户
    • 代表用户的各进程
  • 客体 是系统中的被动实体,是受主体操纵的
    • 文件、 基表、 索引、 视图

4.2.1敏感度标记

敏感度标记分成若干级别

  • 绝密(Top Secret,TS)
  • 机密(Secret,S)
  •  可信(Confidential,C)
  • 公开(Public,P)

主体——许可证级别

客体——密级

对于任意一个对象,只有具有合法许可证的用户才可以存取

4.2.2强制存取控制规则

  • 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读 相应的客体;
  • 主体的许可证级别 <=客体的密级,主体能客体,用户可为写入的 数据对象赋予高于自己的许可证级别的密级,一旦数据被写入,该用户 自己也不能再读该数据对象了

5.视图机制

  • 视图机制通过为不同用户定义不同视图,把数据对象限制在一定 的范围内
  • 视图机制把要保密的数据对无权存取这些数据的用户隐藏起来, 从而自动对数据提供一定程度的安全保护
  • 视图机制更主要的功能在于提供数据独立性,其安全保护功能太 不精细,往往远不能达到应用系统的要求。

6.审计

启用一个专用的审计日志(Audit Log),将用户对数据库的所有操作记录在上面。DBA可以利用审计日志中的追踪信息,找出非法存取数据的人。C2以上安全级别的DBMS必须具有审计功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/491503.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图像处理与视觉感知---期末复习重点(4)

文章目录 一、图像复原与图像增强1.1 概述1.2 异同点 二、图像复原/退化模型2.1 模型图简介2.2 线性复原法 三、彩色基础四、彩色模型五、彩色图像处理 一、图像复原与图像增强 1.1 概述 1. 图像增强技术一般要利用人的视觉系统特性&#xff0c;目的是取得较好的视觉效果&…

canvas跟随鼠标画有透明度的矩形边框

提示&#xff1a;canvas跟随鼠标画有透明度的矩形边框 文章目录 前言一、跟随鼠标画有透明度的矩形边框总结 前言 一、跟随鼠标画有透明度的矩形边框 test.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

Hana数据库 No columns were bound prior to calling SQLFetch or SQLFetchScroll

在php调用hana数据库的一个sql时报错了&#xff0c;查表结构的sql&#xff1a; select * from sys.table_columns where table_name VBAP SQLSTATE[SL009]: <<Unknown error>>: 0 [unixODBC][Driver Manager]No columns were bound prior to calling SQLFetch …

Kibana的安装(Linux版)

Kibana是一个针对Elasticsearch的开源分析及可视化平台&#xff0c;用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana&#xff0c;可以通过各种图表进行高级数据分析及展示。 Kibana让海量数据更容易理解。它操作简单&#xff0c;基于浏览器的用户界面可以快速创…

Eladmin-jpa基于SpringBoot和Vue的前后端分离后台管理系统​

在当今快速发展的软件开发领域&#xff0c;前后端分离的架构模式已经成为主流。这种架构模式不仅可以提高开发效率&#xff0c;还能使系统更加易于维护和扩展。Eladmin-jpa是一个基于Spring Boot 2.6.4、Spring Boot Jpa、JWT、Spring Security、Redis和Vue的前后端分离的后台管…

分布式系统面试全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事务+分布式锁)

目录 分布式系统面试全集通第一篇什么是分布式?和微服务的区别什么是分布式分布式与微服务的区别 什么是CAP?为什么不能三者同时拥有分区容错性一致性可用性 Base理论了解吗基本可用软状态最终一致性 什么是分布式事务分布式事务有哪些常见的实现方案?2PC&#xff08;Two Ph…

docker安装elasticseachkibana

1.docker安装es 创建本机挂载目录&#xff0c;与容器上目录映射 /Users/wangpei/2024/mydata/elasticsearch conf下创建yml文件 echo "http.host : 0.0.0.0" >> /Users/wangpei/2024/mydata/elasticsearch/config/elasticsearch.yml 安装容器&#xff1a; d…

【Effective Web】html/css优化和技巧

html/css优化和技巧 html/css可以做到一些js的功能&#xff0c;减少js操作dom的高昂成本。 巧用伪类 显示勾选时文案 checkbo勾选时触发&#xff0c;实现checkbox的简单选中事件处理 <template><input type"checkbox" /><span class"checkb…

谷粒商城——缓存——SpringCache

1. 配置使用 首先需要导入相关的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency> 随后在配置文件中进行配置&#xff1a; spring:cache:t…

纳斯达克大屏媒体尺寸与投放费用:一次投放需要多少钱?

纳斯达克大屏媒体尺寸与投放费用&#xff1a;一次投放需要多少钱&#xff1f; 1. 纳斯达克图片要求 1.1 像素要求 高度&#xff1a;2336 像素宽度&#xff1a;1832 像素 1.2 分辨率要求 像素比率&#xff1a;1.0 px 72 dpi 1.3 文件格式要求 静态图片格式&#xff1a;.…

java网络原理(四)----tcp特性

一.滑动窗口 滑动窗口&#xff1a;可以提高传输效率&#xff0c;准确的来说是让tcp在可靠传输的前提下&#xff0c;效率不要太拉胯。使用滑动窗口不能使tcp变的比UDP块&#xff0c;但能减少差距。 前面谈过tcp的传输数据的时&#xff0c;会把数据进行编号&#xff0c;每次传固…

canvas跟随鼠标画有透明度的椭圆边框

提示&#xff1a;canvas跟随鼠标画有透明度的椭圆边框 文章目录 前言一、跟随鼠标画有透明度的椭圆边框总结 前言 一、跟随鼠标画有透明度的椭圆边框 test.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

Ps:必须知道的四大混合模式

在 Photoshop 中有多达六组 27 种混合模式&#xff0c;不仅可应用于图层之间&#xff0c;在画笔等工具、图层样式等里面也都有&#xff0c;几乎可以说是无处不在。 有关混合模式的原理及说明&#xff0c;请参阅&#xff1a; 《Ps 混合模式&#xff08;合集&#xff09;》 在所有…

RN封装的底部向上弹出的弹出层组件

组件代码 import React from react; import { View, StyleSheet, Modal, TouchableOpacity, Text, TouchableWithoutFeedback } from react-native;const BottomPopup ({ visible, onClose, children, leftButtonTitle, rightButtonTitle, onLeftButtonPress, onRightButtonP…

day5-QT

widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QFontDialog> //字体对话框类 #include<QFont> //字体类 #include<QMessageBox> //消息对话框类 #include<QColorDialog> //颜色对话框类 #include<QColor> //颜…

sqlite3嵌入式开发板命令行方式使用

如何在编译嵌入式版本的sqlite3&#xff0c;请看我上一篇文章 sqlite3 交叉编译-CSDN博客 一、sqlite3命令行方式使用 假如我将编译好的嵌入式的sqlite3放置在如下路径&#xff1a; 进入bin目录进行操作 1.运行sqlite3 运行sqlite3有两种方式 1&#xff09;直接在内存里面…

使用npm i进行admin依赖安装的时候出现问题

提示&#xff1a; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/string-width failed, reason: certificate has expired 切换淘宝源到http或者更换其他国内镜像 npm config set registry http:/…

vue2 export default写法,computed、methods的使用

<template><div><h2>{{nameAll}}</h2><h2>{{method}}</h2><h2>{{tt()}}</h2><h2>{{firstName}}</h2><h2>更新后赋值数据&#xff1a;{{lastName}}</h2><h2>赋值数据:{{writeValue}}</h2>…

张驰咨询:光伏产业新质生产力提升咨询方案

光伏产业新质生产力提升咨询方案 一、光伏行业目前发展现状及特点 1、高度竞争 2、技术驱动 3、绿色发展 二、光伏发展新质生产力面临的痛点 1、成本压缩与效率提升并存挑战 2、新技术应用与推广难度 3、国际贸易摩擦影响 4、市场需求波动大 5、政策与补贴依赖性 三、…

C++初步认识

一.开发环境 Dev-C是一个Windows环境下适合于初学者使用的轻量级C/C 集成开发环境&#xff08;IDE&#xff09;&#xff0c;它是一款自由软件&#xff0c;遵守GPL许可协议分发源代码。 Dev-C 使用MingW64/TDM-GCC编译器&#xff0c;遵循C 11标准&#xff0c;同时兼容C98标准。开…