软考-信息安全-数据库系统安全

20.1 数据库安全概况

  • 主要阐述数据库系统安全的概念,分析数据库的安全威胁和安全隐患,给出数据库常见的安全需求。
20.1.1 数据库安全概念
  • 国外主流数据库系统有MSSQL,MySQL,Oracle,DB2等。
  • 国产数据库系统主要有人大金仓,达梦等。
  • 数据库安全是指数据库的机密性,完整性,可用性能够得到保障。
  • 主要涉及到数据库管理安全,数据安全,数据库应用安全以及数据库运行安全。
20.1.2 数据库安全威胁
  • 1)授权的误用(Misuses of Authority)
    • 合法用户越权获得他们不应该获得的资源,窃取程序或存储介质,修改或破坏数据。
    • 授权用户将自身的访问特权不适当地授予其他用户,导致系统安全策略受到威胁,使用户数据泄露。
  • 2)逻辑推断和汇聚(Logical Inference and Aggregation)
    • 利用逻辑推理,把不太敏感的数据结合起来可以推断出敏感信息。
    • 进行逻辑推断也可能要用到某些数据库系统以外的知识。
    • 与逻辑推断紧密相关的是数据汇聚安全问题,即个别的数据项是不敏感的,但是当足够多的个别数据值收集在一起,就成为敏感的数据集。
  • 3)伪装(Masquerade)
    • 攻击者假冒用户身份获取数据库系统的访问权限。
  • 4)旁路控制(Bypassing Controls)
    • 在数据库设置后门,绕过数据库系统的安全访问控制机制。
  • 5)隐蔽信道(Covert Channels)
    • 通常储存在数据库中的数据经由合法的数据信道被取出。
    • 与正常的合法信道相反,隐蔽信道利用非正常的通信途径传输数据以躲避数据库安全机制的控制,如共享内存,临时文件。
  • 6)SQL注入攻击(SQL Injection)
    • 攻击者利用数据库应用程序的输入未进行安全检查的漏洞,欺骗数据库服务器执行恶意的SQL命令。
  • 7)数据库口令密码破解
    • 利用口令字典或手动猜测数据库用户密码,以达到非授权访问数据库系统的目的。
  • 8)硬件及介质攻击
    • 对数据库系统相关的设备和存储介质的物理攻击。
20.1.3 数据库安全隐患
  • 1.数据库用户账号和密码隐患
    • 数据库系统存在公开默认账户和默认密码。
  • 2.数据库系统扩展存储过程隐患
    • 提供“扩展存储过程”的服务目的是为了更好的管理数据库,但是这也造成了数据库系统被攻击者恶意利用,变成了攻击者的后门。
  • 3.数据库系统软件和应用程序漏洞
    • 软件程序漏洞造成数据安全机制或OS安全机制失效,攻击者可以获取远程访问权限。
    • 例如:针对微软的MS04-045,MS04-039等。
  • 4.数据库系统权限分配隐患
    • 数据库管理员分配给用户的权限过大,导致用户误删除数据库系统数据,或者泄露数据库敏感数据。
  • 5.数据库系统用户安全意识薄弱
    • 数据库系统用户选择弱口令或者口令保管不当都会给攻击者提供进入系统的机会。
  • 6.网络通信内容是明文传递
    • 利用数据库和应用程序之间网络通信内容未经加密的漏洞,网络窃听者窃取诸如应用程序特定数据或数据库登录凭据等敏感数据。
  • 7.数据库系统安全机制不健全
    • 数据库提供的安全机制不健全,导致安全策略无法实施。
    • 一些数据库不提供管理员账号重命名,登录时间限制,账号锁定。
