云计算百科
云计算领域专业知识百科平台

信息安全工程师 - 第二十章 据库系统安全

 数据库安全威胁

威胁类型核心说明
授权的误用 合法用户越权访问资源,窃取、篡改、破坏数据;或将自身权限不当授予他人,造成数据泄露
逻辑推断和汇聚 逻辑推断:通过低敏感数据,推理出敏感信息;汇聚:单条数据不敏感,大量数据汇总后形成敏感数据集
伪装 攻击者假冒合法用户身份,获取数据库访问权限
旁路控制 在系统中设置后门,绕过数据库内置的访问控制安全机制
隐蔽信道 借助共享内存、临时文件等非正常通信途径,绕过安全管控传输数据;区别于正常合法数据通道
SQL 注入攻击 应用输入未校验,攻击者提交恶意 SQL 语句欺骗数据库执行;造成数据泄露、数据库失控
数据库口令密码破解 字典、暴力猜测密码;撞库:利用互联网泄露的账号口令字典批量尝试登录
硬件及介质攻击 针对数据库服务器硬件、存储介质实施物理攻击

数据库安全隐患

隐患类别核心说明
账号和密码隐患 缺少强制强密码策略;大量数据库存在默认账号密码。Oracle 典型隐患:strXXX.cmd 保存数据库启动密码、listener.ora 存放监听进程密码、orapw 文件存放 SYSDBA 账号密码,权限配置不当易被读取破解
扩展存储过程隐患 SQL Server、Sybase 的 sa 账号可调用扩展存储过程(xp_cmdshell),能够直接执行操作系统命令,容易被攻击者利用作为后门获取系统权限
数据库软件与应用漏洞 数据库自身或上层应用存在漏洞,造成安全机制失效,攻击者获取远程访问权限;案例:黛蛇 Dasher.B 蠕虫,利用 SQL 相关漏洞攻击
权限分配隐患 DBA 分配权限过大;用户误删数据、泄露敏感数据
用户安全意识薄弱 使用弱口令、口令保管不当;操作历史记录泄露数据库账号密码
网络通信明文传输 数据库与应用间通信未加密,攻击者通过网络嗅探窃取账号密码、业务敏感数据
数据库安全机制不健全 缺少账号重命名、登录时段限制、账号锁定功能;示例:MSSQL sa 账号无法删除,默认空口令;Slammer 蠕虫利用该漏洞攻击

数据库安全需求

安全需求核心说明
数据库标识与鉴别 识别、认证数据库用户身份;只有身份认证通过,才可操作数据库对象
数据库访问控制 对数据资源、系统操作做授权与违规管控;支持自主访问控制、强制访问控制、角色访问控制
数据库安全审计 按审计策略记录数据库操作;审计信息包含:操作类型、用户标识、操作时间、访问客体对象,生成审计日志
数据库备份与恢复 故障发生时,依靠备份文件、数据库日志,完成数据还原与数据库重建
数据库加密 对敏感数据加密并配套密钥管理;防止通过操作系统直接窃取库文件;备份文件也是密文,降低介质丢失泄密风险;管理员无法随意解密用户加密数据,保障机密性
资源限制 限制用户占用 CPU、缓存、存储空间、并发会话数量;防止资源耗尽,抵御拒绝服务攻击
数据库安全加固 漏洞扫描、补丁修补,消除数据库安全漏洞
数据库安全管理 集中管理,统一配置、维护数据库安全策略

数据库安全机制与实现技术

模块核心内容
数据库安全机制

1. 标识与鉴别:用户属性定义、主体绑定、鉴别失败处理、多重鉴别等

2. 访问控制:会话管控、系统权限、数据资源权限设置

3. 安全审计:审计事件生成、绑定用户身份、审计日志查阅与访问限制、自定义审计事件

4. 备份与恢复:备份恢复策略、备份导入导出

5. 数据加密:加密参数配置、密钥管理、加解密操作

6. 资源限制:存储空间配额、事务时长限制,防范 DoS

7. 安全加固:漏洞修补、弱口令管控

8. 安全管理:安全角色配置、安全功能统一管理

