企业数据库安全管理规范

news2025/7/16 17:37:02

1.目的

为规范数据库系统安全使用活动,降低因使用不当而带来的安全风险,保障数据库系统及相关应用系统的安全,特制定本数据库安全管理规范。

2.适用范围

本规范中所定义的数据管理内容,特指存放在信息系统数据库中的数据。

本规范适用于信息系统建设与运维,旨在明确数据库管理员(DBA)工作职责及数据库系统中与安全相关的配置项及其使用要求,指导数据库系统的安装、配置及日常管理,提高信息系统的安全水平。

3.定义

数据库管理员:也称 DBA ,负责数据库安装、调试、使用及日常运维,管理用户对数据库的访问权限,增加、删除、修改该数据库中数据库对象。

DML(data manipulation language):是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

DDL(data definition language):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

DCL(Data Control Language):是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL。

4.DBA 职责

1、对数据库系统进行合理配置、测试、调整,最大限度地发挥设备资源优势,负责数据库的安全、稳定运行;

2、对所有数据库系统的配置进行可用性,可靠性,性能以及安全检查;

3、定期对数据库系统的可用性,可靠性,性能以及安全的配置方法进行检查、修订和完善;

4、负责数据库系统运行过程中出现的问题及时处理解决;

5、负责对数据库系统的数据一致性和完整性,并协助开发、网络人员做好相关的配置、检查等工作;

6、负责做好数据库系统及数据的备份和恢复工作;

7、做好数据日常检查记录(CheckList表单)准入要求。

DBA 权限及流程
1、DBA按“1001-信息系统权限申请指南”的规范按纸质流程完成数据库运维账号的申请;

2、DBA 数据库运维账号绑定使用人员设备和手机号码,通过短信或令牌实现2次验证。所有的运维操作通过堡垒机完成,堡垒机记录并审计 DBA 所有的操作指令;

3、禁止远程DDL:核心业务系统限制DDL操作仅能在数据库服务器本地进行,禁止远程连接执行DDL操作;

4、DBA 通过查询分析器执行的数据的变更(包括增加、删除、重建等)操作需和运维部负责人共同评估后通过纸质流程申请执行。

5.安全管理

安全性是数据库重要的日常工作,安全管理的主要内容包括账户管理和权限管理。帐户管理就是在数据库中应该增加哪些帐户、这些帐户应该组合成哪些角色等。权限管理是对象权限和语句权限的管理。

5.1 网络环境安全
1、数据库服务器置于单独的服务器区域,任何对这些数据库服务器的物理访问均应受到控制。

2、数据库服务器所在的服务器区域边界部署防火墙或其它逻辑隔离设施。

5.2 服务器安全
1、重要的数据库服务器除提供数据访问服务外,不提供任何其它的服务。如WEB,FTP等。

2、数据库专用帐户,赋予账户除运行数据库服务之外的最小权限,sa或是sysdab等权限不能对外开放。

3、目录及相应文件访问权限进行控制,非管理员不能访问数据库服务器上任何目录如:禁止用户访脚本存放目录。

5.3 数据库安全
5.3.1 数据库系统

1、正式生产数据库系统与开发测试数据库系统物理分离,确保没有安装未使用的数据库系统组件或模块;

2、数据库用户的创建、删除和更改工作,并做好记录;

3、数据库对象存储空间的创建、删除和更改工作,并做好记录;

4、对系统的安装更新、系统设置的更改等要做好维护记录;

5、确保没有开启未使用的数据库系统服务;

6、数据库系统安装必要的升级程序或是补丁,升级前做好数据库备份。

5.3.2 数据保密

严禁任何人泄漏数据库业务关键数据,需要业务数据时,必须向信息总部相关领导提出申请批准后才能对数据进行相关的操作,并做好记录与日志。

数据库安全性设计与管理需要依照《数据保护技术规范》、《数据资产管理条例》等制度实施。

5.3.3 账户设置