20.1.4 数据库安全需求
  • 数据库系统的安全目标是保护数据库系统的安全运行数据资源的安全性。
  • 1.数据库标识与鉴别
    • 标识与鉴别用于数据库用户身份识别和认证,用户只有通过认证后才能对数据库对象进行操作。
  • 2.数据库访问控制
    • 对数据资源及系统操作进行访问授权及违规控制。
    • 数据库系统一般提供自主访问控制,强制访问控制,角色访问控制等多种访问控制模式。
  • 3.数据库安全审计
    • 数据库系统提供安全审计机制,按照审计安全策略,对相关的数据库操作进行记录,形成数据库审计文件。
    • 审计记录的主要信息包括审计的操作类型,执行操作的用户标识,操作的时间,客体对象等用户行为相关信息。
  • 4.数据库备份与恢复
    • 数据库系统具有数据库备份与恢复机制,当数据库系统出现故障时,可以实现对备份数据的还原以及利用数据库日志进行数据库恢复重建。
  • 5.数据库加密
    • 为阻止直接利用操作系统工具窃取或篡改数据库文件内容,数据库具有数据加密机制,能够对数据库中的敏感数据进行加密处理,并提供密钥管理服务。
    • 授权管理员无法对授权用户加密存储的数据进行正常解密,从而保证了用户数据的机密性。
    • 通过数据库加密,数据库的备份内容成为密文,从而能减少因备份介质失窃或丢失而造成的损失。
  • 6.资源限制
    • 防止授权用户无限制地使用数据库服务器处理器(CPU),共享缓存,数据库存储介质等数据库服务器资源,限制每个授权用户/授权管理员的并行会话数等功能。
    • 避免数据库系统遭受拒绝服务攻击。
  • 7.数据库安全加固
    • 对数据库系统进行安全漏洞检查和修补,防止安全漏洞引入数据库系统。
  • 8.数据库安全管理
    • 数据库系统提供安全集中管理机制,实现数据库的安全策略集中配置和管理。

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

  • 主要介绍数据库的安全机制以及相关实现技术,包括标识和鉴别,访问控制,安全审计,数据加密等
20.2.1 数据库安全机制
  • 数据库系统是一个复杂性高的基础性软件,其安全机制主要有标识和鉴别,访问控制,安全审计,备份与恢复,数据加密,资源限制,安全加固,安全管理等。
  • 标识与鉴别:用户属性定义、用户-主体绑定、鉴别失败处理、秘密验证、鉴别时机、多重鉴别机制设置
  • 访问控制:会话建立控制、系统权限设置、数据资源访问权限设置
  • 安全审计:审计数据产生、用户身份关联、安全审计查阅、限制审计查阅、可选审计查阅、选择审计事件
  • 备份与恢复:备份和恢复策略设置、备份数据导入导出
  • 数据加密:加密算法参数设置、密钥生成与管理、数据库加解密操作
  • 资源限制:持久存储空间分配最高配额、临时存储空间分配最高配额、特定事物持续使用时间或未使用时间限制
  • 安全加固:漏洞修补、弱口令限制
  • 安全管理:安全角色配置、安全功能管理
20.2.2 数据库加密
  • 是指对数据库存储或传输的数据进行加密处理,以密文形式存储或传输,防止数据泄密,保护敏感数据的安全性。
  • 数据库加密方式主要分为两种类型:
    • 1)数据库网上,传输的数据,通常利用SSL协议来实现。
    • 2)数据库存储的数据,通过数据库存储加密来实现。
20.2.3 数据库防火墙
  • 通过SQL协议分析,根据预定义的禁止和许可策略让合法的SQL操作通过,阻断非法违规操作,形成数据库的外围防御圈,实现SQL危险操作的主动预防,实时审计。
  • 数据库防火墙的安全作用主要有如下:
    • 1)屏蔽直接访问数据库的通道
    • 2)增强认证
    • 3)攻击检测
    • 4)防止漏洞利用
    • 5)防止内部高危操作
    • 6)防止敏感数据泄露
    • 7)数据库安全审计
20.2.4 数据库脱敏
  • 数据库脱敏是指利用数据脱敏技术将数据库中的数据进行变换处理,在保持数据按需使用目标的同时,又能避免敏感数据外泄。
  • 数据脱敏指按照脱敏规则对敏感数据进行的变换,去除,标识数据,数据实现匿名化处理,从而实现敏感数据的保护。
20.2.5 数据库漏洞扫码
  • 扫码模拟攻击者使用的漏洞发现技术,对目标数据库的安全性尝试进行安全探测分析,收集数据库漏洞的详细信息,分析数据库系统的不安全配置,检查有弱口令的数据库用户。

20.3 Oracle数据库安全分析与防护

20.3.1 Oracle概况
20.3.2 Oracle数据库安全分析
  • 1)用户认证
  • 2)访问控制
  • 3)保险库
  • 4)安全审计和数据库防火墙
  • 5)高级安全功能
    • 提供透明数据加密(Transparent Data Encryption)和数据屏蔽(Data Masking)
