数据库安全性问题一直是围绕着数据库管理员的恶梦 数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫不堪 本文围绕数据库的安全性问题提出了一些安全性策略 希望对数据库管理员有所帮助 不再夜夜恶梦 数据库安全性问题应包括两个部分 一 数据库数据的安全它应能确保当数据库系统DownTime时 当数据库数据存储媒体被破坏时以及当数据库用户误 *** 作时 数据库数据信息不至于丢失 二 数据库系统不被非法用户侵入它应尽可能地堵住潜在的各种漏洞 防止非法用户利用它们侵入数据库系统 对于数据库数据的安全问题 数据库管理员可以参考有关系统双机热备份功能以及数据库的备份和恢复的资料 以下就数据库系统不被非法用户侵入这个问题作进一步的阐述 组和安全性在 *** 作系统下建立用户组也是保证数据库安全性的一种有效方法 Oracle程序为了安全性目的一般分为两类 一类所有的用户都可执行 另一类只DBA可执行 在Unix环境下组设置的配置文件是/etc/group 关于这个文件如何配置 请参阅Unix的有关手册 以下是保证安全性的几种方法 ( ) 在安装Oracle Server前 创建数据库管理员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组 DBA能执行的程序只有 权限 在安装过程中SQLDBA系统权限命令被自动分配给DBA组 ( ) 允许一部分Unix用户有限制地访问Oracle服务器系统 增加一个由授权用户组成的Oracle组 确保给Oracle服务器实用例程Oracle组ID 公用的可执行程序 比如SQLPlus SQLForms等 应该可被这组执行 然后该这个实用例程的权限为 它将允许同组的用户执行 而其他用户不能 ( ) 改那些不会影响数据库安全性的程序的权限为 注 在我们的系统中为了安装和调试的方便 Oracle数据库中的两个具有DBA权限的用户Sys和System的缺省密码是manager 为了您数据库系统的安全 我们强烈建议您该掉这两个用户的密码 具体 *** 作如下 在SQLDBA下键入 alter user sys indentified by password;alter user system indentified by password;其中password为您为用户设置的密码 Oracle服务器实用例程的安全性以下是保护Oracle服务器不被非法用户使用的几条建议 ( ) 确保$ORACLE_HOME/bin目录下的所有程序的拥有权归Oracle软件拥有者所有 ( ) 给所有用户实用便程(sqiplus sqiforms exp imp等) 权限 使服务器上所有的用户都可访问Oracle服务器 ( ) 给所有的DBA实用例程(比如SQLDBA) 权限 Oracle服务器和Unix组当访问本地的服务器时 您可以通过在 *** 作系统下把Oracle服务器的角色映射到Unix的组的方式来使用Unix管理服务器的安全性 这种方法适应于本地访问 在Unix中指定Oracle服务器角色的格式如下 ora_sid_role[_dla]其中sid 是您Oracle数据库的oracle_sid role是Oracle服务器中角色的名字 d(可选)表示这个角色是缺省值 a(可选)表示这个角色带有WITH ADMIN选项 您只可以把这个角色 授予其他角色 不能是其他用户 以下是在/etc/group文件中设置的例子 ora_test_osoper_d:NONE: :jim narry scottora_test_osdba_a:NONE: :patora_test_role :NONE: :bob jane tom mary jimbin:NONE: :root oracle dbaroot:NONE: :root词组 ora_test_osoper_d 表示组的名字 词组 NONE 表示这个组的密码 数字 表示这个组的ID 接下来的是这个组的成员 前两行是Oracle服务器角色的例子 使用test作为sid osoper和osdba作为Oracle服务器角色的名字 osoper是分配给用户的缺省角色 osdba带有WITH ADMIN选项 为了使这些数据库角色起作用 您必须shutdown您的数据库系统 设置Oracle数据库参数文件initORACLE_SID ora中os_roles参数为True 然后重新启动您的数据库 如果您想让这些角色有connect internal权限 运行orapwd为这些角色设置密码 当您尝试connect internal时 您键入的密码表示了角色所对应的权限 SQLDBA命令的安全性如果您没有SQLPLUS应用程序 您也可以使用SQLDBA作SQL查权限相关的命令只能分配给Oracle软件拥有者和DBA组的用户 因为这些命令被授予了特殊的系统权限 ( ) startup( ) shutdown( ) connect internal数据库文件的安全性Oracle软件的拥有者应该这些数据库文件($ORACLE_HOME/dbs/ dbf)设置这些文件的使用权限为 文件的拥有者可读可写 同组的和其他组的用户没有写的权限 Oracle软件的拥有者应该拥有包含数据库文件的目录 为了增加安全性 建议收回同组和其他组用户对这些文件的可读权限 网络安全性当处理网络安全性时 以下是额外要考虑的几个问题 ( ) 在网络上使用密码在网上的远端用户可以通过加密或不加密方式键入密码 当您用不加密方式键入密码时 您的密码很有可能被非法用户截获 导致破坏了系统的安全性 ( ) 网络上的DBA权限控制您可以通过下列两种方式对网络上的DBA权限进行控制 A 设置成拒绝远程DBA访问 B 通过orapwd给DBA设置特殊的密码 建立安全性策略系统安全性策略( ) 管理数据库用户数据库用户是访问Oracle数据库信息的途径 因此 应该很好地维护管理数据库用户的安全性 按照数据库系统的大小和管理数据库用户所需的工作量 数据库安全性管理者可能只是拥有create alter 或drop数据库用户的一个特殊用户 或者是拥有这些权限的一组用户 应注意的是 只有那些值得信任的个人才应该有管理数据库用户的权限 ( ) 用户身份确认数据库用户可以通过 *** 作系统 网络服务 或数据库进行身份确认 通过主机 *** 作系统进行用户身份认证的优点有 A 用户能更快 更方便地联入数据库 B 通过 *** 作系统对用户身份确认进行集中控制 如果 *** 作系统与数据库用户信息一致 那么Oracle无须存储和管理用户名以及密码 C 用户进入数据库和 *** 作系统审计信息一致 ( ) *** 作系统安全性A 数据库管理员必须有create和delete文件的 *** 作系统权限 B 一般数据库用户不应该有create或delete与数据库相关文件的 *** 作系统权限 C 如果 *** 作系统能为数据库用户分配角色 那么安全性管理者必须有修改 *** 作系统帐户安全性区域的 *** 作系统权限 数据的安全性策略数据的生考虑应基于数据的重要性 如果数据不是很重要 那么数据的安全性策略可以稍稍放松一些 然而 如果数据很重要 那么应该有一谨慎的安全性策略 用它来维护对数据对象访问的有效控制 用户安全性策略( ) 一般用户的安全性A 密码的安全性如果用户是通过数据库进行用户身份的确认 那么建议使用密码加密的方式与数据库进行连接 这种方式的设置方法如下 在客户端的oracle ini文件中设置ora_encrypt_login数为true 在服务器端的initORACLE_SID ora文件中设置dbling_encypt_login参数为true B 权限管理对于那些用户很多 应用程序和数据对象很丰富的数据库 应充分利用 角色 这个机制所带的方便性对权限进行有效管理 对于复杂的系统环境 角色 能大大地简化权限的管理 ( ) 终端用户的安全性您必须针对终端用户制定安全性策略 例如 对于一个有很多用户的大规模数据库 安全性管理者可以决定用户组分类 为这些用户组创建用户角色 把所需的权限和应用程序角色授予每一个用户角色 以及为用户分配相应的用户角色 当处理特殊的应用要求时 安全性管理者也必须明确地把一些特定的权限要求授予给用户 您可以使用 角色 对终端用户进行权限管理 数据库管理者安全性策略( ) 保护作为sys和system用户的连接当数据库创建好以后 立即更改有管理权限的sys和system用户的密码 防止非法用户访问数据库 当作为sys和system用户连入数据库后 用户有强大的权限用各种方式对数据库进行改动 改动sys和system用户的密码的方法 可参看前面的相关部分 ( ) 保护管理者与数据库的连接应该只有数据库管理者能用管理权限连入数据库 当以sysdba或startup shutdown 和recover或数据库对象(例如create drop 和delete等)进行没有任何限制的 *** 作 ( ) 使用角色对管理者权限进行管理应用程序开发者的安全性策略( ) 应用程序开发者和他们的权限数据库应用程序开发者是唯一一类需要特殊权限组完成自己工作的数据库用户 开发者需要诸如create table create procedure等系统权限 然而 为了限制开发者对数据库的 *** 作 只应该把一些特定的系统权限授予开发者 ( ) 应用程序开发者的环境A 程序开发者不应与终端用户竞争数据库资源 B 用程序开发者不能损害数据库其他应用产品 ( ) free和controlled应用程序开发应用程序开发者有一下两种权限 A free development应用程序开发者允许创建新的模式对象 包括table index procedure package等 它允许应用程序开发者开发独立于其他对象的应用程序 B controlled development应用程序开发者不允许创建新的模式对象 所有需要table indes procedure等都由数据库管理者创建 它保证了数据库管理者能完全控制数据空间的使用以及访问数据库信息的途径 但有时应用程序开发者也需这两种权限的混和 ( ) 应用程序开发者的角色和权限 lishixinzhi/Article/program/Oracle/201311/16746
浪擎科技A系AppMirror双活容灾和D系DataBackup实时备份产品线是独立研发,具备完全自主知识产权的容灾备份拳头产品,专注于为客户核心业务和数据库提供全生态,全栈式的容灾保护。现已为政府、军工、医疗及企业等客户提供数例容灾备份解决方案,为其灾备建设保驾护航!未来,浪擎会不遗余力,稳步而有序的提供更优质的产品和服务。
1)AppMirror双活容灾
AppMirror是应用于金融、证券、公安、医疗、交通等行业,面向关键业务系统数据库的实时容灾产品,保障业务连续运行。针对覆盖面大、并发访问量多、数据价值高、宕机影响广和对实时性要求严格的业务进行保护。零数据丢失、零停机部署和恢复,实现秒级接管,是值得用户信赖的最佳容灾保障。
主要功能
1)追逐式全量复制
在第一次部署时,且在不停止生产业务的要求下,自动的将生产端业务系统的存量数据和活动数据全部复制到备用端的数据库。
2)实时增量复制
在生产系统正常工作期间,实时的将业务数据复制到容灾端的备用系统。
复制数据库的一切变化,自适应业务调整;容灾数据库处于可读可查询状态;用户随时校验容灾数据库数据的可靠性。
3)CDP数据容错功能将数据库恢复到符合要求的某一历史状态。容灾端容错进程采用循环写机制一一保存生产端传输来的数据。当需要容错时,容错代理接收用户选定的恢复时间或事务条件,容错进程将符合条件的一段日志数据恢复到容错数据库。4)故障切换当生产端发生故障时,可手动或自动切换至容灾端备用系统。浪擎科技是一家大型的容灾产品和解决方案供应商,产品种类很多。做业务容灾切换时,浪擎的Y系Mcenter产品可以提供监控、报警、切换、回切等功能,可提供完整的业务容灾解决方案。
5)构建生产、查询相分离的业务应用容灾端备用数据库可以用来实现查询统计功能,分流生产数据库的性能压力。如,极其消耗性能的报表统计就可部署在备用数据库上。6)支持主流的数据平台支持Hadoop的HDFS存储模块及HBASE和HIVE存储系统,以及Kafka分布式系统。2)DataBackup实时备份
浪擎D系CDP实时备份对业务系统进行定时、实时在线备份,持续保护业务系统的数据。当业务系统的生产数据发生丢失时,可以实现任意版本、任意时间的数据恢复、达到RTO、RPO趋于零的保护。
农业银行总行 年以来正式推广了新版网络版综合业务统计信息系统 该系统是基于WindowsNT 平台 采用客户/服务器模式 以Microsoft SQL Server为基础建立起来的大型数据库应用程序 系统界面友好 *** 作简便 计算 分析 检索功能非常强大 为保证农业银行系统及时进行纵向和横向业务数据采集 按照不同要求生成统计报表 进行全面业务活动分析提供了强有力的保障 但在这套程序的推广 维护中笔者发现系统有时运行速度较慢 特别是在Win 客户端 *** 作时尤为严重 经过排除网线连接等硬件可能带来的影响后上述问题仍然存在 笔者经过仔细摸索 发现系统对硬 软件的要求较高 为充分发挥设计效能 达到最佳运作效果 需要对计算机硬 软件系统进行较为完备的性能测试与最佳配置 特别是内存配置的好坏对系统的运行速度具有决定性的作用 下面 笔者就如何优化SQLServer数据库服务器的内存配置提出一些认识和看法 一 有关内存的基本概念 物理内存与虚拟内存WindowsNT使用两类内存 物理内存与虚拟内存 物理内存 作为RAM芯片安装在计算机内部的存储器 虚拟内存 用于模拟RAM芯片功能的磁盘(硬盘)空间 其实质是通过将内存中当前没有使用的部分内容临时存储到磁盘上 使系统可以使用到比机器物理内存更多的内存 分页和分页文件WindowsNT系统通过使用磁盘空间使得对内存的需求得到部分缓解 从而使用到比物理内存更多内存的技术就称为 交换 或分页 也就是通常所说的虚拟内存技术 通常Windows NT 系统安装时将在引导驱动器上设置一个大小为 MB的交换(分页)文件(pagefile sys) 二 优化Windows NT 系统内存配置在大多数情况下 为了充分发挥Windows NT 系统效能 内存的作用比起处理器的处理能力更具有影响力 特别是在客户/服务器模式环境下更是如此 因为通常在这种环境下并不十分强调处理器的能力 相反却十分注重是否采用足够的内存来满足各个客户的应用需要 此外 为了获得容错功能和保护应用程序 保证应用程序高速运行 充分发挥设计功能都需要有足够多的内存 特别是工业绘图设计和各种工程应用程序更需要占用大量的内存来进行复杂的计算 物理内存(RAM)方便快速的优点显而易见 但由于其价格昂贵 也就不可能做到多多益善了 因此通过合理优化内存配置 扩充虚拟内存提高计算机运算速度也就成了一项很重要的应用技术手段 保证Windows NT系统基本内存需求Windows NT 系统至小应配置 MB内存 MB内存基本够用 正常情况下保证NT系统有 MB内存就可以了 因为并不是所有的 MB基本内存在任何时候都被同时使用 如果添加一些服务和应用程序 则对内存的需求就会急剧增大 如 ( )添加网络服务需要 MB内存空间 ( )容错功能和系统保护功能需要 MB内存(如磁盘镜像和分条功能) ( )进行图形图象处理需要增加 MB内存空间 ( )安装VC VB开发系统需要增加 MB内存空间 另外 如在Windows NT上构建大型数据库如SYBASE Microsoft SQL Server等 对内存的需求就更多了 优化内存性能为了使WindowsNT不至于过分占用较多的内存或者浪费处理器的时间用于换页 可以采用以下方法优化内存性能 ( )减少显示颜色的数量 ( )降低显示分辨率 ( )尽可能不使用或使用位宽度较小的墙纸 ( )关闭不需要的服务程序或驱动程序 尽量不要在服务器上使用其它应用程序 停用服务或驱动程序的 *** 作步骤如下 ①确定需要停用的服务或驱动程序的名称 ②从 控制面板 中双击 服务 或 设备 图标 ③在列表中选择想要停用的服务或设备驱动程序的名称 单击 停止 按钮 这时出现确认 *** 作对话框 ④选择 是 确认 *** 作 然后关闭对话框完成设置 优化虚拟内存在对Windows NT虚拟内存进行设置时需要合理确定各个驱动器分页文件的 起始大小 和 最大值 两个参数 它们用于指定分页文件的起始空间和最大空间 下面对这两个参数作一些解释 起始大小 指初始创建该分页文件时的文件大小 单位为MB 根据缺省设置 这个值被设置为系统中的物理内存的大小 最大值 指出该分页文件的最大尺寸 单位为MB ( )分页文件的设置原则 ①分页文件起始大小应保留缺省设置 一般情况下请不要改动 ②分页文件理想的最大尺寸为系统物理内存尺寸的 倍至 倍 需要说明的是 如果系统工作时不需要大量内存 请选择靠近下限的值 即用系统物理内存的 倍作为这个尺寸的起始值 如果系统工作时需要大量内存 请选择靠近上限的值 ( )Windows NT虚拟内存设置步骤 ①从 控制面板 中双击 系统 图标 ②在 系统特性 对话框中单击 性能 标签 ③在虚拟内存对话框中单击 更改 按钮 这时出现 虚拟内存 对话框 上端的驱动器框逐一列出了 Windows NT所有页面文件的大小 ④在驱动器列表中 选择需要设置分页文件的驱动器盘符 在 驱动器页面文件大小 对话框中列出了 起始大小 和 最大值 两个参数栏 填入按照上面的原则确定的数值 ⑤单击 设置 确认以上 *** 作 然后依次单击 确定 按钮退出各个对话框 完成设置 ( )Win / 虚拟内存设置 Win / 虚拟内存设置方法 步骤和原则与Windows NT 的设置大致相同 请参照上面Windows NT的设置 注意事项( )合理确定分页文件的最大值 根据系统需求随时进行调整 使用过多虚拟内存将导致整个系统处理性能的下降 设置虚拟内存最大值的目的是使用户不必在WindowsNT的交换文件上消耗过多的磁盘空间 通常情况下如果超过了系统需要的最佳值后 生成交换文件的磁盘空间就被浪费了 ( )尽可能设立专用硬盘配置内存交换区 或将交换空间放到主硬盘的另一个分区 同时应将主硬盘的交换文件大小降至 MB 这样主硬盘(分区)仅用来放置 *** 作系统和应用程序 就可以减少交换次数 防止频繁交换耗费大量 CPU时间 ( )虚拟内存技术的确改善了Windows NT系统的性能 但也受到机器硬盘空间大小 硬盘速度 处理器 (CPU)速度的影响 从理想角度出发 要提高计算机的性能就必须减少交换 *** 作的次数 但是没有一个WindowsNT计算机不发生交换 这就要求计算机要有足够的物理内存 以保持最少的交换 *** 作 三 优化Microsoft SQL Server数据库内存配置内存是影响Microsoft SQL Server系统性能的一个重要因素 SQL Server数据库安装时将为具有 MB物理内存的机器缺省配置 MB可用内存 MB物理内存的机器缺省配置 MB可用内存 应在Microsoft SQL Server数据库安装后进行内存选项(Memory)设置 最大配置值为 GB 为了确定SQL Server系统最适宜的内存需求 可以从总的物理内存中减去Windows NT 需要的内存以及其它一些内存需求后综合确定 理想的情况是给SQL Server分配尽可能多的内存 而不产生页面调度 根据物理内存合理规划SQL Server可用内存在大多数的生产环境中 服务器配备的物理内存是 MB~ MB 偶尔也有 MB的 只要配置恰当是完全可以满足SQL Server的内存需求的 下表是笔者关于SQL Server内存分配的建议规划 供参考 物理内存 分配给SQL Server 设置值(单位 KB) MB MB MB MB MB ~ MB ~ MB ~ MB ~ MB ~ MB ~ MB ~ MB ~ MB ~ MB ~ MB ~ MB ~ 以下是SQL Server内存选项(Memory)设置方法( )从Microsoft SQL Server程序集中启动SQL Enterprise Manager ( )从Server Manager窗口中选择 Server 菜单选项 ( )在 Server 菜单中选择 Configurations 选项 ( )在 Server Configuration 对话框中选择 Configuration 标签 Configuration窗口显示配置选项列表 ( )选中 Memory 项目 在 Current 栏填入新值 ( )停止并重新启动SQLServer服务 使设置生效 合理扩充虚拟内存 增大SQL Server可用内存当SQL Server系统确实需要扩大可用内存时 应在磁盘空间充足的情况下扩充供虚拟内存 并相应增大 SQL Server可用内存 具体做法是 系统管理员首先扩充服务器的虚拟内存 然后再参考上表增大SQL Server可用内存 关键是要根据系统的负载情况综合决定是否扩充内存 优化配置 使用tempinRAMSQL Server使用tempdb临时数据库作为一些查询连接 *** 作时排序或创建临时表的工作空间 将tempdb创建在RAM中可以使系统 *** 作性能有较大提高 而且因为tempdb在每次重启动服务器时都重建 这样即使有非正常的关闭也是较为安全的 例如停电故障 要将tempdb创建在RAM中 可以使用sp_configure进行设置 具体用法请参阅有关资料 由于tempdbinRAM使用的内存是由系统从内存体单独分配的 与SQL Server的内存选项设置的可用内存池是分开的 使用tempdbin RAM将减少整个系统的可用内存 应根据SQL Server和服务器运行情况进行配置 否则就可能适得其反 影响系统性能 另外 适当增加tempdb数据库空间 即使不使用temp lishixinzhi/Article/program/SQLServer/201311/22052
以上就是关于ORACLE入门之数据库安全策略全部的内容,包括:ORACLE入门之数据库安全策略、怎样建立完善的企业数据备份策略、浅谈优化SQLServer数据库服务器内存配置的策略等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)