当前位置: 首页 > news >正文

企业数据库安全管理规范

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. 日常检查表单

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

相关文章:

企业数据库安全管理规范

1.目的 为规范数据库系统安全使用活动,降低因使用不当而带来的安全风险,保障数据库系统及相关应用系统的安全,特制定本数据库安全管理规范。 2.适用范围 本规范中所定义的数据管理内容,特指存放在信息系统数据库中的数据。 本…...

react:ffcreator中FFCreatorCenter视频队例

最近项目要求,一键生成房子的推荐视频,选几张图,加上联系人的方式就是一个简单的视频,因为有web端、小程序端,为了多端口用,决定放在服务器端生成。 目前用的是react中的nextjs来开发项目。 nextjs中怎样…...

力扣(leetcode)第434题字符串中的单词数(Python)

434.字符串中的单词数 题目链接:434.字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: “Hello, my name is John” 输出: 5 解释: 这…...

django学习:页面渲染与请求和响应

1.请求过程 2.页面渲染 在app中新建一个目录(Directory),文件名命名为templates。该文件名命名是固定的,不可命名出错,如若后续步骤出错,该目录文件名是一个检查的重点项目。在该目录下新建一个html文件&a…...

Redis 数据一致性

概述 当我们在使用缓存时,如果发生数据变更,那么你需要同时操作缓存和数据库,而它们两个又分属不同的系统,因此无法做到同时操作成功或失败,因此在并发读写下很可能出现缓存与数据库数据不一致的情况 理论上可以通过…...

Mac环境下反编译apk

Mac环境下反编译apk 安装反编译工具dex2jar:[官网下载](https://sourceforge.net/projects/dex2jar/)JD-GUI:[官网下载](https://jd-gui.apponic.com/) 实操1. 将需要反编译的 .apk 文件放在下载的 dex2jar 文件夹目录下2. 使用 cd /xxx/dex2jar-2.0 命令…...

计算机网络——网络模型的组织、看法以及标准化流程

1. 通信技术和标准化领域中扮演重要角色的组织 1.1 国际和国家官方标准化机构 OSI:国际标准化组织(ISO),负责国际标准的制定,旨在确保全球产品和服务的安全性、可靠性和效率。它有许多国家分支机构,包括法…...

【JAVA】volatile 关键字的作用

🍎个人博客:个人主页 🏆个人专栏: JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 volatile 的作用: 结语 我的其他博客 前言 在多线程编程中,保障数据的一致性和线程之间的可见性是…...

Next.js 第一次接触

因为需要整个漂亮的在线文档,所以接触了next.js,因为对前端js本身不够熟悉,别说对react.js 又不会,时间又不允许深入研究,所以,为了加一个导航菜单,极其痛苦。 有点小bug,不过不影响…...

CISSP 第7章:PKI和密码学应用

第七章 PKI和密码学应用 7.1 非对称密码学 对称密码系统具有共享的秘钥系统,从而产生了安全秘钥分发的问题 非对称密码学使用公钥和私钥对,无需支出复杂密码分发系统 7.1.1 公钥与私钥 7.1.2 RSA(兼具加密和数字签名) RSA算法依赖…...

dji uav建图导航系列()ROS中创建dji_sdk节点包(二)实现代码

在前文 【dji uav建图导航系列()ROS中创建dji_sdk节点包(一)项目结构】中简单介绍了项目的结构,和一些配置文件的代码。本文详细说明目录src下的节点源代码实现。 文章目录 1、代码结构2、PSDK部分3、ROS部分3.1、头文件3.1.1、外部调用 node_service.h3.1.2、节点类定义…...

数字化工厂产品推荐 带OPC UA的分布式IO模块

背景 近年来,为了提升在全球范围内的竞争力,制造企业希望自己工厂的机器之间协同性更强,自动化设备采集到的数据能够发挥更大的价值,越来越多的传统型工业制造企业开始加入数字化工厂建设的行列,实现智能制造。 数字化…...

使用OHOS SDK构建opus

参照OHOS IDE和SDK的安装方法配置好开发环境。 从github下载源码。 执行如下命令: git clone --depth1 https://github.com/xiph/opus进入源码所在的目录,创建批处理文件ohos_build.cmd,内容如下: echo off setlocalset OHOS_…...

K-means 聚类算法分析

算法简述 K-means 算法原理 我们假定给定数据样本 X ,包含了 n 个对象 ,其中每一个对象都具有 m 个维度的属性。而 K-means 算法的目标就是将 n 个对象依据对象间的相似性聚集到指定的 k 个类簇中,每个对象属于且仅属于一个其到类簇中心距离…...

uniapp获取定位

Uniapp 是一种跨平台应用开发框架,它能够快速地构建出针对不同平台的应用程序。在Uniapp中,实现定位功能也变得十分简单,只需要简单的配置就能轻松实现。 一、高德地图根据指定位置获取经纬度 参考地址:地理/逆地理编码-基础 API…...

Python 面向对象之反射

Python 面向对象之反射 【一】概念 反射是指通过对象的属性名或者方法名来获取对象的属性或调用方法的能力反射还指的是在程序额运行过程中可以动态获取对象的信息(属性和方法) 【二】四个内置函数 又叫做反射函数 万物皆对象(整数、字符串、函数、模块、类等等…...

HPM6750开发笔记《DMA接收和发送数据UART例程深度解析》

目录 概述: 端口设置: 代码分析: 运行现象: 概述: DMA(Direct Memory Access)是一种计算机系统中的数据传输技术,它允许数据在不经过中央处理器(CPU)的直…...

SQL IN 操作符

IN 操作符 IN 操作符允许您在 WHERE 子句中规定多个值。 SQL IN 语法 SELECT column1, column2, ... FROM table_name WHERE column IN (value1, value2, ...); 参数说明: column1, column2, ...:要选择的字段名称,可以为多个字段。如果…...

如何使用Plex在Windows系统搭建个人媒体站点公网可访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…...

web前端——clear可以清除浮动产生的影响

clear可以解决高度塌陷的问题&#xff0c;产生的副作用要小 未使用clear之前 <!DOCTYPE html> <head><meta charset"UTF-8"><title>高度塌陷相关学习</title><style>div{font-size:50px;}.box1{width:200px;height:200px;backg…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...