Oracle数据库安全加固文档
Oracle数据库安全配置手册
![Oracle数据库安全配置手册](https://img.taocdn.com/s3/m/0407164833d4b14e8424682f.png)
Oracle数据库安全配置手册Version 1.0版本控制目录第一章目的与范围 (1)1.1目的 (1)1.2适用范围 (1)1.3数据库类型 (1)第二章数据库安全规范 (1)2.1操作系统安全 (1)2.2帐户安全 (2)2.3密码安全 (2)2.4访问权限安全 (2)2.5日志记录 (3)2.6加密 (3)2.7管理员客户端安全 (3)2.8安全补丁 (3)2.9审计 (3)第三章数据库安全配置手册 (4)3.1O RACLE数据库安全配置方法 (4)3.1.1 基本漏洞加固方法 (4)3.1.2 特定漏洞加固方法 (12)第一章目的与范围1.1 目的为了加强宝付的数据安全管理,全面提高宝付各业务系统的数据安全水平,保证业务系统的正常运营,提高业务服务质量,特制定本方法。
本文档旨在于规范宝付对各业务系统的Oracle数据库进行安全加固处理。
1.2适用范围本手册适用于对宝付公司的各业务系统的数据库系统加固进行指导。
1.3数据库类型数据库类型为Oracle 11g。
第二章数据库安全规范2.1 操作系统安全要使数据库安全,首先要使其所在的平台和网络安全。
然后就要考虑操作系统的安全性。
Oracle使用大量用户不需要直接访问的文件。
例如,数据文件和联机重做日志文件只能通过Oracle的后台进程进行读写。
因此,只有要创建和删除这些文件的数据库管理员才需要在操作系统级直接访问它们。
导出转储文件和其他备份文件也必须受到保护。
可以把数据复制到其他数据库上,或者是作为复制模式的一部分,或者是提供一个开发数据库。
若要保护数据的安全,就要对数据所驻留的每一个数据库及这些数据库的备份进行保护。
如果某人能从含有你的数据备份的数据库中带走备份磁带,那么你在数据库中所做的全部保密工作就失去意义。
必须防止对全部数据备份的非法访问。
2.2 帐户安全为了避免数据库帐户大量耗费系统资源,影响其它用户的正常访问,可以根据应用的实际需要,对数据库帐户所使用的资源(如CPU等)进行限制。
Oracle漏洞扫描安全加固Word版
![Oracle漏洞扫描安全加固Word版](https://img.taocdn.com/s3/m/6856623ab8f67c1cfbd6b895.png)
4、操作步骤:
漏洞清单(单击可跳转):
(注:漏洞名称与配置项信息中的配置项名称对应。)
漏洞1.检查是否对用户的属性进行控制(5)
漏洞2.检查是否配置Oracle软件账户的安全策略(2)
漏洞3.检查是否启用数据字典保护
漏洞4.检查是否在数据库对象上设置了VPD和OLS(6)
bash-3.2$cp$ORACLE_HOME/network/admin/sqlnet.ora$ORACLE_HOME/network/admin/
Oracle数据库漏洞的解决方案全部执行完成后,需要重启Oracle实例来生效某些操作。
漏洞1.检查是否对用户的属性进行控制
漏洞4.检查是否在数据库对象上设置了VPD和OLS
类型:Oracle数据库类
问题:
SQL> select count(*) from v$vpd_policy;
3、执行条件/注意事项:
加固前确保服务器、数据库、网管运行均正常。最好重启下服务器、数据库和网管查看重启后网管是否能运行正常。如果加固前服务器本身有问题,加固后服务器运行异常会加大排查难度。
本解决方案执行完成后,需要重启Oracle数据库来生效某些操作。
本解决方案不必完全执行,请根据系统扫描出的漏洞选择对应的漏洞条目进行操作。
漏洞12.检查是否使用加密传输(4)
漏洞13.检查是否设置超时时间(15)
漏洞14.检查是否设置DBA组用户数量限制(3)
漏洞15.检查是否删除或者锁定无关帐号
漏洞16.检查是否限制具备数据库超级管理员(SYSDBA)权限的用户远程登录(10)
漏洞17.检查口令强度设置(17)
漏洞18.检查帐户口令生存周期(12)
Oracle数据库系统加固修订版(汇编)
![Oracle数据库系统加固修订版(汇编)](https://img.taocdn.com/s3/m/a0704571fad6195f312ba6f6.png)
Oracle数据库系统加固作业指导书2019年11月修订版目录1.账号管理、认证授权 (2)1.1账号 (2)1.1.1为不同的管理员分配不同的账号 (2)1.1.2删除或锁定无效账号 (3)1.1.3关闭操作系统认证 ..................... 错误!未定义书签。
1.1.4权限最小化 (6)1.1.5数据库角色 (7)1.1.6用户profile (9)1.1.7数据字典保护 (11)1.1.8检查DBA组用户 (12)1.2口令 (14)1.2.1缺省密码长度复杂度限制 (15)1.2.2缺省密码生存周期限制 (18)1.2.3密码重复使用限制 (19)1.2.4修改默认密码 (20)2.数据库审计 (22)2.1.1数据库审计策略 (22)3.通信协议 (24)3.1.1网络数据传输安全 (24)4.设备其他安全要求 (26)4.1.1监听器密码 (26)4.1.2连接超时限制 (27)4.1.3修改默认的监听端口 (28)1.账号管理、认证授权1.1账号1.1.1为不同的管理员分配不同的账号1.1.2删除或锁定无效账号1.1.3 关闭远程操作系统认证1.1.4权限最小化1.1.5数据库角色1.1.6用户p r o f i l e1.1.7数据字典保护1.1.8检查D B A组用户1.1.9撤消p u b l i c角色的程序包执行权限1.2口令1.2.1缺省密码长度复杂度限制1.2.2缺省密码生存周期限制1.2.3密码重复使用限制1.2.4修改默认密码2.数据库审计2.1.1数据库审计策略3.通信协议3.1.1网络数据传输安全4.设备其他安全要求4.1.1监听器密码4.1.2连接超时限制4.1.3修改默认的监听端口4.1.4数据文件访问控制4.1.5数据文件访问控制4.1.6删除数据库无用的表。
数据库加固方案
![数据库加固方案](https://img.taocdn.com/s3/m/b4d5fea86aec0975f46527d3240c844769eaa084.png)
以我给的标题写文档,最低1503字,要求以Markdown 文本格式输出,不要带图片,标题为:数据库加固方案# 数据库加固方案## 1. 引言在当今信息化时代,数据库已成为企业信息系统的核心。
然而,随着互联网的快速发展,数据库面临着各种安全威胁。
为了保护数据库的安全性和完整性,数据库加固已成为企业不可或缺的一部分。
本文将介绍数据库加固的必要性,并提供一些常用的数据库加固方案。
## 2. 数据库加固的必要性数据库作为企业最重要的数据存储和处理工具之一,其安全性至关重要。
以下是数据库加固的必要性:### 2.1 数据保密性数据库中存储着企业的核心业务数据、客户信息等重要信息。
为了防止敏感数据被未授权的人员访问和泄露,需要采取措施保护数据库的数据保密性。
### 2.2 数据完整性数据库中的数据应该能够保证其完整性,即数据没有被非法篡改或意外破坏。
通过加固数据库,可以减少数据受到攻击和篡改的风险,保证数据的完整性。
### 2.3 数据可用性数据库作为企业信息系统的核心,其高可用性是非常重要的。
通过加固数据库,可以提高数据库的稳定性和可用性,减少系统故障以及非计划停机的风险。
## 3. 常用的数据库加固方案针对数据库的加固需求,以下是一些常用的数据库加固方案:### 3.1 强化系统安全性通过强化操作系统的安全性,可以提高数据库的整体安全性。
可以采取以下措施:- 及时安装操作系统的安全更新补丁;- 限制操作系统的访问权限;- 配置合适的防火墙规则,限制对数据库的访问;- 禁用不必要的服务和端口;- 加密操作系统的存储介质等。
### 3.2 数据库身份验证和访问控制合理的身份验证和访问控制是保护数据库的重要手段。
可以采取以下措施:- 为数据库设置强密码策略,并定期更改密码;- 限制只有授权用户才能访问数据库;- 细粒度的访问控制,根据用户角色和权限,控制其对数据库的操作;- 监控和记录数据库访问日志,及时发现异常行为;- 使用基于角色的访问控制工具,如Oracle的`Oracle Database Vault`。
oracle数据库安全加固
![oracle数据库安全加固](https://img.taocdn.com/s3/m/72c0dd0dbf23482fb4daa58da0116c175f0e1e3e.png)
Oracle安全加固1.安全加固的检查1.1.sysdba用户远程登录限制(查看Oracle登录认证方式)检查:show parameter remote_login_passwordfile整改:alter system set remote_login_passwordfile = NONE scope=spfile;注:需要重启库生效。
1.2.是否开启了资源限制show parameter resource_limitalter system set resource_limit = true;1.3.登录失败的帐号锁定策略select * from dba_profiles order by 1;关注FAILED_LOGIN_ATTEMPTS的设定值1.4.数据库用户帐号检查检查:select username,profile from dba_users where account_status='OPEN';整改:锁定用户:alter user <用户名> lock;删除用户:drop user <用户名> cascade;1.5.范例数据库帐号是否存在默认的范例数据库账号scott等,可以考虑删除scott账号1.6.dba权限账户检查select * from dba_role_privs where granted_role='DBA';1.7.数据库账户口令加密存储11g数据里面的账户口令本来就是加密存储的。
1.8.数据库密码安全性校验函数Select limit from dba_profiles where profile='DEFAULT' and resource_name= 'PASSWORD_VERIFY_FUNCTION';1.9.设定信任IP集在服务器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中设置以下行:tcp.validnode_checking = yestcp.invited_nodes = (ip1,ip2…)1.10.超时的空闲远程连接是否自动断开根据实际需要设置合适的数值。
oracle数据库安全加固操作手册
![oracle数据库安全加固操作手册](https://img.taocdn.com/s3/m/984cd4a868dc5022aaea998fcc22bcd126ff429f.png)
1.支持按用户分配账号。
结果:现网已实现2.与设备运行、维护等工作无关的账号,应能够删除或锁定。
结果:现网已实现3.应按照用户分配账号。
避免不同用户间共享账号。
避免用户账号和设备间通信使用的账号共享。
结果:现网已实现4.应删除或锁定与设备运行、维护等工作无关的账号。
结果:现网已实现5.限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。
结果:可以实现,但是需要需要重起数据库,影响业务,不建议实现,而且通过防火墙限制访问数据库的端口方式已经实现。
6.对于采用静态口令认证技术的设备,应支持数字、小写字母、大写字母和特殊符号4类字符构成的口令。
应支持配置口令复杂度。
在配置了复杂度后,设备自动拒绝用户设置不符合复杂度要求的口令结果:部分账号已实现(system和CS车务通),其他账号实施时需要重新配置现网的应用配置,影响业务,不建议实现。
7.对于采用静态口令认证技术的设备,应支持配置用户连续认证失败次数上限。
当用户连续认证失败次数超过上限时,设备自动锁定该用户账号。
必须由其他账号,通常为具有管理员权限的账号,才可以解除该账号锁定结果:现网已实现(系统默认是10次)8.对于采用静态口令认证技术的设备,应支持按天配置口令生存期功能。
在配置了口令生存期后,设备在口令超过生存期的用户登录时,应提示并强迫该用户设置新口令结果:可以实现,但是应用账号不建议实现,将会影响应用系统;编号:安全要求-设备-ORACLE-配置-10-可选9.对于采用静态口令认证技术的设备,应支持配置用户不得重复使用其最近已用口令的功能。
当配置相应功能后,设备拒绝用户重复使用在限制次数内的口令结果:可以实现,但是应用账号不建议实现,将会影响应用系统;见问题8的实现10.对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号结果:现网已实现(系统默认是10次)11.对于存在关系型数据库的设备,设备应支持对数据库表,给不同数据库用户或用户组分别授予读取、修改的权限。
Oralce加固步骤及说明
![Oralce加固步骤及说明](https://img.taocdn.com/s3/m/e9c37fcb6f1aff00bed51ee4.png)
1要升级按下面的执行:运行CMD;sqlplus / as sysdbaSQL>shutdown immediate退出所有的ORACLE的操作;双击:p6810189_10204_Win32 oracle 升级补丁\Disk1的安装,中间不要报错,如有再重新安装。
完成后:sqlplus / as sysdbaSQL>startup upgradeSQL>spool c:/upgrade.logSQL>@e:oracle/product/db_2/rdbms/admin/catupgrd.sql //(你的ORACLE安装的路径下找)时间较长一般半小时左右。
SQL>select count(1) from dba_objects where status='INV ALID'是否存在有无效的对象,有则运行utlrp.sql 编译无效的对象重启数据库SQL>shutdown immediateSQL>startupSQL> @e:oracle/product/db_2/rdbms/admin/utlrp.sql检查表空间,用户,用户对象等信息。
没有的话SQL>shutdown immediateSQL>startup即可检查一下select * from product_component_version ;看是否都升级为10.2.0.4。
01帐户配置要求1.1按照用户角色分配不同权限的帐号1.2删除或锁定与数据库运行、维护等工作无关的帐号1.3限制数据库超级管理员(SYSDBA)权限的用户远程登录1.4根据用户的业务需要,配置用户所需的最小权限1.5使用数据库角色(ROLE)来管理对象的权限1.6数据库系统用户密码强度策略设置1.7启用数据字典保护,只有SYSDBA用户才能访问数据字典基础表1.8设置口令策略满足复杂度要求1.9更改默认帐户的密码2日志配置要求2.1日志功能配置,记录用户登录信息2.2日志功能配置,记录用户对数据库的操作2.3日志功能配置,记录对与数据库相关的安全事件2.4制定数据库审计策略3其它配置要求3.1使用虚拟私有数据库(VPD)和标签安全(OLS)来保护不同用户之间的数据交叉访问3.2使用DATA VALUT选件来限制DBA权限的用户访问敏感数据3.3调协LISTENER的启动关闭密码3.4设置只有信任的IP地址才能通过监听器的访问数据库3.5使用高级安全选件来加密客户端与数据库之间或中间件与数据库之间的网络传输数据3.6设置数据库连接超时时间3.7限制在DBA组中的操作系统用户数量3.8避免使用默认的监听端口3.9关闭EXTPROC功能。
oracle数据库加固
![oracle数据库加固](https://img.taocdn.com/s3/m/d373ec9a6bec0975f465e244.png)
1.为不同的管理员分配不同的账号(目前就是,不同的业务不同用户)2.删除或锁定无效账号(可以实施)3.限制超级管理员远程登录(当启用限制ip访问策略时这条配置无意义,且会影响有catalog库的rman备份)4.权限最小化(目前新建用户只会授予connect,resource权限)5.数据库角色(目前来说,增加维护的复杂性,因为业务用户很少)----------------------------------用户概要文件配置-----------------以下都是用户概要文件的配置,涉及到密码修改的都需要和项目组沟通,这个会导致网站服务不可用6.用户profile7.数据字典保护(目前就是)8.缺省密码长度复杂度限制(可以实施)9.缺省密码生存周期限制(生产系统一般不会设置)10.密码重复使用限制11.密码重试限制12.修改默认密码-----------------------------------------------------------13.检查DBA组用户(数据库都是在专机专用,dba组只有oracle用户,对rac集群来说还有grid用户)-----------------------审计对性能影响较大,OLTP系统一般不会开启---------------14.启用日志记录功能15.记录用户对设备的操作16.记录系统安全事件17.数据库审计策略----------------------------------------------------------------------18.信任IP连接监听器(可以实施)19.网络数据传输安全20.监听器密码(可以实施)21.连接超时限制(属于概要文件的配置)。
XXXOracle数据库安全加固方案
![XXXOracle数据库安全加固方案](https://img.taocdn.com/s3/m/d1c00b6543323968011c928e.png)
XXXOracle数据库安全加固方案2014年11月19日
前言
为规范Oracle数据库安全加固操作,全面系统地降低Oracle数据库面临的风险,及时堵塞漏洞,提高安全防护能力,特制订《XXXOracle数据库安全加固方案》。
本方案适用于Oracle数据库安全加固工作要求。
本方案由XXX负责起草设计。
本方案主要起草人:XXX。
目录
1.适用范围3
2.方案实施准备3
2.1 准备工作3
2.2 危险点分析及预控措施4
3.方案实施流程5
4.方案实施程序及标准6
5.方案实施操作记录13
XXXOracle数据库安全加固方案1.适用范围
本方案适用于XXX Oracle 8i、10g数据库安全加固。
2.方案实施准备
2.1 准备工作
2.2 危险点分析及预控措施
3.方案实施流程
4.方案实施程序及标准
5.方案实施操作记录
Oracle数据库安全加固操作记录见附录A。
附录A
Oracle数据库安全加固操作记录
编号:日期:年月日。
等保测评oracle数据库加固
![等保测评oracle数据库加固](https://img.taocdn.com/s3/m/f1c53d91e43a580216fc700abb68a98271feacb8.png)
等保测评oracle数据库加固控制点安全要求要求解读测评⽅法预期结果或主要证据⾝份鉴别a)应对登录的⽤户进⾏⾝份标识和鉴别,⾝份标识具有唯⼀性,⾝份鉴别信息具有复杂度要求并定期更换应检查Oracle数据库的⼝令策略配置,查看其⾝份鉴别信息是否具有不易被冒⽤的特点,例如,⼝令⾜够长,⼝今复杂(如规定字符应混有⼤,⼩写字母数字和特殊字符),⼝令定期更新,新旧⼝令的替换要求1)访谈数据库管理员系统⽤户是否已设置密码,并查看登录过程中系统账户是否使⽤了密码进⾏验证登录2)查看是否启⽤⼝令复杂度函数: select limitfrom dba_profiles where profile= ' DEFAULT'and resource_name='PASSWORD_VERIFY_FUNCTION'3)检查utlpwdmg.sql 中“-- Check for theminimum length of the password“部分中“length(password)<"后的值4) PASSWORD_LIFE_TIME(⼝令过期时限)1)需要登录密码2)dba_profiles 策略中PASSWORD_VERIFY_FUNCTION'的值不为UNLLIMITED3)utlpwdmg.sql 中“-- Check for theminimum length of the password“部分中“length(password)<"后的值为8或以上4)dba_profiles策略中PASSWORD_LIFE_TIME不为UNLIMITEDb)应具有登录失败处理功能,应配置并启⽤结束会话、限制⾮法登录次数和当登录连接超时⾃动退出等相关措施应检查数据库系统,查看是否已配置了鉴别失败处理功能,并设置了⾮法登录次数的限制值,对超过限制值的登录终⽌其鉴别会话或临时封闭帐号。
ORACLE 安全加固操作步骤
![ORACLE 安全加固操作步骤](https://img.taocdn.com/s3/m/bfbb1328bd64783e09122b1f.png)
ORACLE 安全加固操作步骤一、 安装ORACLE NET8二、 配置DB SCANNER扫描数据库0.安装DB SCANNER软件0.配置DB SCANNER(0)在DB SCANNER菜单scanner->configure connection->oracle中选择Add Server,出现如图信息:Server Name:连接符Protocol:选择TCP/IP SocketsSID:ORACLE数据库SIDHostname or IP address:为ORACLE数据库IP地址Port Oracle listens on:默认为1521(0)选择scan database->network neighborhood->oracle中oracle.world连接符(0)点击Add Database(0)填写DBA 帐户和密码,选择所制订的策略,Host Account与HostPassword为空操作系统处于安全状态在进行ORACLE数据库的安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态防止破坏者构造恶意的SQL语句对要使用的操作数据库软件(程序)进行必要的安全审核,很多基于数据库的WEB应用常出现的安全隐患,如ASP、PHP等脚本。
对于脚本主要是一个过滤问题,需要过滤一些类似 , ‘ ; @ / 等字符,防止破坏者构造恶意的SQL语句。
加载ORACLE最新补丁检查当前所有已安装的数据库产品的版本信息Oracle7 至 8.0:cd $ORACLE_HOME/orainst./inspdverOracle 8i 或更高:cd $ORACLE_HOME/installcat unix.rgsORACLE最新补丁下载地址是:删除或锁定不需要的缺省安装用户Oracle在建立数据库的时候会创建一系列用户帐号。
这些用户有系统管理员用户(SYSTEM, SYS),某些管理工具的帐号(如DBSNMP等),以及示例用户(如SCOTT)。
安全加固方案
![安全加固方案](https://img.taocdn.com/s3/m/a2f5ddc86bec0975f565e210.png)
安全加固方案1安全加固概述随着网络技术的飞速发展,网络安全逐渐成为影响信息系统业务发展的关键问题。
由于信息系统拥有各种网络设备、操作系统、数据库和应用系统,存在大量的安全漏洞,对其进行安全加固增加其安全性是十分必要的。
安全加固是指参考国内国际权威的系统安全配置标准,并结合用户信息系统实际情况,对信息系统涉及的主机、网络设备、应用及数据库的脆弱性进行分析并修补,包括安全配置加固和漏洞修补,增强用户信息系统抗攻击能力,有效减轻系统总体安全风险,提升信息系统安全防范水平,可以建立起一套适应性更强的安全保障基线,有效构建起信息系统安全堤坝。
2安全加固内容安全加固是参考国内国际权威的系统安全配置标准,并结合用户信息系统实际情况,在用户允许的前提下,对重要服务器的操作系统和应用服务进行适度安全配置加固和系统安全优化,包括打补丁、停止不必要的服务、升级或更换程序、修改配置及权限等,包括操作系统安全加固和优化、应用软件安全加固和优化、网络设备安全加固和优化,加固服务内容包括基线加固、漏洞修复和安全设备调优。
2.1基线加固2.1.1主机加固针对目前使用的操作系统,如Windows、Linux、AIX等进行加固。
Windows设备安全加固内容:账号、口令、授权、日志配置操作、日志保护配置、共享文件夹及访问权限、Windows服务、防病毒管理、自动播放、屏幕保护、远程登录控制、补丁管理、IP协议安全配置操作、时间同步服务。
Linux操作系统安全加固内容:账号、口令、文件权限、IP协议安全、日志审计、关闭不必要的服务、资源控制。
AIX操作系统安全加固内容:账号、口令、授权、日志配置、IP协议安全、路由协议安全、补丁管理、内核调整、服务进程和启动、AIX可被利用的漏洞。
2.1.2数据库加固针对不同数据库类型的数据库如Oracle、SQL Server、MySQL等进行加固,加固服务的内容包括:身份鉴别、访问控制、安全审计、资源控制等安全项加固。
oracle数据库安全加固指南
![oracle数据库安全加固指南](https://img.taocdn.com/s3/m/c77e02214531b90d6c85ec3a87c24028915f85c4.png)
oracle数据库安全加固指南
××有限公司
202×年××月
版本历史
1:检查项详情
1.1帐号管理
1.1.1管理对象权限
1.1.2避免账号共享
1.1.3检查是否启用数据字典保护
1.1.4检查是否配置最大认证失败次数
1.1.5限制SYSDBA权限类用户远程登录
1.1.6检查是否设置记住历史密码次数
1.1.7检查口令强度设置
1.1.8检查是否记录安全事件日志
1.1.9修改默认账户的密码-oracle10g
1.1.10修改默认账户的密码-oracle11g
1.1.11登录终端超时锁定
2.2口令策略
2.2.1配置账户最小授权
2.3认证授权
2.3.1检查是否根据业务要求制定数据库审计策略
2.3.2检查是否记录操作日志
2.3.3检查是否配置日志功能
2.3.4检查是否设置登录认证方式
2.4文件权限
2.4.1检查是否在数据库对象上设置了VPD和OLS
2.4.2检查是否存在dvsys用户dbms_macadm对象
2.4.3检查是否限制可以访问数据库的地址-WINDOWS
2.4.4检查是否设置超时时间-WINDOWS
2.4.5检查是否使用加密传输-WINDOWS
2.4.6检查是否为监听设置密码-WINDOWS
2.4.7检查服务监听端口号是否更改-windows
2.4.8连接数设置。
信息安全技术:Oracle数据库基本加固方案
![信息安全技术:Oracle数据库基本加固方案](https://img.taocdn.com/s3/m/f689904a001ca300a6c30c22590102020740f28f.png)
Oracle系统基本加固方案1概述内部适用性说明本方案是在《业务研究院网络安全规范》中各项要求的基础上,提出Oracle数据库安全配置指南,针对《通用规范》中所列的配置要求,给出了在Oracle数据库上的具体配置方法。
外部引用说明《中国移动设备通用安全功能和配置规范》《中国移动数据库设备安全功能规范》《中国移动Oracle数据库安全配置规范》术语和定义符号和缩略语本文件中的字体标识如下:蓝色斜体在具体执行时需要替换的内容检查/加固项编码意义如下:公司名称-操作系统-条目性质风险级别数字编号-小项数字编号条目性质中:S意为检查;E意为加固风险级别中:H意为高风险;M意为中等风险;L意为低风险,风险级别仅存于具体条目中2Oracle安全配置操作指导2.1 ZTE-Oracle-E01 Oracle组件安装2.1.1ZTE-Oracle-EM01 -01 Oracle最小组件安装2.2 ZTE-Oracle-E02 帐号安全加固操作2.2.1ZTE-Oracle-EH02-01删除锁定无用帐号锁定:SQL>alter user username account lock;删除:SQL>drop user username cascade;2.2.2ZTE-Oracle-EM02-02操作系统dba组只有oracle(或还有oinstall)用户具体操作请参考相关操作系统加固方案2.2.3ZTE-Oracle-EH02-03修改默认密码并使用强密码建立密码验证函数,内容如下执行脚本不会对原有密码造成影响,因此还需要再修改密码:SQL>Alter user sys identified by passwordSQL>Alter user system identified by passwordSQL>Alter user 业务用户identified by password需要修改密码的业务用户列表:业务需要修改口令的用户WAP网关sys、system、其他业务补充,必须修改帐号密码才能进行下一步设定密码生存期的操作彩信sys、system、其他业务补充,必须修改帐号密码才能进行下一步设定密码生存期的操作短信sys、system、其他业务补充,必须修改帐号密码才能进行下一步设定密码生存期的操作业务修改用户密码后的操作说明WAP网关彩信短信2.2.4ZTE-Oracle-EL02-04 设置口令生存期为90天(可选)SQL>alter profile default LIMIT PASSWORD_LIFE_TIME 90说明:在修改profile之前,必须进行2.2.3中的修改密码操作,如果不修改,可能在限定密码生存期之后登录失败2.2.5ZTE-Oracle-EL02-05禁止重复密码SQL>alter profile default LIMIT PASSWORD_REUSE_MAX 52.2.6ZTE-Oracle-EL02-06配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号(可选)SQL>alter profile default LIMIT FAILED_LOGIN_ATTEMPTS 62.2.7ZTE-Oracle-EL02-07设置只有sysdba权限的用户才可以访问数据字典使用pfile的情况:修改pfile文件参数O7_DICTIONARY_ACCESSIBILITY = false配置后重新启动数据库生效使用spfile的情况:SQL>Alter system set O7_DICTIONARY_ACCESSIBILITY = FALSE scope=spfile配置后重新启动数据库生效说明,pfile文件默认位置如下:Unix:$ORACLE_HOME/dbs/init SID.oraWindows:%ORACLE_HOME%\DATABASE\init SID.oraSID为Oracle数据库标识符2.3 ZTE-Oracle-E03 审计要求(可选)2.3.1ZTE-Oracle-EL03-01审计方案oracle审计功能的使用与注意事项.doc2.4 ZTE-Oracle-E04数据库连接安全2.4.1ZTE-Oracle-EL04-01设定listener密码(可选,确定对双机切换的影响)$ lsnrctlLSNRCTL> change_passwordOld password: <OldPassword> Not displayedNew password:<NewPassword> Not displayedReenter new password: <NewPassword> Not displayedConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraclehost)(PORT=1521)(IP=IP AD DR)))Password changed for LISTENERThe command completed successfully注意配置listener对双机切换的影响。
oracle安全加固方案
![oracle安全加固方案](https://img.taocdn.com/s3/m/69d651abaeaad1f346933f4f.png)
oracle安全加固方案1.说明a.通过SSH远程连接服务器,上传Oracle 11g安装包,在CentOS 6.8上无图形化界面静默安装Oracle 11g。
b.安装完成后,修复Oracle补丁c.依据安全基线,配置Oracle安全设置d.依据安全基线,配置WebLogic安全设置e.依据安全基线,修复Linux漏洞2.环境描述a.操作系统:CentOS 6.8 64位b.数据库:Oracle(暂未安装)c.中间件:WebLogic(已安装)3.过程a.Oracle安装i.安装依赖包yum –y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-develii.设定swap空间1.生成swap文件dd if=/dev/zero of=/home/swapfile bs=1M count=20482.设定使用swapfile交换文件mkswap /home/swapfile3.启用交换分区swapon /home/swapfile4.编辑文件/etc/fstabvi /etc/fstab5.以便引导系统时启用交换文件,文件最下方插入/home/swapfile swap swap defaults 0 0iii.添加Oracle用户和用户组创建oinstall、dba用户组,将oracle用户加入组,修改并设定oracle用户密码groupadd oinstallgruopadd dbauseradd –g oinstall –g dba oracle passwd Ecode1234iv.修改内核参数1.编辑/etc/sysctl.confvi /etc/sysctl.conf2.添加参数fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 10485863.执行命令使生效sysctl -pv.修改用户资源限制1.修改/etc/security/limits.conf文件vi /etc/security/limits.conf2.加入参数oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 102403.修改/etc/pam.d/login文件vi /etc/pam.d/login4.加入参数session required /lib/security/pam_limits.sosession required pam_limits.sovi.创建安装目录1.mkdir –p /opt/db/app/oracle /opt/db/app/oraInventory/opt/db/app/oradata2.chown –R oracle:oinstall /opt/db/app/oracle/opt/db/app/oraInventory /opt/db/app/oradata3.chmod –r 755 /opt/db/app/oracle /opt/db/app/oraInventory /opt/db/app/oradatavii.创建oraInst.loc1.创建/etc/oraInst.loc文件Vi /etc/oraInst.loc2.加入内容inventory_loc=/opt/db/app/oraInventoryinst_group=oinstall3.保存退出,设定用户组及权限chown oracle:oinstall /etc/oraInst.locchmod 664 /etc/oraInst.locviii.上传并解压安装文件Cd /opt/dbUnzip linux.x64_11gR2_database_1of7.zipUnzip linux.x64_11gR2_database_2of7.zipChmod 777 /opt/db/databaseChown –r oracle:oinstall /opt/db/databaseix.编辑应答模版文件db_install.rsp1.该文件默认存放在/opt/db/database/response下,将该文件拷贝到/opt/db/下Cp /opt/db/database/response/db_install.rsp /opt/db/2.修改应答文件的所属组及权限Chown oracle:oinstall /opt/db/*.rspChmod 755 /opt/db/*.rsp3.配置db_install.rspVi /opt/db/db_install.rsp4.修改相应参数(列出的仅为需要格外修改的参数)oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_resp onse_schema_v11_2_0oracle.install.option=INSTALL_DB_SWONLYORACLE_HOSTNAME=hzgs.serverUNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/opt/db/app/oraInventorySELECTED_LANGUAGES=en,zh_CNORACLE_HOME=/opt/db/app/oracle/product/11.2.0/dbhome_1 ORACLE_BASE=/opt/db/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.EEOptionsSelection=falseoracle.install.db.DBA_GROUP=dbaoracle.install.db.OPER_GROUP=oinstalloracle.install.db.config.starterdb.globalDBName=orcloracle.install.db.config.starterdb.SID=orcloracle.install.db.config.starterdb.characterSet=ZHS16GBKoracle.install.db.config.starterdb.memoryOption=trueoracle.install.db.config.starterdb.memoryLimit=1024oracle.install.db.config.starterdb.installExampleSchemas=false oracle.install.db.config.starterdb.enableSecuritySettings=true oracle.install.db.config.starterdb.password.ALL=oracleoracle.install.db.config.starterdb.control=DB_CONTROLoracle.install.db.config.starterdb.automatedBackup.enable=false x.设置oracle用户环境1.Root用户切换至oracle用户Su - oracle2.修改用户配置文件Vi .base_profile文件内加入并修改至以下内容:export ORACLE_BASE=/opt/db/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orclexport ORACLE_OWNER=oracleexport PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin3.保存退出,并生效Source .bash_profilexi.开始安装执行一下命令:/opt/db/database/./runInstaller -silent -force -ignorePrereq -responseFile /opt/db/db_install.rsp大约等待20分钟后,提示安装成功。
Oracle加固
![Oracle加固](https://img.taocdn.com/s3/m/1ef638bbf524ccbff021840e.png)
应设置密码最长使用天数,密码过期将自动锁定账户
1、进入sqlplus环境,并且不登录到数据库服务器,命令:“sqlplus /nolog”
4、启用密码复杂度策略,首先创建VERIFY_FUNCTION函数,命令:
“@ $ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql”
应用VERIFY_FUNCTION函数,命令:“alter profile default limit password_verify_function verify_function;”
2、以sysdba身份连接数据库,命令:“connect /as sysdba”
3、使用show parameter命令来检查参数REMOTE_LOGIN_
PASSWORDFILE是否设置为NONE:“show parameter remote_login_passwordfile”;
4、限制特权用户远程登录到数据库:“alter system set remote_login_passwordfile=none scope=spfile;”
5、重启iptables,命令:“service iptables restart”
默认端口
应修改oracle的默认端口,防止黑客通过扫描到默认端口直接识别出oracle服务
1、停止监听oracle服务:“$ lsnrctl stop”;
2、打开listener.ora文件:“vi $ORACLE_HOME/network/admin/listener.ora”,修改PORT的值;
数据库加固方案防范重要数据和信息泄露
![数据库加固方案防范重要数据和信息泄露](https://img.taocdn.com/s3/m/fd1b1fa5f9c75fbfc77da26925c52cc58bd69002.png)
数据库加固方案防范重要数据和信息泄露1. 引言1.1 背景介绍数据库在现代社会中扮演着至关重要的角色,承载着大量的重要数据和信息。
随着信息化程度的不断提高,数据库安全问题变得愈发突出。
据统计,全球每年有数百万起数据泄露事件发生,给企业和个人带来了巨大的损失。
加强数据库安全防护,防范重要数据和信息泄露成为亟待解决的问题。
传统的数据库加固方案已经不能满足当前复杂多变的安全威胁,数据库面临着越来越多的内部和外部攻击。
为了有效防范这些威胁,需要采取更加综合和有效的加固措施,保障数据库系统的安全性。
本文旨在通过对数据库安全威胁进行分析,探讨数据库加固方案、加密技术、权限管理、审计和监控机制等关键技术的应用,从而有效防范重要数据和信息泄露的风险,提升数据库系统的安全性。
希望通过本文的研究,能够为数据库安全领域的研究和实践提供一些有益的参考和启示。
1.2 问题意义数据安全是当前信息安全领域的一个重要方面,数据库作为信息存储和管理的核心,承载着各种重要数据和敏感信息。
随着互联网和大数据技术的不断发展,数据库面临着越来越多的安全威胁和风险,其中最为突出的问题就是数据泄露。
数据库中的重要数据和信息一旦泄露,将给个人隐私、企业机密、国家安全等带来严重的危害。
数据泄露可能导致个人信息被盗用、企业竞争力受损、国家机密泄露等严重后果,对个人、企业甚至整个社会都构成了极大的威胁。
加强数据库安全保护,防范重要数据和信息泄露,已成为亟需解决的重要问题。
为了有效应对数据库安全威胁,保护重要数据和信息不被泄露,需要采取一系列有效的数据库加固方案和措施。
只有通过科学合理的加固措施,结合加密技术、权限管理、审计监控等手段,才能有效防范数据库安全风险,提升数据库系统的安全性,确保重要数据和信息不被泄露。
1.3 研究目的研究目的是为了探讨数据库加固方案对防范重要数据和信息泄露的有效性,并提出相应的解决方案。
通过分析数据库安全威胁,加强数据库的安全设置和加固措施,以及运用加密技术、权限管理和访问控制等手段,来有效保护重要数据的安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
限制数据库超级管理员(SYSDBA)权限的用户远程登录
检查方法
用SQL>show parameter REMOTE_LOGIN_PASSWORDFILE
检查其值是否为NONE
操作步骤
1备份$ORACLE_HOME/dbs目录下的spfileSid.ora和initSid.ora
2用SQL>startup immediate关闭数据库
关闭Extproc功能
检查方法
查看$ORACLE_HOME/network/admin/listener.ora文件,是否存在extproc条目。?
操作步骤
1备份$ORACLE_HOME/network/admin/listener.ora文件
2关闭listener $ lsnrctl stop
3用vi把listener.ora中extproc条目删除
3修改initSid.ora令REMOTE_LOGIN_PASSWORDFILE =’NONE’
4 SQL>create spfile from pfile
5 SQL>startup启动数据库
回退操作
关闭数据库,恢复备份的文件到原来的位置,启动数据库。
风险
修改REMOTE_LOGIN_PASSWORDFILE需要先关闭数据库,手工进行参数修改,最后重新启动数据库。
2.5限制超级管理员才能访问数据字典基础表
配置项名称
限制超级管理员才能访问数据字典基础表
检查方法
可用SQL>show parameter O7_DICTIONARY_ACCESSIBILITY来查看该参数的值是否为FALSE。
操作步骤
1备份$ORACLE_HOME/dbs目录下的spfileSid.ora和initSid.ora
PASSWORD_GRACE_TIME 7
操作步骤
1执行SQL> select username ,profile from dba_users where account_status='OPEN';来查找出系统主要的活动应用帐号和profile名字。保存执行的结果。
2可以用下列语句进行proflie的创建:
2备份$ORACLE_HOME/dbs目录下的spfileSid.ora和initSid.ora
3执行$ lsnrctl stop关闭Listener
4用viቤተ መጻሕፍቲ ባይዱ改listener.ora中的端口号1521为其他端口
5用SQL>startup immediate关闭数据库
6修改initSid.ora添加一项LOCAL_LISTENER=listener1
2.3锁定与运行维护无关用户和用户默认密码的修改
配置项名称
锁定与运行维护无关用户和用户默认密码的修改
检查方法
l可以通过下面的语句查看系统中所有用户和用户状态:
SQL> select username , account_status from dba_users where account_status='OPEN';
配置项名称
设置LISTENER的启动关闭密码
检查方法
检查$ORACLE_HOME/network/admin/listener.ora文件中是否有PASSWORDS_LISTENER一项,若有说明密码已设定。
操作步骤
1备份$ORACLE_HOME/network/admin/listener.ora文件
SQL> CREATE PROFILE myprofile
LIMIT FAILED_LOGIN_ATTEMPTS 3 ---(单位次)
PASSWORD_LOCK_TIME 10/1440 ---(单位天,3次失败后锁定10分钟)
PASSWORD_GRACE_TIME 5 ---(单位天)
PASSWORD_LIFE_TIME 60 ---(单位天)
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 180
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
3用下面的命令把新创建的profile赋给制定的用户
SQL〉ALTER USER user1 PROFILE myprofile;
回退操作
把用户的profile重新设置为原来的profile。
风险
修改业务帐号的profile会影响到业务应用,需要所有相关访问数据库的应用的帐号密码定期根据profile做修改,可能会导致修改应用程序或应用帐号密码配置文件的定期修改。
10 SQL>startup启动数据库
回退操作
关闭Listener和数据库,恢复备份的文件到原来的目录,重启Listener和数据库。
风险
1.修改默认端口会影响到目前使用该数据库的应用,需要这些应用同步修改为新的端口
2.需要关闭重启数据库以及关闭重启Listener来完成端口的修改
2用户与权限
2.1设置LISTENER的启动关闭密码
7在tnsnames.ora中添加一项
listener1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1522))
)
)
8 SQL>create spfile from pfile
9 $ lsnrctl start
1端口设置
1.1避免使用默认的监听端口
配置项名称
避免使用默认的监听端口
检查方法
1检查$ORACLE_HOME/network/admin/listener.ora中是否有port=1521一项。
操作步骤
1备份$ORACLE_HOME/network/admin/目录下的tnsnames.ora, listener.ora文件
$sqlplus scott/tiger@mydb
$sqlplus dbsnmp/dbsnmp@mydb
操作步骤
1备份原来帐户的密码和状态
2更改用户帐号的默认口令:
sql> alter user user1 identified by强壮的口令;
对于暂时不用的用户建议锁定
sql>alter user user1 password Expire Account lock;
对于处于OPEN状态下的用户,和管理员确认该用户是否有用。
l通过sys,system,scott,dbsnmp用户以默认口令登录是否成功来验证口令是否做了修改。
$ sqlplus sys/.change_on_install@mydb as sysdba
$ sqlplus system/manager@mydb
PASSWORD_REUSE_TIME 365---(单位天)
PASSWORD_REUSE_MAX 4---(单位次)
PASSWORD_VERIFY_FUNCTION DEFAULT;
----(如果不使用校验函数,用DEFAULT,否则用sys用户下自己----建立的一个校验函数名)
----PASSWORD_VERIFY_FUNCTION自定义函数必须在ORACLE sys用户下建立,该函数必须含有三个varchar2类型的参数,分别是用户名,新密码,旧密码。
风险
修改参数O7_DICTIONARY_ACCESSIBILITY需要关闭重启数据库
2.6避免普通用户授予DBA角色
配置项名称
避免普通用户授予DBA角色
检查方法
可用SQL> select * from dba_role_privs where grantee in( select username from dba_users where account_status='OPEN' and username not in ('SYS','SYSTEM')) and granted_role='DBA' order by grantee;
来查找具有DBA权限的普通用户
操作步骤
1备份下列命令的查询结果
SQL> select * from dba_role_privs where grantee in( select username from dba_users where account_status='OPEN' and username not in ('SYS','SYSTEM')) and granted_role='DBA' order by grantee;
2用下列命令收回DBA角色
SQL〉revoke DBA from user1;
回退操作
恢复原来普通用户的DBA权限,执行命令SQL〉grant DBA to user1;
风险
要收回DBA角色需要确认业务应用确实不需要DBA角色,否则会影响到业务
3其他安全增强配置
3.1关闭Extproc功能
配置项名称
解除锁定用
sql>alter user user1 Account unlock;
删除用户用
sql>drop user user1 cascade;
回退操作
把帐户的密码和状态恢复到原来状态
风险
修改默认密码需要业务人员确认时候该用户是否在用,如果在用可能会影响到业务应用