数据库加密 传输加密:SSL 协议加密网络传输数据存储加密分为库内加密、库外加密;存储加密粒度:基于文件(整库加密)、基于记录、基于字段(字段级加密,细粒度)
数据库防火墙 部署于应用服务器与数据库之间,基于 SQL 协议分析作用:①屏蔽直接访问通道,阻断隐通道攻击②双层身份认证,增强认证能力③实时检测 SQL 注入、缓冲区溢出,记录攻击日志④虚拟补丁,无需打补丁即可防护数据库漏洞⑤管控内部高危操作:限制无 where 的 update/delete、drop/truncate 等危险语句⑥限制查询导出数据量,管控敏感数据访问(用户、地点、时间)⑦独立审计数据库访问行为
数据库脱敏 对敏感数据做变换匿名化;保留数据可用性,防止泄露常用方法:屏蔽、变形、替换、随机、加密;示例:卡号中间部分替换为 XXXX
数据库漏洞扫描 模拟黑客探测,发现漏洞、不安全配置、弱口令;建立安全基线,持续监控风险产品:NGSSQuirrel for Oracle、xSecure-DBScan;支持字典 / 暴力密码审计

Oracle 数据库安全分析

安全模块核心说明
用户认证 多种认证方式:Oracle 本地认证、操作系统认证、网络认证、多级认证、SSL 认证;账号口令机制:口令加密、账号锁定、口令有效期过期、口令复杂度校验;DBA 特殊认证:强认证、操作系统认证、口令文件认证;网络侧支持第三方、PKI、远程认证
访问控制 包含网络访问控制 + 数据对象授权控制;可限制访问数据库的 IP;细粒度访问控制 FGAC,可对 select/insert/update/delete 单独配置访问策略
数据库保险库 Database Vault(DV) 保护敏感数据,实现职责隔离、最小特权、阻止未授权变更、多因素可信授权;通过安全域 Realm、命令规则 Command Rules管控权限;可限制 DBA 跨域操作,拦截高危命令(drop table、alter system)
安全审计 & Oracle 数据库防火墙 审计三类活动:登录尝试、数据库活动、对象存取;防火墙内置 SQL 语法分析引擎,对 SQL 执行允许 / 记录 / 告警 / 替换 / 阻断;策略类型:白名单、黑名单、例外名单;例外策略可基于 SQL 类别、时间、应用、用户、IP 灵活配置
高级安全功能 透明数据加密 TDE:防止攻击者直接从底层存储介质读取敏感数据;数据屏蔽 Data Masking:实现敏感数据脱敏,控制敏感数据展示权限

Oracle 安全最佳实践

序号最佳实践核心说明
1 加固数据库所在操作系统 最小化系统服务,更新系统补丁,关闭无用网络端口
2 Oracle 最小化安装 按需安装组件,删除不必要组件,降低攻击面
3 及时安装安全补丁 持续关注 Oracle 安全公告,及时修补数据库漏洞
4 清理默认账号口令 删除或修改 Oracle 自带默认用户名、默认密码,消除已知后门
5 启用身份认证机制 开启数据库认证,阻止非法用户访问
6 配置口令安全策略 通过概要文件 profile 配置:登录失败锁定、口令有效期、口令复杂度校验等
7 最小权限分配 遵循最小授权;回收 Public 多余权限;严控 UTL_FILE、UTL_HTTP、UTL_TCP、UTL_SMTP 程序包权限
8 限制访问 IP 地址 限制可连接数据库的 IP,防范 TNS 监听器漏洞带来的攻击风险
9 传输加密 TNS 协议本身不安全,使用 SSL 加密数据库传输流量,防止窃听篡改
10 开启审计功能 重点审计失败登录事件,定期分析日志,发现可疑访问行为
11 持续跟踪漏洞信息 定期查看厂商、应急响应机构发布的 Oracle 漏洞情报,及时修复
12 灾备与应急方案 定期备份数据,建立灾备方案,制定数据库安全事件应急预案

MS SQL Server 安全分析

安全模块核心说明
用户身份认证 两种认证模式:Windows 认证(默认)、混合认证;Windows 认证下 SQL Server 信任 Windows 用户 / 组账号,可直接登录数据库
访问控制 基于角色访问控制 RBAC,角色分三类:①固定服务器角色;②固定数据库角色;③应用角色;各类角色预先分配对应权限
数据库加密 支持 T-SQL 加密函数、对称密钥、非对称密钥、数字证书、透明数据加密 TDE(2008 版本起支持);密钥层次:服务主密钥→数据库主密钥→证书→数据库加密密钥,逐层加密保护数据库数据
备份与恢复机制 备份分为静态备份、动态备份;4 种备份方案:完全备份、差异备份、事务日志备份、文件和文件组备份;3 种恢复模型:简单恢复、完全恢复、批量日志记录恢复;可使用 T-SQL 或企业管理器执行备份恢复操作
安全审计 满足美国 C2 级认证要求;内置审计组件,可对全部权限使用行为进行审计

MS SQL Server 安全最佳实践

