一、引言
(一)核心概念定义
数据库安全是指通过技术、管理等综合手段,保障数据库所存储、处理、传输数据的机密性、完整性、可用性,同时涵盖数据库管理系统本身的安全、上层数据库应用安全、运维过程安全及存储介质安全四大范畴。该知识点属于软考信息安全工程师考试大纲中 "系统安全" 模块的核心内容,历年真题中分值占比约 8%-12%,是案例分析题的高频出题方向。
(二)技术发展脉络
数据库安全的发展与数据库技术演进同步:20 世纪 70 年代第一代关系数据库诞生初期,安全机制仅包含基础的用户名 / 口令认证;80 年代随着商业数据库规模化应用,访问控制、审计等基础机制逐步纳入标准;90 年代互联网普及后,SQL 注入、数据泄露等外部威胁催生了数据库防火墙、加密等专项技术;2020 年以来,随着《数据安全法》《网络安全等级保护 2.0》等法规落地,国产数据库安全增强、细粒度数据防护成为行业发展重点。
(三)文章知识覆盖
本文系统梳理数据库安全的核心概念、面临的威胁隐患、关键技术机制,结合 Oracle、MS SQL Server、MySQL 及国产数据库的特性给出安全最佳实践,同时明确软考考试的高频考点与备考要点,帮助考生建立完整的数据库安全知识体系。
二、数据库面临的安全威胁与隐患
(一)八大核心安全威胁
数据库运行环境涵盖网络、主机、应用、存储等多个层面,面临的威胁可分为以下八类:
- 授权误用:指合法用户超出自身权限范围访问数据,或不当向其他用户授予超出工作需要的权限,属于内部人员最常见的风险场景。例如某企业运营人员利用自身查询权限导出全量客户信息出售,本质是权限分配未遵循最小特权原则导致的授权误用。
- 逻辑推断与汇聚:攻击者通过多次访问多个低敏感度、非涉密的数据项,通过关联分析推断出高敏感度信息。例如某薪酬系统允许员工查询各部门平均工资,攻击者通过多次查询不同人员组合的平均工资,可推断出特定高管的具体薪酬。
- 伪装:攻击者通过窃取用户口令、会话令牌等方式假冒合法用户身份访问数据库,常见手段包括钓鱼攻击获取凭证、会话劫持等。
- 旁路控制:攻击者在数据库系统中预留后门,绕过正常的身份认证、访问控制机制直接访问数据,例如数据库运维人员私自创建隐藏的超级用户账号,绕过审计机制直接查询敏感数据。
- 隐蔽信道:利用系统中非常规的通信路径传递信息,避开安全审计与访问控制,例如攻击者通过修改数据库表的时间戳字段编码敏感信息,或利用共享内存、临时文件实现数据外传,绕过网络访问控制策略。
- SQL 注入攻击:利用应用程序对用户输入未做严格校验的漏洞,在输入参数中插入恶意 SQL 代码,欺骗数据库执行非授权操作,是目前互联网应用中最常见的数据库攻击手段,可导致数据泄露、数据篡改、数据库服务器被控制等后果。
- 数据库口令破解:攻击者通过字典攻击、暴力破解、撞库等手段获取数据库用户口令,统计数据显示约 30% 的数据库安全事件起源于弱口令被破解。
- 硬件及介质攻击:针对数据库服务器、存储介质的物理攻击,包括物理破坏服务器、盗窃存储硬盘、从废弃磁盘中恢复敏感数据等。
数据库安全威胁分类与攻击路径示意图,展示从外部网络、内部人员、物理介质等不同入口的攻击流向
(二)七大常见安全隐患
除外部攻击外,内部配置与管理不当是数据库风险的主要来源,常见隐患包括:
- 账号密码隐患:包括使用默认口令、弱口令、长期未更改口令、多个系统复用同一口令等;
- 扩展存储过程隐患:数据库默认开启的 xp_cmdshell 等扩展存储过程,若未严格限制权限,可被攻击者利用实现操作系统提权;
- 系统软件漏洞:数据库管理系统自身存在的缓冲区溢出、权限绕过等漏洞,未及时安装补丁导致被利用;
- 权限分配不合理:权限过度授予,例如普通业务用户具备 DROP TABLE、ALTER TABLE 等高风险操作权限;
- 用户安全意识薄弱:内部人员随意共享账号、将口令明文存储在办公电脑等;
- 通信明文传输:数据库与应用服务器之间、运维管理通道未加密,数据传输过程中可被中间人窃听;
- 自身安全机制不健全:未启用审计、数据未加密等,安全防护能力缺失。
三、数据库安全核心机制与关键技术
(一)八大基础安全机制
应对上述威胁需构建完整的安全防护体系,核心基础机制包括:
- 标识与鉴别:对数据库用户进行身份标识,支持用户名 / 口令、数字证书、多因素认证等多种鉴别方式,是所有安全机制的基础;
- 访问控制:根据用户身份和权限规则,控制用户对数据库对象的访问,支持自主访问控制(DAC)、强制访问控制(MAC)、基于角色的访问控制(RBAC)等模型;
- 安全审计:记录所有用户的数据库操作行为,包括操作人、操作时间、操作内容、操作结果等,用于事件追溯、责任认定;
- 备份与恢复:制定差异化备份策略,确保数据在遭受破坏后可完整恢复,保障数据可用性;
- 数据加密:对传输和存储过程中的数据进行加密,防止数据被窃听或泄露;
- 资源限制:限制用户可使用的 CPU 时间、存储空间、会话连接数等资源,防止恶意操作耗尽系统资源导致服务不可用;
- 安全加固:包括修补系统漏洞、禁用不必要的服务、配置强口令策略、最小化权限分配等;
- 安全管理:建立安全管理组织、流程和规范,明确数据库管理员、审计员、操作员的职责分离。
数据库安全机制与威胁对应关系表,横向列出威胁类型,纵向列出安全机制,标注每种机制可防护的威胁场景
(二)关键安全技术详解
1. 数据库加密技术
数据库加密分为传输加密和存储加密两类:
- 传输加密:通常采用 SSL/TLS 协议对数据库客户端与服务端之间的通信流量进行加密,防止中间人窃听,例如 Oracle 的 TNS 协议加密、MySQL 的 SSL 连接配置均属于此类;
- 存储加密:对存储在介质上的数据库数据进行加密,分为库内加密和库外加密两种实现方式:
- 库内加密:在数据库管理系统内核中集成加密模块,加密解密过程对应用透明,支持字段级、记录级细粒度加密,但会消耗数据库服务器的计算资源;
- 库外加密:由独立于 DBMS 的加密网关或专用硬件完成加密解密操作,不占用数据库服务器资源,但加密粒度通常为文件级或表级,灵活性较低。
- 加密粒度可分为文件级、表级、记录级(行)、字段级(列)四种,粒度越细,加密灵活性越高,密钥管理复杂度也越高,性能损耗越大。
2. 数据库防火墙技术
数据库防火墙部署在应用服务器与数据库服务器之间,是数据库的外围防御系统,核心功能包括:
- 屏蔽数据库直连通道,禁止应用服务器之外的设备直接访问数据库,防范旁路攻击和隐蔽信道;
- 增强身份认证,除数据库自身的认证外,增加二次身份校验,防止假冒用户访问;
- 攻击实时检测与阻断,内置 SQL 注入、缓冲区溢出等攻击特征库,发现恶意操作立即阻断;
- 虚拟补丁功能,针对数据库已公开但未及时安装补丁的漏洞,配置规则直接拦截利用该漏洞的攻击,无需重启数据库服务;
- 高危操作管控,限制无 WHERE 条件的 DELETE/UPDATE、DROP TABLE、TRUNCATE 等高危操作,防止误操作或恶意破坏;
- 敏感数据泄露防护,限制单条查询返回的记录行数,对返回的敏感字段自动脱敏;
- 独立安全审计,提供比数据库自身审计更丰富的日志维度,且日志无法被数据库管理员篡改。
3. 数据库脱敏技术
数据库脱敏的核心目标是在保证数据可用性的前提下,防止真实敏感数据泄露,适用于开发、测试、数据分析等非生产环境。常见脱敏方法包括:
- 屏蔽法:对敏感字段的部分内容用特殊字符替换,例如将手机号 138****1234、银行卡号 6222 **** **** 1234;
- 变形法:保持数据格式不变,对内容进行可逆或不可逆变换,例如将日期字段的具体日期偏移固定天数,保持时间区间逻辑不变;
- 替换法:用模拟数据替换真实数据,例如用随机生成的假姓名、假地址替换真实的用户信息;
- 随机化法:对数值型字段加入随机噪声,保持统计特征不变但具体数值失真,适用于数据分析场景;
- 加密法:对敏感字段进行加密处理,只有授权用户可解密查看原始数据。
4. 数据库漏洞扫描技术
数据库漏洞扫描通过模拟黑客攻击行为,主动探测数据库系统存在的漏洞、不安全配置、弱口令等风险,核心价值是建立安全基线,持续跟踪风险变化。主流商业工具包括 NGSSQuirrel for Oracle、安恒信息明鉴数据库漏洞扫描系统等,支持对主流数据库的弱口令检测、配置合规检查、漏洞扫描等功能,符合等级保护 2.0 中数据库安全的测评要求。
数据库安全技术部署架构图,展示加密、防火墙、脱敏、漏洞扫描等技术在 IT 架构中的部署位置
四、主流数据库安全分析与最佳实践
(一)Oracle 数据库安全
Oracle 作为商用数据库的代表,内置完善的安全机制:支持多因素认证、细粒度访问控制(FGAC)、Oracle Database Vault(数据库保险库,实现职责隔离和最小特权)、内置审计、透明数据加密(TDE)、数据屏蔽等功能,符合等保三级及以上的安全要求。
安全最佳实践包括:
- 最小化安装操作系统和数据库组件,禁用不必要的服务和扩展存储过程;
- 删除默认的 SCOTT、SYSADM 等测试用户,修改所有默认用户的口令;
- 配置强口令策略,包括口令长度不小于 8 位、包含大小写字母、数字和特殊字符,90 天强制更换,禁止复用历史口令;
- 通过 sqlnet.ora 文件配置允许访问数据库的 IP 地址段,禁止未授权 IP 访问;
- 对 TNS 协议传输启用 SSL 加密,防止通信内容被窃听;
- 启用统一审计(Unified Auditing),定期分析审计日志,对异常操作及时告警;
- 及时安装 Critical Patch Update(CPU)补丁,制定完善的灾备与应急预案,定期开展恢复演练。
(二)MS SQL Server 数据库安全
MS SQL Server 的核心安全机制包括:支持 Windows 认证和混合认证两种模式、基于角色的访问控制、透明数据加密(TDE)、列级加密、完备的备份恢复模型,与 Windows 域权限体系深度集成,适合 Windows 生态下的企业应用。
安全最佳实践包括:
- 优先使用 Windows 域认证模式,减少本地数据库账号的使用,配置强口令策略;
- 删除或禁用 xp_cmdshell、xp_regread 等高危扩展存储过程,降低提权风险;
- 启用 SSL 加密保护 Tabular Data Stream(TDS)协议传输,替代明文传输;
- 修改默认的 1433 服务端口,避免端口扫描识别数据库服务;
- 通过网络层防火墙限制仅应用服务器和运维管理 IP 可访问数据库端口;
- 启用 SQL Server 审计功能,定期分析错误日志和审计日志;
- 每月安装安全补丁,定期开展漏洞扫描,及时修复风险。
(三)MySQL 数据库安全
MySQL 作为开源数据库的代表,安全机制相对轻量化:基于用户名 + 主机地址 + 口令的认证体系,通过 user、db、tables_priv、columns_priv、procs_priv 五个授权表实现灵活的权限管理,支持 GRANT/REVOKE 命令动态调整权限,内置审计插件可满足基础审计需求。
安全最佳实践包括:
- 使用专用的普通用户 / 用户组运行 MySQL 服务,禁止使用 root 用户运行,采用 Chroot 环境将 MySQL 限制在独立目录中,形成沙箱隔离;
- 关闭 3306 端口的公网监听,仅允许内网指定 IP 访问,特殊场景下需通过 SSH 隧道等加密方式访问;
- 禁用 LOAD DATA LOCAL INFILE 命令,防止攻击者通过文件读取漏洞获取服务器敏感文件;
- 删除默认的 test 数据库和匿名用户,修改 root 用户的用户名,禁止 root 用户从非本地地址登录;
- 为每个业务应用创建独立的数据库账号,仅授予所需的最小权限,禁止业务账号具备 ALTER、DROP 等高危权限;
- 开启慢查询日志和审计日志,定期备份全量数据和 binlog 日志,备份数据加密存储。
(四)国产数据库安全
目前主流国产数据库包括人大金仓、达梦、南大通用、 OceanBase 等,安全可控是其核心优势,但也面临三类安全风险:一是数据库自身的漏洞,二是依赖的 OpenSSL 等第三方组件漏洞,三是安全配置不当(弱口令、多余端口开放、权限过度分配)。
国产数据库的安全增强方向包括:加强自主可控的漏洞挖掘与扫描能力,内置透明加密、脱敏等安全功能,集成强制访问控制、最小特权、职责分离等安全机制,满足等级保护 2.0、涉密信息系统的安全要求。
主流数据库安全特性对比表,横向列出 Oracle、MS SQL Server、MySQL、国产数据库,纵向对比安全机制、最佳实践要点、适用场景
五、数据备份策略核心要素
备份与恢复是保障数据库可用性的最后一道防线,设计备份策略时需考虑六大核心要素:
- 备份数据类型:涵盖数据库全量数据、事务日志、操作系统配置文件、数据库审计日志等,不同类型数据的备份频率和保留时间差异化设置;
- 备份介质:包括磁盘、磁带、离线备份服务器、云存储等,重要数据需遵循 "3-2-1" 备份原则:3 份备份、2 种介质、1 份离线存储;
- 备份类型 :分为全量备份、增量备份、差量备份三类:
- 全量备份:对所有数据进行完整备份,恢复速度快,但备份时间长、占用存储空间大,适合每周 / 每月执行一次;
- 增量备份:仅备份上一次备份(全量或增量)之后变化的数据,备份速度快、占用空间小,但恢复时需要依赖所有历史增量备份,恢复复杂度高,适合每日执行;
- 差量备份:仅备份上一次全量备份之后变化的数据,恢复时只需要全量备份 + 最后一次差量备份,恢复复杂度介于全量和增量之间,适合每 2-3 天执行一次。
- 数据保留时间:根据业务需求和合规要求确定,例如普通业务数据保留 1 个月,金融、政务等敏感数据保留 6 个月至 1 年;
- 备份周期:根据数据重要性和变化频率确定,核心业务系统可每日执行增量备份,每周执行全量备份;
- 备份窗口:选择业务低峰期执行备份操作,避免备份占用过多系统资源影响正常业务运行,例如凌晨 2 点至 4 点。
三种备份类型(全量、增量、差量)对比示意图,展示备份流程、恢复流程、优缺点、适用场景
六、软考考点总结与备考建议
(一)核心考点提炼
- 基础概念:数据库安全的三大属性(机密性、完整性、可用性)、四大范畴,八大威胁和七大隐患的具体定义,能够准确识别不同场景对应的威胁类型;
- 技术机制:重点掌握数据库加密的分类(传输 / 存储、库内 / 库外)、加密粒度的对比,数据库防火墙的七大核心功能,数据库脱敏的常见方法,三种备份类型的区别与适用场景;
- 实践应用:熟记 Oracle、MS SQL Server、MySQL 的典型安全最佳实践,能够针对具体场景设计数据库安全加固方案,国产数据库的安全风险与增强方向是近年新增考点,需重点关注。
(二)备考与实践建议
- 知识点关联记忆:建立 "威胁 - 防护机制" 的对应关系,例如 SQL 注入可通过数据库防火墙、输入校验防护,越权访问可通过访问控制、最小权限原则防护,避免孤立记忆知识点;
- 案例分析重点练习:数据库安全是案例分析题的高频考点,练习时需结合题目给出的业务场景,从身份认证、访问控制、加密、审计、备份等维度设计完整的安全方案;
- 实践操作验证:有条件的考生可在本地搭建 Oracle、MySQL 测试环境,动手配置用户权限、SSL 加密、审计等功能,加深对知识点的理解;
- 关注国产化相关内容:随着信创产业的发展,国产数据库安全的考点占比逐年提升,需重点掌握等级保护 2.0 对数据库安全的要求,以及国产数据库的安全增强方向。
数据库作为企业核心数据资产的存储载体,是数据安全防护的最后一道屏障,其安全能力直接决定了整个信息系统的安全水位。掌握数据库安全的核心知识,不仅是通过软考信息安全工程师考试的必备要求,也是实际工作中保障业务数据安全的核心能力。