1、数据库管理员账号具有最高数据库管理权限(如:MSSQL的SA或是ORACLE的SYSDBA等),其他人员需要直连访问数据库或需要具有一定数据库操作权限,必须向信息部门相关领导申请,审批通过后,由数据库管理员告知用户权限等信息,其他人员通过业务系统访问数据库;

2、根据业务需要的权限建立专门的账号,以区分责任,提高系统的安全性,业务人员必须使用自己的账号登录数据库,如JOB,存储过程等执行权限;

3、对账号权限的设置遵从最小化原则,不需求的权限就不能开通。如查询数据的人员,只能有对某些表的SELECT权限,而不能用UPDATE,DELETE等权限;

4、普通数据库用户账户与数据库管理员账户分离。

5.3.4 账户类型

系统管理员:能够管理数据库系统中的所有组件及所有数据库。

数据库管理员:能够管理相关数据库中的账户、对象及数据。

数据库用户:只能以特定的权限访问特定的数据库对象,不具有数据库管理权限,大部份都是属于这个用户类型。如业务数据人员。

5.3.5 用户权限

数据库账户按最小权限原则设置在相应数据库中的权限。以下几种权限:

系统管理权限:包括账户管理、服务管理、数据库管理等。

数据库管理权限:包括创建、删除、修改数据库等。

数据库访问权限:包括插入、删除、修改数据库特定表,视图,过程,FUNCTION,JOB记录等。

5.3.6 数据库对象安全

1、数据文件安全,对数据文件访问权限进行控制,如:禁止除专用账户外的其它账户访问、修改、删除数据文件。

2、删除不需要的示例数据库,在允许存在的示例数据库中严格控制数据库账户的权限。

3、删除或禁用不需要的数据库对象,如表,视图,过程,函数,触发器等。

4、敏感数据安全,对于数据库中的敏感字段,如:口令等,要加密保存。

5.3.7 口令密码策略

1、数据库账户口令应为无意义的字符组,长度至少八位,并且至少包括数字、英文字母两类字符。可设置相应的策略强制复杂的口令。

2、必须根据安全要求对数据库管理系统的密码策略进行设置和调整,以确保口令符合要求。

3、定期或不定期修改数据库管理员口令,并与第一条相符合。

4、账户、密码统一管理,由DBA进行管理,记录账户变及审核。

5.3.8 访问控制

1、在外围防火墙或其它隔离设施上控制从互联网到数据库系统的直接访问。

2、修改数据库系统默认监听端口。

3、应用程序的数据库连接字符串中不能出现数据库账户口令明文。

4、禁止未授权的数据库系统远程管理访问,对于已经批准的远程管理访问,应采取安全措施增强远程管理访问安全。

5.3.9 账户开通

1、开通账户必须先填写“信息系统权限申请指南”,经如下流程人员审批通过后,数据库管理员建立账号。

2、账户权限最小化原则。开通只需要的权限,做到不同的应用不同的账户及专人专账户。

3、采用OA账户为数据库开通账户的基础,可追加"_"符号并设置附加字段(如资源池标记、账户所属组别标记等)。

在这里插入图片描述

5.3.10 账户注销

1、数据库管理员收到人员离职通知后,应即时审查该人员是否拥有数据库访问账户;并把对应权限删除。

2、账户权限最小化原则。开通只需要的权限,做到不同的应用不同的账户及专人专账户。

3、采用OA账户为数据库开通账户。

5.3.11 MySQL数据库特别设置

1、采用集群配置方案,不得将数据库配置文件部署于数据库本地。配置文件存储服务器的数据安全管控级别应为最高。

2、数据库启动必须采用远程调用配置文件形式启动,不得采用命令行启动,应采用服务调用方式启动,避免通过系统指令查到配置文件所在服务器。

3、应对账户设置白名单策略,针对特殊业务场景可以进行分时段访问拦截。

5.3.12 SQL Server数据库特别设置

1、代理账户宜采用单独账户设置。

2、新业务超过100万行数据的表,必须采用分区表形式实现。

3、数据库必须采用文件组方式实现,每个数据文件不宜超过500GB。

4、tempdb、log与data文件宜硬件IO分离,若资源紧张至少将tempdb与 log和data文件分离。