序号最佳实践核心说明
1 配置密码安全策略 杜绝弱口令、空密码;Slammer 蠕虫就是利用 sa 账号空口令实施攻击
2 管控扩展存储过程 删除无用系统存储过程;重点管控xp_cmdshell,该存储过程可调用操作系统命令,易被提权利用
3 网络传输加密 TDS 协议默认明文传输;使用 SSL 加密传输,防止网络嗅探造成数据泄露
4 修改默认 TCP 端口 SQL 默认端口 1433,修改为其他端口,降低被扫描发现的概率
5 IP 访问限制 借助防火墙或 Windows 安全机制,仅允许授权 IP 访问数据库
6 开启日志审计 记录登录成功、失败事件;定期审计日志,排查可疑登录行为
7 跟踪漏洞、及时打补丁 关注微软、应急响应机构漏洞公告;安装 Windows 补丁与 SQL Server Service Pack,修复已知漏洞
8 加固底层操作系统 强化数据库服务器操作系统安全,消除操作系统层面安全隐患
9 安全检测 + 容灾备份 持续监测数据库安全状态;定期执行数据库备份,建立容灾方案

MySQL 安全分析

安全模块核心说明
用户身份认证 采用用户名 + 口令认证方式
访问授权 5 张授权表:user、db、host、tables_priv、columns_priv;使用grant授权、revoke回收权限,支持新建用户、授权、撤销权限、删除用户,权限管控灵活
安全审计 内置审计机制,可记录数据库运行状态

MySQL 安全最佳实践

序号最佳实践核心说明
1 MySQL 安装 新建独立用户 / 组运行 MySQL;安装最新版本,选用合适静态参数编译
2 搭建 Chroot 运行环境 构建沙箱隔离环境,提升抗渗透能力
3 关闭远程连接 关闭默认 3306 监听端口;本地通过 mysql.sock 连接,备份走 SSH,规避远程攻击风险
4 禁止导入本地文件 禁用LOAD DATA LOCAL INFILE,防止读取本地敏感文件
5 修改 root 口令 执行 SQL 语句重置localhost的 root 用户密码
6 清理默认账号与库 删除默认 test 数据库,移除 root 以外多余默认用户
7 修改 root 用户名 修改 root 账号名称,降低暴力破解命中率,修改后执行flush privileges刷新权限
8 创建应用独立账号 为业务新建专属数据库与账号;遵循最小权限原则,收回 FILE、GRANT、ALTER、SHOW DATABASE、RELOAD、SHUTDOWN、PROCESS、SUPER 等高权限
9 安全监测 持续监控数据库运行状态,及时修复漏洞
10 安全备份 定期对 MySQL 数据库与业务数据做备份

国产数据库安全分析

风险类别核心说明
国产数据库安全漏洞 软件复杂、代码实现缺陷带来漏洞。案例:①达梦数据库 CNVD-2017-31606:越权漏洞,攻击者获取 DBA 最高权限,增删改查、篡改数据、控制系统;②南大通用 GBASE CNVD-2016-09750:DoS 漏洞,调用 astest 函数特定参数耗尽内存造成数据库宕机
依赖第三方组件安全风险 依赖第三方组件存在漏洞。示例:OpenSSL 漏洞,影响国产数据库网络传输数据安全
系统安全配置风险 配置不当引发威胁:弱口令、开放过多端口、未开启内置安全功能、使用不安全远程登录工具
支持平台安全风险 底层操作系统存在安全隐患,造成数据库文件被窃取、破坏,数据库失控

国产数据库安全增强措施

类别核心说明
漏洞挖掘与扫描 对国产数据库开展漏洞分析挖掘;安华金和建有数据库攻防实验室,研发适配国产库的漏洞扫描工具,发现安全隐患
国产数据库加密(达梦 DM) 提供内部算法加密、第三方软硬件存储加密;支持透明加密、半透明、非透明加密;内置密码引擎,可调用外部密码设备与算法;高级加密包实现存储 + 通信加密,加解密对应用透明,兼容 JDBC/ODBC/ADO.NET接口
国产安全数据库产品 1. 人大金仓 KingbaseES 安全版:满足 GB/T 20273-2019 第四级;多重身份鉴别、入侵检测告警、可信路径、推理控制、形式化证明、隐蔽信道分析,获公安部四级销售许可2. LOIS SDBMS:基于 PostgreSQL 开发,国内首个核心化架构安全数据库,记录级强制访问控制,达到 GB17859 第三级3. Softbase(南大):基于 PostgreSQL,评测达到 GB17859 第三级
赞(0)
未经允许不得转载:网硕互联帮助中心 » 信息安全工程师 - 第二十章 据库系统安全
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!