Oracle数据库安全加固文档
Oracle数据库安全配置手册
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版
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)
数据库加固方案防范重要数据和信息泄露
数据库加固方案防范重要数据和信息泄露1. 引言1.1 引言在当今信息时代,数据安全已成为企业和个人至关重要的问题。
随着数据库中存储的数据量不断增加,保护数据库的安全性变得尤为重要。
重要数据和信息一旦泄露,可能导致严重后果,如财务损失、声誉受损甚至法律责任。
加强数据库安全防护措施,防范重要数据和信息泄露成为当前亟需解决的问题之一。
数据库加固方案是企业保护重要数据安全的重要手段之一。
通过加固数据库的各个环节,包括安全意识培训、数据加密技术、访问控制措施、审计与监控机制以及物理安全措施,可以有效防范数据库数据泄露的风险。
在本文中,将介绍数据库加固方案中各项措施的重要性以及如何实施这些措施来保护重要数据和信息安全。
通过加强数据库安全意识培训,提高员工的安全意识;采用数据加密技术,保护敏感数据的安全性;建立健全的访问控制措施,控制用户对数据库的访问权限;建立审计与监控机制,追踪数据库操作和数据访问情况;以及加强物理安全措施,保护数据库服务器的安全性,从而全面加固数据库,防范重要数据和信息泄露的风险。
在日益数字化的时代,数据库安全已成为企业发展的重要环节。
只有加强数据库加固方案的实施,才能有效防范重要数据泄露,保护企业和个人的数据安全。
2. 正文2.1 数据库安全意识培训数据库安全意识培训是企业加固数据库防范重要数据和信息泄露的重要环节。
通过针对员工的培训,可以提高员工对数据安全的重视程度,降低数据泄露的风险。
数据库安全意识培训应包括对数据分类的教育,让员工了解企业数据的重要性和敏感性。
员工需要清楚哪些数据是机密的、哪些是公开的,以及在处理这些数据时需要采取什么样的安全措施。
培训内容应包括密码安全意识的培养。
员工需要了解如何设置复杂的密码、定期更改密码、不将密码泄露给他人等基本的密码管理知识。
这样可以有效防止数据库被未经授权的人员访问。
员工还应该接受关于网络钓鱼和社会工程学攻击的培训,以增强他们对网络安全漏洞的识别能力。
oracle数据库安全加固
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数据库安全与加密解决方案:Primavera P6 EPPM 8说明书
ENCRYPTION AND PRIVILEGED USER CONTROLS FOR PRIMAVERA P6KEY FEATURES:Encrypt Oracle Primavera data, preventing data access at the operating system layerProject data on backup mediaHelp protect against threats targeting privileged database accountsKEY BENEFITSHigh performance, transparent encryption for Oracle Primavera dataIncreased protection for Oracle Primavera data, including project planning, intellectual property, financial, and customer related data Databases have increasingly become the target of sophisticated threats targeting sensitive information, including project planning, intellectual property, financial, and privacy related data. Oracle Database Security solutions provide a multi-layered, defense-in-depth approach that helps protect Oracle Primavera data from threats both external and internal. Oracle Advanced Security provides a transparent and scalable encryption solution for Oracle Primavera P6 application data. Oracle Database Vault enforces real-time preventive controls inside the database, helping protect against threats from both outside and inside.Oracle Advanced Security for Primavera P6 EPPM 8Oracle Advanced Security Transparent Data Encryption (TDE) seamlessly encrypts Oracle Primavera data stored inside the Oracle database, protecting against database bypass attacks that attempt to read data directly from files on the operating system. Data remains encrypted on backup media without any additional configuration steps.Figure 1. Oracle Advanced Security Transparent Data EncryptionOnce encrypted, data remains secure in the event of unauthorized access to files at the operating system level, discarded disk drives and off-site backup media.Oracle Advanced Security TDE works seamlessly with Oracle Advanced Compression, automatically applying compression and encryption in the correct sequence, enabling Oracle Primavera P6 EPPM 8 customers running on Oracle Database 11g with Oracle compression to increase security and save on storage costs. Oracle Advanced Security is integrated with Oracle DataPump and Oracle RMAN to provide seamless encryption of database exports and backups to disk, providing protection for data exported from the database or transported off-site on backup media.Oracle Advanced Security TDE tablespace encryption for Oracle Primavera P6 EPPM 8.x encrypts the application data, preventing unauthorized access outside the database with low single digit performance overhead. Oracle Advanced Security TDE tablespace encryption with Oracle Database 11g Release 2 automatically leverages the hardware acceleration available on platforms with Intel® CPUs with AES-NI or Oracle SPARC T4.2Oracle Database Vault Protection for Oracle Primavera P6Oracle Database Vault enables Oracle Primavera P6 customers to prevent access to application data by privileged database users. Oracle Database Vault certification with Oracle Primavera P6 applications provides preventive controls on privileged user access toapplication data using Oracle Database Vault realms. This is especially important when aprivileged account is targeted from outside or inside the organization. Day to day databaseadministration tasks remain unchanged.Figure 2. Oracle Database VaultThe Oracle Database Vault security policies and installation guide can be downloaded fromthe Oracle Database Vault home page on the Oracle Technology Network. Customers canextend the Oracle-supplied Oracle Database Vault security policies to enforce more granularaccess controls based on factors such as IP address and date/time. A complete list of factorscan be found in the Oracle Database Vault administration guide.Contact UsFor more information about Oracle Advanced Security or Oracle Database Vault, please visit/security or call +1.800.ORACLE1 to speak to an Oracle representative.Copyright © 2012, Oracle and/or its affiliates. All rights reserved.This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARCInternational, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark licensed through X/Open Company, Ltd. 0112。
oracle数据库安全加固操作手册
1.支持按用户分配账号。
结果:现网已实现2.与设备运行、维护等工作无关的账号,应能够删除或锁定。
结果:现网已实现3.应按照用户分配账号。
避免不同用户间共享账号。
避免用户账号和设备间通信使用的账号共享。
结果:现网已实现4.应删除或锁定与设备运行、维护等工作无关的账号。
结果:现网已实现5.限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。
结果:可以实现,但是需要需要重起数据库,影响业务,不建议实现,而且通过防火墙限制访问数据库的端口方式已经实现。
6.对于采用静态口令认证技术的设备,应支持数字、小写字母、大写字母和特殊符号4类字符构成的口令。
应支持配置口令复杂度。
在配置了复杂度后,设备自动拒绝用户设置不符合复杂度要求的口令结果:部分账号已实现(system和CS车务通),其他账号实施时需要重新配置现网的应用配置,影响业务,不建议实现。
7.对于采用静态口令认证技术的设备,应支持配置用户连续认证失败次数上限。
当用户连续认证失败次数超过上限时,设备自动锁定该用户账号。
必须由其他账号,通常为具有管理员权限的账号,才可以解除该账号锁定结果:现网已实现(系统默认是10次)8.对于采用静态口令认证技术的设备,应支持按天配置口令生存期功能。
在配置了口令生存期后,设备在口令超过生存期的用户登录时,应提示并强迫该用户设置新口令结果:可以实现,但是应用账号不建议实现,将会影响应用系统;编号:安全要求-设备-ORACLE-配置-10-可选9.对于采用静态口令认证技术的设备,应支持配置用户不得重复使用其最近已用口令的功能。
当配置相应功能后,设备拒绝用户重复使用在限制次数内的口令结果:可以实现,但是应用账号不建议实现,将会影响应用系统;见问题8的实现10.对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号结果:现网已实现(系统默认是10次)11.对于存在关系型数据库的设备,设备应支持对数据库表,给不同数据库用户或用户组分别授予读取、修改的权限。
Oracle数据库系统安全加固规范
ELK-Oracle-01-01-03
名称
限制超级管理员远程登录
实施目的
限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。。
问题影响
允许数据库超级管理员远程非法登陆
系统当前状态
查看spfile,sqlnet.ora内容
实施步骤
1、参考配置操作
在spfile中设置REMOTE_LOGIN_PASSWORDFILE=NONE来禁止SYSDBA用户从远程登陆。在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES=NONE来禁用SYSDBA角色的自动登录。
示例:
SQL>CREATE OR REPLACE FUNCTION my_password_verify (username VARCHAR2 ,password VARCHAR2 ,old_password VARCHAR2 ) RETURN BOOLEAN IS
2 BEGIN
3 IF LENGTH(password) < 6 THEN
实施风险
高
重要等级
★
备注
1.1.5
编号
ELK-Oracle-01-01-05
名称
数据库角色
实施目的
使用数据库角色(ROLE)来管理对象的权限。
问题影响
账号管理混乱
系统当前状态
select * from dba_role_privs;
select * from user_role_privs;
记录用户拥有的role
实施风险
低
重要等级
★★★
备注
1.2.2
编号
ELK-Oracle-01-02-02
oracle数据库加固
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数据库安全加固方案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数据库安全配置基线加固操作指导书佛山供电局信息中心2014年4月目录1.1 Oracle数据库安全配置基线 (2)1.1.1 确保数据库多余用户已锁定 (2)1.1.2 口令加密 (3)1.1.3 数据库SYSDBA帐号登录控制 (3)1.1.4 口令应有复杂度要求 (5)1.1.5 应启用登录失败处理功能 (9)1.1.6 网络通信加密 (10)1.1.7 应对数据库主机管理员帐号进行控制 (10)1.1.8 依据安全策略控制用户对资源的访问 (12)1.1.9 实现管理用户的权限分离 (13)1.1.10 应对数据库数据字典保护 (14)1.1.11 确保安全审计配置符合安全审计策略的要求 (15)1.1.12 应保护审计记录避免受到破坏 (17)1.1.13 数据库系统应遵循最小安装的原则 (17)1.1.14 应设置监听口令 (17)1.1.15 应设置监听服务空闲连接超时时间 (19)1.1 Oracle数据库安全配置基线1.1.1 确保数据库多余用户已锁定利用sqlplus登录进oracle数据库执行下列语句查看所有用户:select * from all_users;1.1.2 口令加密1.1.3 数据库SYSDBA帐号登录控制1、远程登录利用sqlplus登录进oracle数据库使用show parameter命令来检查参数REMOTE_LOGIN_PASSWORDFILE确保设置为NONE。
执行语句:Show parameter REMOTE_LOGIN_PASSWORDFILE;2、自动登录在服务器上查找 SQLNET.ORA 文件,一般是$ORACLE_HOME/network/admin 目录中,不过有时路径会不一样(按实际情况查找,直接采用搜索功能也可)。
查看该文件SQLNET.AUTHENTICATION_SERVICES的值,确保为none1、远程登录2、自动登录在$ORACLE_HOME\network\admin目录下的Sqlnet.ora文件中设置SQLNET.AUTHENTICATION_SERVICES=(NONE)1.1.4 口令应有复杂度要求1.1.5 应启用登录失败处理功能利用sqlplus登录进oracle数据库。
等保测评oracle数据库加固
等保测评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 安全加固操作步骤一、 安装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)。
oracle数据库安全加固指南
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 DataGuard文档
完整版Oracle DataGuard文档目录1、主库准备工作 (3)1.1、检查数据库是否支持Data Guard(企业版才支持),是否归档模式,Enable force logging (3)1.2、如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆 (3)1.3、配置standby redolog(最佳性能模式可以忽略,如果将来变成备库且要转为其它两种模式则要建立) (4)1.4、设置主库初始化参数 (4)1.5、备份主库数据文件 (5)1.6、在主库上建立备库控制文件(控制文件通常需要有多份,手工将文件复制几份) (6)1.7、为备库准备init参数 (6)1.8、拷贝上面生成的文件backup_%T.bak、stdby_control01/02/03.ctl、initPHYSTDBY.ora到备库所在主机 (7)2、建立备库 (8)2.1、设置环境变量并建立备库一些必需目录 (8)2.2、在备库主机上生成密码文件,且sys密码和主库得一致 (8)2.4、在备库上建立spfile (9)2.5、启动物理备库 (9)2.7、配置standby redolog(最佳性能模式可以忽略,如果要转为其它两种模式则要建立) (9)2.8、在备库上,启动redo apply (10)3、主备库各参数文件内容 (10)3.1、主备库listener.ora一样,如果有不一样也是host不一样 (10)3.2、主备库tnsnames.ora一样,如果有不一样也是host和port不一样 (11)3.3、init$ORACLE_SID.ora (12)4、主库归档测试 (15)5、修改主库DataGuard保护模式 (16)5.1、LGWR传送日志的配置方法: (16)5.2、修改主库DataGuard保护模式 (17)5.3、主库修改初始化参数(主库db_wending操作) (17)5.4、主库通过命令行修改数据保护模式,重启主数据库(主库db_wending操作) (17)5.5、重启主库(主库操作) (17)5.6、查看主库保护模式是否变更成功(主库操作) (18)5.7、修改备库的log_archive_dest_2初始化参数方便数据库角色切换(备库操作) (18)5.8、查看备库数据保护模式(备库操作) (18)5.9、验证一下“最高可用性”切换成果 (19)6、DataGuard关启状态 (20)7、主备数据库切换 (21)7.1、正常切换: (21)7.2、非正常切换:(即主服务器当机的情况)启动failover (22)8、常用维护SQL (22)1、主库准备工作Host IP DB_NAME DB_UNIQUE_NAME Net Service Name(网络服务名) 主库192.168.137.128 ORCLDB WENDING db_wending备库192.168.137.129 ORCLDB PHYSTDBY db_phystdby保护模式:默认最大性能模式注意DataGuard启动顺序:启动顺序:先standby ,后primary;关闭顺序:先primary ,后standby;1.1、检查数据库是否支持Data Guard(企业版才支持),是否归档模式,Enable force logging$ sqlplus '/as sysdba'SQL> select * from v$option where parameter = 'Managed Standby';确认主库处于归档模式SQL> archive log list (先检查是否归档模式,不是则修改)startup mountalter database archivelog;alter database open;将primary数据库置为FORCE LOGGING模式SQL> alter database force logging; (强制产生日志)1.2、如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc entries=51.3、配置standby redolog(最佳性能模式可以忽略,如果将来变成备库且要转为其它两种模式则要建立)SQL> alter database add standby logfilegroup 4 ('/orahome/oradata/WENDING/stdby_redo04.log') size 50m,group 5 ('/orahome/oradata/WENDING/stdby_redo05.log') size 50m,group 6 ('/orahome/oradata/WENDING/stdby_redo06.log') size 50m,group 7 ('/orahome/oradata/WENDING/stdby_redo07.log') size 50m;standby redolog的组数参考公式:(online redolog组数 + 1) * 数据库线程数;单机线程数为1,RAC一般为2。
信息安全技术:Oracle数据库基本加固方案
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安全加固方案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数据安全解决方案(1)--- 透明数据加密TDE/technology/oramag/oracle/05-sep/o55security.html透明数据加密TDEBy Arup Nanda不写一行代码,透明的加密敏感数据!这可能是你的公司最恐怖的噩梦:有人偷走了数据库的备份磁带!当然,你可能构造了一个安全的系统,加密了最敏感的资产,然后围绕数据库服务器建了一圈防火墙来保护。
但是,小偷却采取了最简单的方法:他偷走了备份磁带,在另外一个服务器上恢复数据库、启动了数据库,然后他就可以边喝咖啡边从容的浏览数据了。
保护数据以防这种小偷不只是一个好的实践,同时也是很多法律、规则、方针的要求,你如何保护你的数据库以防止这种漏洞呢?一种解决方法是在数据库中将敏感数据加密,然后将加密密钥存储在一个不同的地方,这样即使数据被盗也是没有用的。
然而,你必须在两个互相矛盾的概念间进行平衡:应用程序访问加密密钥的方便性、防止密钥被盗的安全性。
为了能够遵从公司和政府的规章制度,你需要一个快速的解决方案,而不需要进行复杂的编码。
Oracle 10g R2提供了一个新的特性,让你只需要做如下动作:你可以不写一行代码,只需要声明你需要加密某列。
当用户插入数据的时候,数据库透明的加密数据然后存储加密后的数据。
同样的,当用户读取数据时,数据库自动进行节目。
由于加解密操作对应用程序来说都是透明的,不需要应用程序修改代码,因此这个特性就叫做:透明数据加密(TDE)。
1 TDE如何工作?我在January/February 2005 issue of Oracle Magazine上提到了Oracle 10g数据库加密的基本原理。
现在我们概述一下关键点:加密时你需要应用一个加密算法和一个加密密钥对明文输入的数据进行加解密操作;为了能够成功的解密,你必须知道加密采用的算法和密钥。
在那篇文章中,我描述了如何使用Oracle提供的加密工具来构建一个加密框架。
Oracle加固
应设置密码最长使用天数,密码过期将自动锁定账户
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的值;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PASSWORD_LIFE_TIME 180
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
1 端口设置
1.1 பைடு நூலகம்免使用默认的监听端口
配置项名称
避免使用默认的监听端口
检查方法
1检查$ORACLE_HOME/network/admin/listener.ora中是否有port=1521一项。
操作步骤
1 备份$ORACLE_HOME/network/admin/目录下的tnsnames.ora, listener.ora文件
9 $ lsnrctl start
10 SQL>startup 启动数据库
回退操作
关闭Listener和数据库,恢复备份的文件到原来的目录,重启Listener和数据库。
风险
1.修改默认端口会影响到目前使用该数据库的应用,需要这些应用同步修改为新的端口
2.需要关闭重启数据库以及关闭重启Listener来完成端口的修改
2.3 锁定与运行维护无关用户和用户默认密码的修改
配置项名称
锁定与运行维护无关用户和用户默认密码的修改
检查方法
l 可以通过下面的语句查看系统中所有用户和用户状态:
SQL> select username , account_status from dba_users where account_status='OPEN';
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设置步骤
$ lsnrctl
LSNRCTL> change_password
Old password: <OldPassword> Not displayed
New password: <NewPassword> Not displayed
Reenter new password: <NewPassword> Not displayed
SQL> CREATE PROFILE myprofile
LIMIT FAILED_LOGIN_ATTEMPTS 3 ---(单位次)
PASSWORD_LOCK_TIME 10/1440 ---(单位天,3次失败后锁定10分钟)
PASSWORD_GRACE_TIME 5 ---(单位天)
PASSWORD_LIFE_TIME 60 ---(单位天)
PASSWORD_GRACE_TIME 7
操作步骤
1 执行SQL> select username ,profile from dba_users where account_status='OPEN';来查找出系统主要的活动应用帐号和profile名字。保存执行的结果。
2 可以用下列语句进行proflie的创建:
PASSWORD_REUSE_TIME 365---(单位天)
PASSWORD_REUSE_MAX 4---(单位次)
PASSWORD_VERIFY_FUNCTION DEFAULT ;
----(如果不使用校验函数,用DEFAULT ,否则用sys用户下自己----建立的一个校验函数名)
----PASSWORD_VERIFY_FUNCTION自定义函数必须在ORACLE sys用户下建立,该函数必须含有三个varchar2类型的参数,分别是用户名,新密码,旧密码。
对于处于OPEN状态下的用户,和管理员确认该用户是否有用。
3 用下面的命令把新创建的profile赋给制定的用户
SQL〉ALTER USER user1 PROFILE myprofile;
回退操作
把用户的profile重新设置为原来的profile。
风险
修改业务帐号的profile会影响到业务应用,需要所有相关访问数据库的应用的帐号密码定期根据profile做修改,可能会导致修改应用程序或应用帐号密码配置文件的定期修改。
7 在tnsnames.ora中添加一项
listener1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1522))
)
)
8 SQL>create spfile from pfile
2 用户与权限
2.1 设置LISTENER的启动关闭密码
配置项名称
设置LISTENER的启动关闭密码
检查方法
检查$ORACLE_HOME/network/admin/listener.ora文件中是否有PASSWORDS_LISTENER一项,若有说明密码已设定。
操作步骤
1 备份$ORACLE_HOME/network/admin/listener.ora文件
LSNRCTL> save_config
回退操作
关闭Listener,恢复备份的文件到原来的目录,启动Listener。
风险
修改Listener密码不影响现有的应用
2.2 数据库系统用户密码强度策略设置
配置项名称
数据系统用户密码强度策略设置
检查方法
1.执行SQL> select username ,profile from dba_users where account_status='OPEN';来查找出系统主要的活动应用帐号和profile名字。
2.执行SQL> select resource_name,limit from dba_profiles where profile='profile名字' AND resource_type='PASSWORD'; 来查找相应用户profile中对应的下面几个指标的值
-------------------------------- -------------