资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
附件四:Oracle数据库系统安全配置本标准适用于Unix/Linux操作系统下的Oracle数据库系统,版本为8i、9i、10g。1 安全补丁的更新加固目的及时更新数据库的安全补丁,减少数据库系统可能受到的攻击。加固方法查看http:/metalink.oracle.com,下载并安装相关的安全补丁。参考Oracle厂商建议,仅对已发现的特定漏洞或缺陷安装相应补丁。2 $ORACLE_HOME/bin目录权限保护加固目的确保对$ORACLE_HOME/bin目录的访问权限尽可能少加固方法运行命令:chown R oracle:dba $ORACLE_HOME/bin验证:ls l $ORACLE_HOME/bin 确保该目录下的文件属主为oracle用户,且其他用户没有写权限。3 Oracle 数据字典的保护加固目的设置保护后,可防止其他用户(具有ANY system privileges)使用数据字典时,具有相同的ANY权限。加固方法使用文本方式,打开数据库配置文件init.ora;更改以下参数O7_DICTIONARY_ACCESSIBILITY。1Oracle 9i、10g:缺省值是False2Oracle 8i:缺省值是True,需要改成False3如果用户必须需要该权限,赋予其权限SELECT ANY DICTIONARY验证:SQL show parameter O7_DICTIONARY_ACCESSIBILITYNAME TYPE VALUE- - -O7_DICTIONARY_ACCESSIBILITY boolean FALSE4 加强访问控制加固目的设置正确识别客户端用户,并限制操作系统用户数量(包括管理员权限、root权限、普通用户权限等)加固方法1 使用文本方式,打开数据库配置文件init.ora;设置参数REMOTE_OS_AUTHENT值为FALSE (SAP 系统不可设置为False)2 在数据库的账户管理中删除不必要的操作系统账号设置(需重启数据库):alter system set remote_os_authent=false scope=spfile;验证:SQL show parameter remote_os_authentNAME TYPE VALUE- - -remote_os_authent boolean FALSE5 监听程序的管理加固目的通过设置listener.ora文件中的参数ADMIN_RESTRICTIONS_listener_name来防止远程对监听程序的非授权管理。加固方法在listener.ora文件中,设置ADMIN_RESTRICTIONS_(listener_name)=ON。LISTENER加访问密码:(only 9i)$ORACLE_HOME/network/admin/listener.oraPASSWORDS_LISTENER =10g : (监听默认为本地操作系统帐号认证,即禁止远程管理)验证:Lsnrctl status,查看输出Security ON: Local OS Authentication6 关闭Extproc功能加固目的由于extproc存在安全问题允许用户不进行身份认证就可以调用系统函数,因此,如果不需要该功能必须关闭。加固方法修改TNSNAMES.ORA和LISTENER.ORA文件,删除以下条目:l icache_extprocl PLSExtprocl Extproctnsnames.ora :#EXTPROC_CONNECTION_DATA =# (DESCRIPTION =# (ADDRESS_LIST =# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)# )# (CONNECT_DATA =# (SID = PLSExtProc)# (PRESENTATION = RO)# )# )listener.ora :# (SID_DESC =# (SID_NAME = PLSExtProc)# (ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)# (PROGRAM = extproc)# )# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)7 密码文件管理加固目的配置密码文件的使用方式加固方法使用文本方式,打开数据库配置文件init.ora;设置参数REMOTE_LOGIN_PASSWORD_FILE=NONE.( 只能使用OS)None: 使得oracle不使用密码文件,只能使用OS认证,不允许通过不安全网络进行远程管理。Exclusive: 可以使用唯一的密码文件,但只限一个数据库。密码文件中可以包括除了sys用户的其他用户。Shared: 可以在多个数据库上使用共享的密码文件。但是密码文件中只能包含sys用户。设置:(需重启数据库)alter system set remote_login_passwordfile=none scope=spfile;验证:SQL show parameter remote_login_passwordfileNAME TYPE VALUE- - -remote_login_passwordfile string NONE8 用户账号管理加固目的为了安全考虑,应用锁定Oracle当中不需要的用户;或改变缺省用户的密码。加固方法锁定不需要的用户,使用SQL语句:ALTER USER user PASSWORD EXPIRE;注意锁定MGMT_VIEW、DBSNMP、SYSMAN帐号或修改密码。(如果要使用DBConsole ,DBSNMP 、SYSMAN不能锁定,请修改密码)DIP、EXFSYS、OUTLN、TSMSYS、WMSYS默认已锁定,请验证。9 最小权限使用规则加固目的1 应该只提供最小权限给用户(包括SYSTEM和OBJECT权限)2 从PUBLIC组中撤回不必要的权限或角色。(如:UTL_SMTP、UTL_TCP、UTL_HTTP、UTL_FILE、DBMS_RANDON、DBMS_SQL、DBMS_SYS_SQL、DBMS_BACKUP_RESTORE)加固方法撤销不需要的权限和角色,使用SQL语句REVOKE EXECUTE ON SYS.UTL_HTTP FROM PUBLIC;REVOKE EXECUTE ON SYS.UTL_FILE FROM PUBLIC;REVOKE EXECUTE ON SYS.UTL_SMTP FROM PUBLIC;REVOKE SELECT ON ALL_USERS FROM PUBLIC;验证:OEM管理器中,安全性-用户-PUBLIC-已授予的对象权限col pp format a35SELECT s.privilege| ON |s.owner|.|NVL(l.longname, s.table_name) pp, s.grantable FROMsys.dba_tab_privs s, javasnm l WHERE s.table_name = l.short(+) AND s.grantee=PUBLICand s.privilege = EXECUTE and s.table_name like UTL%;10 DBSNMP用户的保护加固目的Oracle数据库系统如果采用典型安装后,自动创建一个叫做DBSNMP的用户,该用户允许Oracle系统的智能代理(intelligent Agent),该用户的缺省密码也是“DBSNMP”。如果忘记修改该用户的口令,任何人都可以通过该用户存取数据库系统。其他有威胁的帐号还有:CTXSYS,MDSYS,ORDPLUGINS,ORDSYS,OUTLN等。加固方法锁定该账号,或者更换密码11 SYS用户加固目的Oracle数据库系统安装后,自动创建一个叫做SYS的数据库管理员用户,当该用户sysdba方式连接数据库时,便具有全部系统权限,因而对它的保护尤为重要。加固方法更换SYS用户密码,符合密码复杂度要求;新建一个DBA用户,作为日常管理使用。12 密码策略加固目的在Oracle,我们可以通过修改用户概要文件来设置密码的安全策略,可以自定义密码的复杂度。在概要文件中有以下参数是和密码安全有关心的:FAILED_LOGIN_ATTEMPTS:最大错误登录次数PASSWORD_GRACE_TIME:口令失效后锁定时间PASSWORD_LIFE_TIME:口令有效时间PASSWORD_LOCK_TIME:登录超过有效次数锁定时间PASSWORD_REUSE_MAX:口令历史记录保留次数PASSWORD_REUSE_TIME:口令历史记录保留时间PASSWORD_VERIFY_FUNCTION:口令复杂度审计函数加固方法解释:PASSWORD_LIFE_TIME:口令有效时间口令使用期限(应用系统帐号暂不修改)。password_grace_time 指的是在你的密码已经过期以后, 第一次登录时间开始往后统计, 使系统可以使用的日期限度.PASSWORD_REUSE_TIME是重用密码的最小时间间隔,单位是天。可以给出整数或分数,如1/1440表示1分钟(出于效率的考虑,oracle不会每分钟都去进行检查,一般来说,有5分钟左右的误差,因此如果这个数小于1/144则没有多大的意义)。PASSWORD_REUSE_MAX是重用密码前更换密码的最小次数。ALTER PROFILE default LIMIT FAILED_LOGIN_ATTEMPTS 60;ALTER PROFILE default LIMIT PASSWORD_LOCK_TIME 0.5;修改Oracle提供的验证函数文件$ORACLE_HOME/rdbms/admin/utlpwdmg.sql其中IF length(password) 4 一行改为 8,并将最后一段修
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号