数据库系统安全
1、数据库安全概况
数据库安全概念:是指数据库的机密性、完整性、可用性能够得到保障;主要涉及数据库管理安全、数据安全、数据库应用安全以及数据库运行安全。
数据库安全威胁:
- 授权的误用:合法用户越权获得他们不应该获得的资源;授权用户将自身的访问特权不适当地授予其他用户;
- 逻辑推断和汇聚:利用逻辑推理,把不太敏感的数据结合起来可以推断出敏感信息;
- 伪装:攻击者假冒用户身份获取数据库系统的访问权限;
- 旁路控制:在数据库设置后门;
- 隐蔽信道:利用非正常的通信途径传输数据以躲避数据库安全机制的控制;
- SQL注入攻击:输入未进行安全检查的漏洞;
- 数据库口令密码破解:利用口令字典或手动猜测数据库用户密码,撞库;
- 硬件及介质攻击:对数据库系统相关的设备和存储介质的物理攻击;
数据库安全隐患:
- 数据库用户账号和密码隐患:没有机制来限制用户必须选择健壮的密码,多数数据库系统有公开的默认账号和默认密码;
- 数据库系统扩展存储过程隐患:“扩展存储过程”成为数据库系统的后门;
- 数据库系统软件和应用程序漏洞;
- 数据库系统权限分配隐患;
- 数据库系统用户安全意识薄弱;
- 网络通信内容是明文传递:利用数据库和应用程序之间网络通信内容未经加密的漏洞;
- 数据库系统安全机制不健全;
数据库安全需求:安全目标是保护数据库系统的安全运行及数据资源的安全性,包括:
- 数据库标识与鉴别;
- 数据库访问控制;
- 数据库安全审计;
- 数据库备份与恢复;
- 数据库加密;
- 资源限制;
- 数据库安全加固;
- 数据库安全管理;
数据库加密:
- 数据库网上传输的数据,通常利用SSL协议;
- 数据库存储的数据,通过数据库存储加密;
加密组件与数据库管理系统的管理,数据库存储加密可以分成两种加密方式:库内加密和库外加密
数据库存储加密的常用技术方法:
- 基于文件的数据库加密技术:将数据库文件作为整体;
- 基于记录的数据库加密技术:每一个记录加密成密文;
- 基于字段的数据库加密技术:加密数据库的字段;
数据库防火墙的安全作用主要如下:
- 屏蔽直接访问数据库的通道;
- 增强认证;
- 攻击检测;
- 防止漏洞利用;
- 防止内部高危操作;
- 防止敏感数据泄露;
- 数据库安全审计;
2、数据库安全机制与实现技术
数据库脱敏:利用数据脱敏技术将数据库中的数据进行变换处理,保持数据按需使用目标的同时,又能避免敏感数据外泄。常见的脱敏技术方法:
- 屏蔽;
- 变形;
- 替换;
- 随机;
- 加密;
数据库漏洞扫描:对目标数据库的安全性尝试进行安全探测分析,收集数据库漏洞的详细信息;
3、Oracle数据库安全分析与防护
Oracle数据库提供如下安全机制:
- 用户认证:采用“用户名+口令”;网络认证支持第三方认证、PKI认证、远程认证;
- 访问控制:内部集成网络访问控制和数据对象授权控制;
- 保险库:通过建立数据库保险库(DV)机制,用于保护敏感数据;
- 安全审计和数据库防火墙:Oracle数据库可审计的活动:登录尝试、数据库活动和对象存取;Oracle数据防火墙支持白名单、黑名单和基于例外名单的策略;
- 高级安全功能:Oracle数据库提供透明数据加密和数据屏蔽机制;
4、MS SQL数据库安全分析与防护
MS SQL安全机制:
- 用户身份认证:支持Windows认证(默认)和混合认证;
- 访问控制:基于角色的访问控制机制;SQL Server的角色分为:固定服务器角色、固定数据库角色和应用角色;
- 数据库加密:透明加密密钥类型:服务主密钥、数据库主密钥、数据库密钥;
- 备份、恢复机制:支持静态备份和动态备份;恢复机制由三种模型:简单恢复、完全恢复和批量日志记录恢复;
- 安全审计;
5、MySQL数据库安全分析与防护
MySQL安全分析:
- 用户身份认证:用户名/口令认证方式;
- 访问授权;
- 安全审计;