5、数据库系统文件必须独立存放于系统盘,且与tempdb、log与data文件硬件IO分离。

6、应对账户设置IP白名单策略,针对特殊业务场景可以进行分时段访问拦截。

7、非算法应用场景,可设置资源池分散账户访问压力。

8、减少链接服务器的使用,若必须使用则必须设置账户访问限制,不得提供公共链接服务器访问。

9、DBA存储过程需要部署于system库中,注明sp_dba_前缀,并做好版本控制管理。

10、严格控制标记与指针的使用,在满足性能要求前提下,可将信息写入数据库error日志中,便于后续对接日志处理平台进行集中收集处理。

11、数据库分库分表分区等脚本,必须通过备份库在测试环境执行,评估效率,形成书面报告审议。执行必须按照新建库/表/分区→数据导入→索引重建→名称切换方式进行。涉及视图操作,完成后必须重新刷新视图。分库分表分区后,必须建立维护作业,对函数与方案实现自动维护。正式启用新的分库分表分区前,需要至少2名工作人员对新旧表的数据一致性进行核对,形成书面报告审议,通过后才可启用。被分库分表分区的原始表,需要保留7天。7天后应将该表转移至业务历史数据库留存至少90天。

12、应监控数据库存储过程调用情况,针对超过10个以上的数据库并发访问、链接池资源1个小时内不被释放、CPU和Tempdb资源消耗超过总资源的20%的情况,应作出预警。针对需要特殊保护的业务场景,经产品与运维部门同意,可启动自动切断链接设置。

6. 备份与恢复

1、制定数据库系统的备份策略,定期对数据库系统进行备份。如备份周期,方式等。

2、数据库备份策略要以高效备份与恢复为目标,与操作系统的备份最好地结合,物理备份与逻辑备份相结合。

3、必须对备份账户的权限严格控制,由系统管理员或指定专人负责。

4、妥善存放和保管备份介质(从数据库导出的磁盘柜等),防止非法访问与丢失。

5、本地备份与远程异地备份相结合,以防止本地备份丢失的情况。

6、根据重要性对数据库进行周期或不定期进行恢复测试与应及处理。

7、数据库升级、表结构变更、数据库分库分表分区、业务核心表变更前必须进行数据备份。对数据层面重大调整的,应启动启动完整日志或数据备份等数据容灾策略。

6.1 备份方式及策略
完全备份:对备份的内容进行整体备份。

增量备份:仅备份相对于上一次备份后新增加和修改过的数据。

差异备份:仅备份相对于上一次完全备份之后新增加和修改过的数据。

按需备份:仅备份应用系统需要的部分数据,或临时需要解决的问题。

1、建立各个应用能接受的恢复时间和数据备份方式,采取相应的备份策略。

2、结合使用在线备份、逻辑备份和物理备份等多种方式,并且自动方式和手动方式相结合。

3、数据备份应根据系统情况和备份内容,采用不同的备份方式及策略,并做好记录。

6.2 备份要求
1、数据库的数据要求定时自动备份。

2、建立备份记录,详细记录备份数据信息。备份应有明确的文件名,时间点、备份人,备份文件名统一标准。

3、备份文件保存时间可根据数据重要程度和有效利用周期确定。

4、备份介质安全问题,既要保证存放的物理环境,也要避免对备份数据的非授权访问。

5、系统管理员和数据库管理员确定备份策略。

6、备份文件名采用标准格式:数据库名称 + 下划线 + ISO时间格式(YYYYMMDDHHNNSS,即四位年2位月2位日2位小时2位分钟 + 备份的扩展名bak或是trn(日志文件))myj_202004011131.trn或是myj_202004011131.bak

7、数据表的备份命名为原表命名_bak_yyyyMMdd形式命名,若为同一天可以追加批次版本_v1,备份数据宜采用bcp形式进行数据导出与导入。备份表生产环境留存期至少7天。7天后应将该表转移至历史数据库留存至少90天。

