灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2163回复:0

小谈一下数据库的安全理论

楼主#
更多 发布于:2011-11-13 13:10
先分3点从全局来看
对操作系统的平安需求:避免对DBMS的非法访问和修正,维护存储的数据、文件的平安性,对数据库用户的认证
对数据库系统自身的平安需求:用户认证管理、访问控制、审计,数据库的稳定性,保证数据的平安性与完好性,完善的恢复功用,数据加密
对数据库应用系统的平安需求:访问控制、认证管理,对数据库的维护避免非法访问和修正,本身的稳定性

举一个实例
SQL注入:应用现有应用程序,将(歹意)的SQL命令注入到后台数据库引擎执行的才能,这是SQL注入的规范释义。
所谓SQL注入式攻击,就是攻击者把SQL命令插入到web表单的输入域或页面恳求的查询字符串,诈骗效劳器执行歹意的SQL命令。在某些表单中,用户输入的内容直接用来结构(或者影响)动态SQL命令,或作为存储过程的输入参数,比方典型的攻击类型是在newsid变量后加后sql语句:exec xp_cmdshell ‘net user’
这样就执行了一个加用户的命令了。

Web应用程序访问数据库会形成特定的一些潜在平安问题。SQL注入攻击依然稳居黑客至爱兵器榜的首位,对那些想要维护数据平安的企业来说,这是个大费事。
据CVE的2006年度统计数据显现,SQL注入攻击破绽呈逐年上升的状态

如何做好数据库的平安工作
1.数据库根本平安架构
从广义上讲,数据库的平安首先依赖于网络系统。网络系统的平安是数据库平安的第一道屏障,外部入侵首先就是从入侵网络系统开端的。
处理计划:防火墙,入侵检测 IDS—Instrusion Detection System,协作式入侵检测技术,IPS:Intrusion Prevention System 入侵防御系统
关于宿主操作系统层次,操作系统平安战略用于配置本地计算机的平安设置,包括密码战略、账户锁定战略、审核战略、IP平安战略、用户权益指派、加密数据的恢复代理以及其它平安选项。
2 数据库用户及权限

减少特权管理,不要显式地将同一特权组受权给几个用户,只需将这特权组授给角色,然后将角色受权给每一用户。
动态特权管理,假如一组特权需求改动,只需修正角色的特权,一切授给该角色的全部用户的平安域将自动地反映对角色所作的修正。
特权的选择可用性,受权给用户的角色可选择地使其使能(可用)或使不能(不可用)。
应用可知性,当一用户经一用户名执行应用时,该数据库应用可查询字典,将自动地选择使角色使能或不能。
特地的应用平安性,角色运用可由口令维护,应用可提供正确的口令运用权角色使能,到达专用的应用平安性。因用户不知其口令,不能使角色使能。
3 数据库加密技术

库外加密
将数据库的文件作为加密对象,在库外加密方式中,加/解密过程发作在DBMS之外,DBMS管理的是密文。加/解密过程大多在客户端完成,也有的由特地的加密效劳器或硬件完成。
库内加密
加密对象为数据库中存储的数据,比方表、记载、元素、数据等。库内加密在DBMS内核层完成加密,加/解密过程对用户与应用透明,数据在物理存取之前完成加/解密工作。
硬件加密
在物理存储器与数据库系统之间的硬件加密安装,加密解密操作由硬件中间设备完成
4 数据库备份技术

数据库有三种规范的备份办法,它们分别为导出/导入(EXPORT/IMPORT)、冷备份、热备份。
     — 导入/导出备份:逻辑备份
     — 冷备份:物理备份
     — 热备份:物理备份
设定数据库备份方案,启动数据库归档形式,定期执行数据库备份,监控检查备份状况

5 数据库审计技术
审计是对选定的用户动作的监控和记载,通常用于:
检查可疑的活动。例如:数据被非受权用户所删除,此时平安管理员可决议对该 数据库的一切衔接停止审计,以及对数据库的一切表的胜利地或不胜利地删除停止审计。
监视和搜集关于指定数据库活动的数据。例如:DBA可搜集哪些被修正、执行了几次逻辑的I/O等统计数据。

数据库常见攻击与防护
1 破解弱口令或默许的用户名及口令
Oracle数据库常见缺省用户:SYS、SYSTEM、DBSNMP、SCOTT
数据库常见缺省用户:SA

2 特权提升
特权提升:歹意的用户占有超越其应该具有的系统特权
缘由:
数据库管理系统破绽
如:oracle 10g DBMS_Scheduler本地特权提升破绽:任何具有CREATE JOB权限可经过dbms_scheduler执行一个数据库作业而转换SESSION_USER到SYS,本地攻击者能够应用此破绽提升权限。
错误的配置:一个用户被错误地授与了超越其实践需求用来完成工作的、对数据库及其相关应用程序的访问和特权。
3 应用未用的数据库效劳和功用中的破绽

应用未用的和不需求的数据库效劳和功用中的破绽
应用未用的和不需求的数据库效劳和功用中的配置缺陷
4 针对未打补丁的数据库破绽

固然Oracle和其它的数据库厂商的确在为其破绽打补丁,问题是单位不能跟得上这些补丁,因而它们总是处于企图应用某种时机的足智多谋的攻击者控制之下。
5 SQL注入攻击及防护

破绽原理:在数据库应用的编程过程中,由于程序员没有对用户输入数据停止标准检查,招致攻击者可以经过结构歹意输入数据,操作数据库执行,以至能直接攻击操作系统
SQL Injection(SQL注入),就是应用某些数据库的外部应用把特定的数据命令插入到实践的数据库操作言语当中,从而到达入侵数据库乃至操作系统的目的。

处理计划:
从基本上防止呈现SQL Injection破绽,必需进步WEB程序员的平安认识和平安编程技艺来处理程序自身的破绽;
代码中必需对一切用户输入停止严厉的过滤,对单引号、双引号以及“--”等符号、非指定的数据类型及数据长度停止过滤;
用存储过程来执行一切的查询
限制表单或查询字符串输入的长度
检查用户输入的合法性,确信输入的内容只包含合法的数据
将用户登录称号、密码等数据加密保管
检查提取数据的查询所返回的记载数量  
合理设置数据库应用程序的权限;
对数据库系统停止必要的平安配置。



喜欢0 评分0
游客

返回顶部