20.3.3 Oracle安全最佳实践
  • 1)增强Oracle数据库服务器的操作系统安全。
  • 2)最小化安装Oracle,删除不必要的组件
  • 3)安装最新的安全补丁
  • 4)删除或修改默认的用户名和密码
  • 5)启用认证机制
  • 6)设置好的口令密码策略
  • 7)设置最小化权限
  • 8)限制连接Oracle的IP地址
  • 9)传输加密
  • 10)启用Oracle审计
  • 11)定期查看Oracle漏洞发布信息,及时修补漏洞。
  • 12)实施Oracle灾备计划。
20.3.4 Oracle漏洞修补

20.4 MSSQL数据库安全分析与防护

20.4.1 MS SQL Server概况
20.4.2 MS SQL安全分析
  • 1)用户身份认证
  • 2)访问控制
  • 3)数据库加密
  • 4)备份,恢复机制
  • 5)安全审计
20.4.3 MS SQL Server安全最佳实践
  • 1.设置好的数据库密码安全策略
  • 2.加强扩展存储过程管理,删除不必要的存储过程
  • 3.网上数据加密传输
  • 4.修改数据库默认的TCP/IP端口号
  • 5.对SQL数据库访问的网络连接进行IP限制
  • 6.启用SQL Server日志审计,记录所有的用户访问和分析安全事件日志
  • 7.定期查看MS SQL Server漏洞发布信息,及时修补漏洞
  • 8.保证MS SQL Server的操作系统安全
  • 9.MS SQL Server安全检测,制定安全容灾备份计划
20.4.4 MS SQL Server漏洞修补

20.5 MySQL数据库安全分析与防护

20.5.1 MySQL概况
20.5.2 MySQL安全分析
  • 用户身份认证
  • 访问授权
  • 安全审计
20.5.3 MySQL安全最佳实践
  • 1.MySQL安装
    • 建立单独启动MySQL的用户和组,安装最新的MySQL软件包,选择合适的静态参数编译MySQL数据库。
  • 2.建立MySQL Chrooting运行环境
    • 形成“沙箱”保护机制,增强系统抗渗透能力。
  • 3.关闭MySQL的远程连接
    • 关闭MySQL的默认监听端口3306,避免增加MySQL的远程攻击风险。
    • MySQL本地程序可以通过mysql.sock来连接,不需要远程连接
    • MySQL备份通常使用SSH来执行
  • 4.禁止MySQL导入本地文件
    • 禁止MySQL中用“LOAD DATA LOCAL INFILE”命令
  • 5.修改MySQL的root用户ID和密码
  • 6.删除MySQL的默认用户和DB
    • 删除MySQL的默认数据库test,除了root用户外,其他用户的都去掉。
  • 7.更高MySQL的root用户名,防止口令暴力破解
  • 8.建立应用程序独立使用数据库和用户的账号
    • 建立应用程序所需要的所有数据库和账号,要求这些账号只能访问应用程序用到的数据库,限制访问MySQL数据库和任何系统。
    • 不能拥有如下特权,例如:FILE,GRANT,ACTER,SHOW DATABASE,RELOAD,SHUTDOWN,PROCESS,SUPER等。
  • 9.安全监测
    • 安全监控MySQL数据库运行,及时修补MySQL数据库漏洞。
  • 10.安全备份
    • 定期备份MySQL数据库系统及数据
20.5.4 MySQL漏洞修补

20.6 国产数据库安全分析与防护

20.6.1 国产数据库概况
  • 神州数据,人大金仓,达梦。
  • 参考标准《信息安全技术 数据库管理系统安全技术要求》(GB/T 20273-2019)
20.6.2 国产数据库安全分析
  • 1.国产数据库安全漏洞
  • 2.国产数据库依赖第三方系统组件的安全
  • 3.国产数据库系统安全配置的安全
  • 4.国产数据库支持平台的安全
20.6.3 国产数据库安全增强措施
  • 1.国产数据库安全漏洞挖掘及扫码
  • 2.国产数据库加密
  • 3.国产安全数据库
posted @   皇帽讲绿帽带法技巧  阅读(314)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示