eclipse网站开发实例,健展公司,网站制作 杭州,创办个人网站先分3点从全局来看 对操作系统的安全需求:防止对DBMS的非法访问和修改,保护存储的数据、文件的安全性,对数据库用户的认证 对数据库系统本身的安全需求:用户认证管理、访问控制、审计,数据库的稳定性,保证数据的安全性与完整性#xff0c;完善的恢复功能,数据加密 对数据库应用…先分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 InjectionSQL注入就是利用某些数据库的外部应用把特定的数据命令插入到实际的数据库操作语言当中从而达到入侵数据库乃至操作系统的目的。 解决方案 从根本上避免出现SQL Injection漏洞必须提高WEB程序员的安全意识和安全编程技能来解决程序本身的漏洞 代码中必须对所有用户输入进行严格的过滤对单引号、双引号以及“--”等符号、非指定的数据类型及数据长度进行过滤 用存储过程来执行所有的查询 限制表单或查询字符串输入的长度 检查用户输入的合法性确信输入的内容只包含合法的数据 将用户登录名称、密码等数据加密保存 检查提取数据的查询所返回的记录数量 合理设置数据库应用程序的权限 对数据库系统进行必要的安全配置。转载于:https://www.cnblogs.com/soundcode/archive/2012/09/14/2684854.html