6.3 恢复管理
恢复的操作直接影响到实际的应用。恢复操作应严格按一定的操作程序进行,而绝不能由备份系统管理员或某一个应用者进行恢复操作了事。

故障确认。在进行恢复之前首先应该确认造成故障的原因。故障的原因非常多,应该分清是操作系统的故障还是数据库的故障。如果是数据库的故障,不同的数据库应采用不同的故障分析方法,在完成故障分析后确认需要进行恢复操作时,由相应的管理人员提交书面的故障分析报告。

恢复计划。系统管理员在确认故障分析报告后应与相应管理者一起制定详细的恢复计划,包括应恢复的内容、恢复的时间、恢复的操作步骤、恢复对应用造成的影响等,主管领导应确认恢复对生产造成的影响,在批准执行恢复前应以相应方式与有关部门进行沟通和通知有关部门进行恢复前的准备工作。

定期备份校验。对长期保存的备份进行校验,防止在需要时备份不可用的情况发生,使用数据库自带工具校验。

7. 日常检查表单

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

原文件名自动编号方法:简单易懂的文件重命名规则

当处理大量文件时,例如图片、文档或其他类型的文件,经常要给它们重新命名,以便于管理和查找。一种常见的方法是使用自动编号,这样可以从001开始,一直编号到最后的文件。这种方法既简单又高效,且易于理解。下…

【读书】《白帽子讲web安全》个人笔记Ⅱ-1

目录 第二篇 客户端脚本安全 第2章 浏览器安全 2.1同源策略 2.2浏览器沙箱 2.3恶意网址拦截 2.4高速发展的浏览器安全 第二篇 客户端脚本安全 第2章 浏览器安全 近年来随着互联网的发展,人们发现浏览器才是互联网最大的入口,绝大多数用户使用互联…

UV机-理光G5六彩一白一光油配置

UV机-理光G5六彩一白一光油配置

【Navigation】global_planner 源码解析

全局规划器 global_planner 功能包 文章目录 global_planner 功能包结构1、plan_node.cpp2、planner_core.cpp3、astar.cpp4、dijkstra.cpp5、quadratic_calculator.cpp6、grid_path.cpp7、gradient_path.cpp8、orientation_filter.cpp全局规划大都基于静态地图进行规划,产生路…

加密的手机号如何模糊查询?

1 一次加载到内存 实现这个功能,我们第一个想到的办法可能是:把个人隐私数据一次性加载到内存中缓存起来,然后在内存中先解密,然后在代码中实现模糊搜索的功能。 这样做的好处是:实现起来比较简单,成本非常…

约数个数和约数之和算法总结

知识概览 约数个数 由算数基本定理 可得对于N的任何一个约数d,有 因为N的每一个约数和~的一种选法是一一对应的,根据乘法原理可得, 一个数的约数个数为 约数之和 一个数的约数之和公式为 多项式乘积的每一项为 正好对应的是一个数的每一个约…

计算机Java项目|Springboot疫情网课管理系统

项目编号:L-BS-ZXBS-07 一,环境介绍 语言环境:Java: jdk1.8 数据库:Mysql: mysql5.7 应用服务器:Tomcat: tomcat8.5.31 开发工具:IDEA或eclipse 二,项目简介 疫情网课也都将通过计算机…

jmeter线程组

特点:模拟用户,支持多用户操作;可以串行也可以并行 分类: setup线程组:初始化 类似于 unittest中的setupclass 普通线程组:字面意思 teardown线程组:环境恢复,后置处理

2.3 A VECTOR ADDITION KERNEL

我们现在使用矢量加法来说明CUDA C程序结构。矢量加法可以说是最简单的数据并行计算,是顺序编程中Hello World的并行等价物。在我们展示向量加法的内核代码之前,首先回顾传统的向量加法(主机代码)函数的工作原理是有帮助的。图2.5…

阿里云服务器Centos安装宝塔面板

阿里云服务器Centos安装宝塔面板 1 背景1.1 aliyun1.2 Linux 2 安装步骤2.0 环境配置2.1 安装前准备2.2 宝塔安装2.3 建站 3 centos常用命令3.1 防火墙相关 1 背景 1.1 aliyun 阿里云服务器是阿里云提供的一项云计算服务,它能够帮助用户快速搭建网站、应用和服务&…

