




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库安全设计指南 当今人们对计算机网络的依赖程度不断增长,计算机网络在许多领域得到广泛应用。现今几乎所有机构都拥有自己的计算机网络,使信息和资源得以充分共享和利用。随着计算机网络的发展,众多问题也日趋显现。其中安全隐患问题日益突出,计算机网络与应用的安全成为各个组织机构在建设计算机系统时首要考虑因素。本文适用于产品设计人员和开发人员、安全评估人员师、架构设计人员等。 1. 为默认用户添加密码管理数据库安装之后的默认用户没有激活用户密码管理,需要修改相应用户或者角色的配置文件。【示例】使用ALTER USER PROFILE default修改配置文件。在SQLPLUS下执行如下语句可以更改默认配置文件的内容。ALTER PROFILE defaultLIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;PASSWORD_LIFE_TIME UNLIMITED;PASSWORD_REUSE_MAX 10PASSWORD_REUSE_TIME 30PASSWORD_LOCK_TIME 1PASSWORD_GRACE_TIME 7;其中FAILED_LOGIN_ATTEMPTS表示允许登录失败次数,PASSWORD_LIFE_TIME表示密码多少天过期,PASSWORD_REUSE_MAX表示密码重用次数,PASSWORD_REUSE_TIME表示多少天之后密码可以重使用,PASSWORD_LOCK_TIME表示密码锁住之后多少天自动解锁,PASSWORD_GRACE_TIME表示在密码多少天后快要过期前给出提示信息。对于LIMIT FAILED_LOGIN_ATTEMPTS和PASSWORD_LIFE_TIME有两种配置,一种是设置这两个值为unlimited,这样应用程序不需要再修改密码,一种是设置某一个具体的值,这样比较安装,但要增加维护工作量,因为需要定期修改密码。 Oracle安装之后默认用户包括:ANONYMOUS、APEX_PUBLIC_USER、BI、CTXSYS、DBSNMP、DIP、DMSYS、EXFSYS、FLOWS_03000、FLOWS_FILES、HR、IX、LBACSYS、MDDATA、MDSYS、MGMT_VIEW、OE、OLAPSYS、ORACLE_OCM、ORDPLUGINS、ORDSYS、OUTLN、OWBSYS、PM、SCOTT、SH、SI_INFORMTN_SCHEMA、SPATIAL_CSW_ADMIN_USR、SPATIAL_WFS_ADMIN_USR、SYS、SYSMAN、SYSTEM、TSMSYS、WK_TEST、WKPROXY、WKSYS、WMSYS、XDB、XS$NULL2. 修改Sys密码和System密码SYS为数据库最高权限用户,System是有默认DBA权限的用户。SYS和SYSTEM也是带有默认密码的默认用户,由于它们的敏感性所以最好显式修改密码【示例】周期性地显式修改密码为强健的密码,如一个月修改一次,参考如何审核弱密码一条。要修改密码,可以在SQLPLUS中执行如下语句:SQL alter user sys identified by ;3. 回收PUBLIC组对视图ALL_USERS的查询权限ALL_USERS等以ALL_开头的视图是一个像DBA_USERS一样的视图,它可以给任何人使用,因为PUBLIC组对它有查询权限。这个视图可以显示用户名,而用户名是在密码加密算法中是对密码加密的种子。【示例】在SQLPLUS中执行下列语句:SQL revoke select on all_users from public;收回权限后还应该对低权限用户进行测试以确保他们的确不能查看用户名,这是因为权限可能从另一个路径继承下来。【说明】 all_users视图包括的字段如下:SQL desc dba_users Name Null? Type- - - USERNAME NOT NULL VARCHAR2(30) USER_ID NOT NULL NUMBER PASSWORD VARCHAR2(30) ACCOUNT_STATUS NOT NULL VARCHAR2(32) LOCK_DATE DATE EXPIRY_DATE DATE DEFAULT_TABLESPACE NOT NULL VARCHAR2(30) TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30) CREATED NOT NULL DATE PROFILE NOT NULL VARCHAR2(30) INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30) EXTERNAL_NAME VARCHAR2(4000) PASSWORD_VERSIONS VARCHAR2(8) EDITIONS_ENABLED VARCHAR2(1)4. 检查非DBA用户对涉及用户角色权限的视图的访问以DBA开头的视图只应该被DBA用户访问,回收非DBA用户对它们的访问权限,另外还有几个视图记录有用户角色权限的视图也不应被非DBA访问。DBA_ROLES,DBA_SYS_PRIVS,DBA_ROLE_PRIVS, DBA_USERS, ROLE_ROLE_PRIVS, USER_TAB_PRIVS, USER_ROLE_PRIVS【示例】在SQLPLUS下执行如下语句:SQL select grantee,privilege,table_name from user_tab_privs where table_name in (DBA_ROLES,DBA_SYS_PRIVS,DBA_ROLE_PRIVS, DBA_USERS, ROLE_ROLE_PRIVS, USER_TAB_PRIVS, USER_ROLE_PRIVS);测试结果如下:PUBLIC SELECT ROLE_ROLE_PRIVSPUBLIC SELECT USER_ROLE_PRIVSPUBLIC SELECT USER_TAB_PRIVSSELECT_CATALOG_ROLE SELECT DBA_ROLESSELECT_CATALOG_ROLE SELECT DBA_ROLE_PRIVSSELECT_CATALOG_ROLE SELECT DBA_SYS_PRIVSSELECT_CATALOG_ROLE SELECT DBA_USERSCTXSYS SELECT DBA_ROLESCTXSYS SELECT DBA_ROLE_PRIVSCTXSYS SELECT DBA_SYS_PRIVSCTXSYS SELECT DBA_USERSWKSYS SELECT DBA_ROLE_PRIVS针对上面查询的结果中显示有非DBA用户对这些表有访问权限,则根据执行一系列的sql语句来回收权限,示例如下SQL revoke select on 视图名 from 用户(角色)名;如针对第一行,则执行:SQL revoke select on role_role_privs from public;5. 检查被授予DBA角色的用户DBA权限很大所以不应该被广泛使用,检查拥有它的用户【示例】在SQLPLUS中执行下列语句:SQL select grantee from dba_role_privs where granted_role=DBA;对于不应该授予此角色的用户回收,使用下列语句收回角色授予:SQL revoke dba from ;6. 回收用户所有包含ANY关键词的权限避免使用ANY权限因为它并不必需,可以为用户分配对特定对象的访问权限。【示例】select grantee,privilege from dba_sys_privs where privilege like %ANY%;然后执行权限回收语句:revoke privilege from grantee;其中的privilege和grantee是从上面语句的执行结果中得出的。7. 回收不必要的CREATE LIBRARY和CREATE PROCEDURE权限授予“CREATE LIBRARY”权限可以被用来访问操作系统或者用来提升权限,如可以用C语言写一个访问操作系统资源的dll或so文件,create library可以调用这些dll或so文件。如果不是特别需要应该避免授予此权限【示例】select grantee,privilege from dba_sys_privs where privilege=CREATE LIBRARY;select grantee,privilege from dba_sys_privs where privilege=CREATE PROCEDURE;回收非DBA用户拥有的CREATE LIBRARY权限和CREATE PROCEDURE权限。8. 回收应用程序用户的RESOURCE角色RESOURCE角色有UNLIMITED TABLESPACE这样不必要的权限,这有可能导致DOS攻击,就算显式为已经授予RESOURCE角色的用户分配空间限额也不起作用,因为UNLIMITED TABLESPACE会覆盖这些【描述】。【示例】点击查看每个用户所授予的角色,回收所有已经授予RESOURCE角色的应用程序用户的RESOURCE角色。9. 为每个用户分配合适的表空间限额为了防止用户占用过多空间而可能有意无意地导致DOS攻击,应该为每个用户设置空间限额以限制表大小。【示例】 下面这个语句可以检查没有设置空间限额的用户:(select name from sys.user$) minus (select username from dba_ts_quotas);为这些用户设置空间限额,使用如下命令可以修改用户空间限额:alter user quota on ;10. 在数据库中封装PL/SQL代码封装可以对程序包的源代码编码。特别是当源代码包含私有代码时更应该进行封装。进行封装的一个好的理由是我们可以隐藏源代码。【示例】在操作系统中使用如下命令行:wrap iname=infile oname=outfile;11.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国家民委直属事业单位招聘48人考前自测高频考点模拟试题及答案详解(新)
- 2025江苏苏州工业园区天域幼儿园教学辅助人员招聘1人模拟试卷及答案详解(必刷)
- 2025赤峰市中心医院招聘8控制数人员模拟试卷及1套参考答案详解
- 2025年杭州市上城区小营街道办事处编外招聘1人模拟试卷附答案详解(考试直接用)
- 2025年儿童传统康复试题及答案
- 书院活动策划方案
- 谈纪律和稳定演讲稿
- 2025年陕西大秦电能集团有限公司检修分公司招聘(1人)模拟试卷带答案详解
- 教师总结发言稿
- 土地估价实务题库及答案
- 技术专家管理制度
- 2025年云南交投集团校园招聘管理人员86人笔试参考题库附带答案详解
- 黑龙江省哈尔滨市第九中学校2024-2025学年高二上学期11月期中考试生物试卷(有答案)
- 2025年小学语文一年级第一学期期中测试试卷
- 2025年6月上海市高考语文试题卷(含答案)
- (2025年标准)篮球免责协议书
- 码头突发事件培训
- 2024年湖南省龙山县卫生系统招聘考试(护理学专业知识)题含答案
- 热点地区物种多样性保护-洞察及研究
- 2025菏投热电(巨野)有限公司面向市属企业(内部)选聘运维人员60人笔试参考题库附带答案详解(10套)
- 黑龙江介绍课件
评论
0/150
提交评论