Oracle数据库安全建议提交人:OracleSalesConsultant提交日期:October7,2019版本号:v1.0第1页Copyright@2019OracleCorporationAllrightsreserved.文档控制变更记录2日期作者版本号变更参考文件审阅姓名职位发行拷贝号姓名地址1234目录1ORACLE数据库安全管理..............................................................................................................................11.1目的和意义...................................................................................................................................................11.2安全管理流程...............................................................................................................................................11.3安全策略.......................................................................................................................................................31.4管理用户、权限和资源...............................................................................................................................81.5审计准则.....................................................................................................................................................111.6管理审计跟踪信息.....................................................................................................................................151.7细粒度审计.................................................................................................................................................23第1页Copyright@2019OracleCorporationAllrightsreserved.1oracle数据库安全管理1.1目的和意义基于数据库管理应用平台的社保业务管理系统已成为大连社保信息管理系统的核心业务。如何利用数据库安全技术建立和完善大连社保核心业务系统的安全架构,消除已存在的和可能潜在的安全隐患,保证核心业务系统安全可靠的运行,规范业务管理机制,对网络信息安全管理和建设是非常必要的。1.2安全管理流程在制定安全管理策略之前,一定要定义好安全管理的工作流程,因为一个好的安全策略必须要有一个很好的执行策略,才能达到更好的系统安全。安全管理流程最重要的是管理:即制定良好的工作流程,制定相应的模板,同时加强审批流程和监控力度,做到有章可循、有证可查。同时流程的制定,也使系统维护更加角色明确、责任清晰,达到“进不来、改不了、赖不掉”的管理水平。对于数据库的管理、维护工作,要制定好工作流程,特别是在运营维护时期,消除任何操作失误。要制定定期检查流程、数据库日常维护流程和数据库修改、维护、升级和调优的工作流程,其中最重要的是要让主管领导清楚:到底作了哪些工作,同时也为审计工作提供依据。安全管理工作流程如下图所示:第2页Copyright@2019OracleCorporationAllrightsreserved.上面是一个简单的安全管理流程,用户可以参考指定符合自己运行的工作流程,同时指派合适的人员和角色,或是结合目前流行的监控设备,让自己的系统更加安全可靠。下面对流程有关的角色作一介绍,以帮助用户更好地理解安全管理流程。主管领导:主管领导,是具有决定能否对数据库进行维护、修改、升级和调优等工作的业务主管和运营维护主管,当然上面只是一个简单的图例,用来说明对于关键业务平台而言,任何操作都是很重要的,尤其是对数据库的操作,对业务系统影响最大,所以必须有相应领导的认可,才能进行操作。系统维护人员:这里特意强调系统维护人员,原因很简单,系统和数据库的关系十分密切,对于系统的升级、维护、硬件更换、网络调整、打Patch等操作对数据库有很大的影响,因此也需要和数据库管理人员共同协作,作好充分的准备工作和恢复策略,以免因系统原因导致数据库的崩溃或数据丢失。数据库管理人员:第3页Copyright@2019OracleCorporationAllrightsreserved.数据库管理人员对于数据库的安全来讲,位置十分重要,任何数据库相关的维护、升级、管理等都由他来具体实现,因而技术的熟练和对每一个操作可能带来的损失都要清清楚楚,以免造成重大损失。审计人员:审计人员也是一个很重要的角色,要对数据库管理人员的操作进行监督和管理,以避免数据库管理人员恶意的修改数据库中的数据。监控设施:监控设施也是现在系统安全中必不可少的设施,从生物识别(指纹、掌纹、瞳孔)、到普通的IC卡,可以进行身份的确认,同时摄像仪器的广泛使用,也为安全带来了相当大的优势,可以全程监控对系统的任何操作,包括任何人,任何时间和任何指令,对安全带来了更好的监控记录,以便进行问题和事故分析。业务人员:只能从业务应用中操纵数据,不能进行任何数据库维护工作。其他用户:只能从业务应用中操纵数据,不能进行任何数据库维护工作。1.3安全策略制定了完善的安全管理工作流程后,需要制定数据库的安全管理策略,Oracle数据库的安全管理策略包括:1、系统安全策略2、数据安全策略3、用户安全策略4、口令管理策略第4页Copyright@2019OracleCorporationAllrightsreserved.5、审计策略1.3.1系统安全策略系统安全策略包括:数据库用户管理、数据库操作规范、用户认证、操作系统安全。1、数据库用户管理:在Oracle数据库中,数据库用户是对信息访问的途径。因此,对数据库用户的管理应当进行严格安全维护。只有可信的人员才拥有管理数据库用户的强大权限。2、数据库操作规范:由于数据是所有系统的核心,不能有任何篡改和破坏,而数据库管理人员是唯一能直接访问数据库的人员,其重要性和安全性可想而知,因此,必须加强对Oracle数据库维护人员的监控,规范操作流程:1)操作内容文档化,将操作内容形成文档,而且对可能产生的后果和如何提前进行预防措施都要写清楚,特别是对数据库结构的更改,要考虑相关的操作,如备份等。2)加强审批过程管理,相关领导必须清楚数据库维护人员要进行什么样的操作和相关后果,并签字审批。3)加强操作过程的管理,对数据库管理维护人员的操作,要有至少一人陪同,以进行操作监督,尽量避免误操作;同时可以进行摄像监控操作屏幕,对整个操作过程进行记录。4)加强问题处理的管理,对于数据库所出现的问题要书写相应报告,分析原因,同时避免下次出现同样问题。5)加强数据库文档管理,对于数据库的设计、开发、实施过程中涉及数据库的工作很多,包括数据库的结构设计(物理和逻辑设计),建模脚本、协助开发人员工作、调优工作等等,都要予以记录和归档,以便于后期的维护和工作交接。3、用户认证:Oracle可以使用主机操作系统认证用户,也可以使用数据库的用户认证。从安全的角度出发,建议将initSID.ora文件中第5页Copyright@2019OracleCorporationAllrightsreserved.的remote_os_authent参数设成FALSE,以防止没有口令的连接。建议将remote_os_roles设成FALSE,防止欺骗性连接。4、操作系统安全:对运行Oracle和任何数据库应用程序的操作系统环境考虑如下安全问题:1)数据库管理员必须拥有操作系统权限来创建和删除文件2)通常的应用用户不应拥有操作系统权限来创建或删除与数据库有关的文件3)如果操作系统识别对用户的数据库角色,安全管理员就必须拥有操作系统权限来修改操作系统帐户的安全域应用用户或第三方软件用户对数据库的访问要有合适的系统权限,而不是dba或oinstall用户组。数据库管理员系统账户(如oracle)的口令必须符合规定,不能太简单,而且要定期更改口令,另外不准泄漏口令。系统管理员在做系统维护的同时,应与数据库管理员协作,避免破坏数据库的有关操作发生。1.3.2数据安全策略数据安全策略决定哪些用户可以访问特定的对象,以及对象上的每个用户允许执行的特定类型的操作。整体的数据安全性应当基于数据的敏感程度。如果信息不是太敏感,那么数据安全策略可以松一些。如果数据是敏感的,就应制定安全策略,以保持对对象访问的严格控制,如对敏感数据进行加密处理。1.3.3用户安全策略用户安全策略包括:一般用户安全、最终用户安全、管理员安全、应用程序开发人员安全、应用程序管理员安全。第6页Copyright@2019OracleCorporationAllrightsreserved.1.3.3.1一般用户安全1、口令安全:如果用户认证由数据库管理,则安全管理员应制定口令安全策略来维护数据库访问的安全性。可以配置oracle使用加密口令来进行客户机/服务器和服务器/服务器连接:ORA_ENCRYPT_LOGIN=TRUEDBLINK_ENCRYPT_LOGIN=TRUE2、权限管理:管理有多用户、多应用程序或多对象的数据库的安全管理员应当利用角色提供的优势。角色大大简化了在复杂环境中的权限管理任务。3、最终用户安全:安全管理员必须为最终用户安全制定策略。如果数据库很大且有很多用户,安全管理员可以决定如何对用户组进行分类,为这些用户组创建用户角色,对每个角色授予必要的权限或应用程序角色,以及对用户指定用户角色。角色是授权和管理不同数据库用户组需要的公用权限的最简单方式。4、管理员安全:安全管理员应当拥有阐述管理员安全的策略。在数据库创建后,应对SYS和SYSTEM用户名更改口令,以防止对数据库的未认证访问,且只有数据库管理员才可用。5、应用程序开发人员安全:安全管理员必须为使用数据库的应用程序开发人员制定一套特殊的安全策略。安全管理员可以把创建必要对象的权限授予应用程序开发人员。反之,创建对象的权限只能授予数据库管理员,他从开发人员那里接收对象创建请求。6、应用程序管理员安全:在有许多数据库应用程序的大型数据库系统中,可以设立应用程序管理员。第7页Copyright@2019OracleCorporationAllrightsreserved.1.3.4口令管理策略口令管理包括:帐户锁定、口令老化及到期、口令历史记录、口令复杂性校验。1、帐户锁定:当某一特定用户超过了失败登录尝试的指定次数,服务器会自动锁定这个用户帐户。例如:用户ASHWINI的失败登录尝试的最大次数为4,帐户保持锁定的时间是30天:经过30天后这一帐户会自动解锁。C