专栏序言-GDB高级调试技巧实战

工欲善其事必先利其器! GDB耍的溜,BUG找的快! 在软件开发的世界里,调试是不可避免的。对于C/C开发者来说,GDB就是那把调试利器!如果你只知道单步调试,那定位问题的速度肯定是龟速&#xff1b…

FSMC—扩展外部SRAM

一、SRAM控制原理 STM32控制器芯片内部有一定大小的SRAM及FLASH作为内存和程序存储空间,但当程序较大,内存和程序空间不足时,就需要在STM32芯片的外部扩展存储器了。STM32F103ZE系列芯片可以扩展外部SRAM用作内存。 给STM32芯片扩展内存与给…

Arduion Modbus通讯示例

实现了Arduion和Qt上位机利用Modbus协议采集DHT11数据&#xff0c;以及开关LED灯 软件界面&#xff1a; 实物界面&#xff1a; arduion下位机代码&#xff1a; #include <ModbusRtu.h> #include <DHT.h>#define DHTPIN 2 // DHT11连接到Arduino的数字引…

强化学习5——动态规划在强化学习中的应用

动态规划在强化学习中的应用 基于动态规划的算法优良 &#xff1a;策略迭代和价值迭代。 策略迭代分为策略评估和策略提升&#xff0c;使用贝尔曼期望方程得到一个策略的状态价值函数&#xff1b;价值迭代直接使用贝尔曼最优方程进行动态规划&#xff0c;得到最终的最优状态价…

【设计模式】迭代器模式

一起学习设计模式 目录 前言 一、概述 二、结构 三、案例实现 四、优缺点 五、使用场景 六、JDK源码解析 总结 前言 【设计模式】迭代器模式——行为型模式。 一、概述 定义&#xff1a; 提供一个对象来顺序访问聚合对象中的一系列数据&#xff0c;而不暴露聚合对象…

前端-基础 常用标签-超链接标签( 锚点链接 )

锚点链接 &#xff1a; 点击链接&#xff0c;可以快速定位到 页面中的某个位置 如果不好理解&#xff0c;讲一个例子&#xff0c;您就马上明白了 >>> 这个是 刘德华的百度百科 &#xff0c;可以看到&#xff0c;页面里面有很多内容&#xff0c;那就得有个目录了 …

贝锐蒲公英云智慧组网解读:实现工业设备远程调试、异地PLC互联

这个时候&#xff0c;使用异地组网是非常有效的解决方案。在12月28日贝锐官方的直播中&#xff0c;请到了贝锐蒲公英的技术研发经理&#xff0c;为大家分享了贝锐蒲公英云智慧组网解决方案&#xff0c;以及蒲公英二层组网相关的技术和应用。 搜索“贝锐”官方视频号&#xff0c…

C动态内存分配(被调函数内部指针内存分配)

void *malloc(size_t size); void free(void *); malloc在内存的动态存储区中分配一块长度为size字节的连续存储空间返回该区域的首地址与c中的内存分配new和delete作用相同&#xff08;但c的可适用范围更广&#xff09; 当在栈区&#xff0c;被调函数之外需要使用被调函数内部…

python自动化测试面试题与答案汇总

对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔,下面这篇文章主要给大家介绍了关于30道python自动化测试面试题与答案汇总的相关资料,需要的朋友可以参考下 1、什么项目适合做自动化测试&#xff1f; 关键字&#xff1a;不变的、重复的、规范…

程序语言相关知识——偏向Eigen矩阵

1 查看 Eigen库表示的矩阵 方法 1.1 列矩阵x在监视中&#xff0c;这样查看&#xff0c;数值右侧的圈圈 可用于更新数值 随程序 1.2 比较全的方法&#xff1a;来自于知乎&#xff1a;https://zhuanlan.zhihu.com/p/625334009?utm_id0 1.3 eigen的用法&#xff1a;https://ww…