Oracle数据库安全加固文档

合集下载

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版

Oracle漏洞扫描安全加固Word版
如无特殊说明,本文中的执行用户均为oracle
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数据库系统加固修订版(汇编)

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删除数据库无用的表。

数据库加固方案

数据库加固方案

以我给的标题写文档,最低1503字,要求以Markdown 文本格式输出,不要带图片,标题为:数据库加固方案# 数据库加固方案## 1. 引言在当今信息化时代,数据库已成为企业信息系统的核心。

然而,随着互联网的快速发展,数据库面临着各种安全威胁。

为了保护数据库的安全性和完整性,数据库加固已成为企业不可或缺的一部分。

本文将介绍数据库加固的必要性,并提供一些常用的数据库加固方案。

## 2. 数据库加固的必要性数据库作为企业最重要的数据存储和处理工具之一,其安全性至关重要。

以下是数据库加固的必要性:### 2.1 数据保密性数据库中存储着企业的核心业务数据、客户信息等重要信息。

为了防止敏感数据被未授权的人员访问和泄露,需要采取措施保护数据库的数据保密性。

### 2.2 数据完整性数据库中的数据应该能够保证其完整性,即数据没有被非法篡改或意外破坏。

通过加固数据库,可以减少数据受到攻击和篡改的风险,保证数据的完整性。

### 2.3 数据可用性数据库作为企业信息系统的核心,其高可用性是非常重要的。

通过加固数据库,可以提高数据库的稳定性和可用性,减少系统故障以及非计划停机的风险。

## 3. 常用的数据库加固方案针对数据库的加固需求,以下是一些常用的数据库加固方案:### 3.1 强化系统安全性通过强化操作系统的安全性,可以提高数据库的整体安全性。

可以采取以下措施:- 及时安装操作系统的安全更新补丁;- 限制操作系统的访问权限;- 配置合适的防火墙规则,限制对数据库的访问;- 禁用不必要的服务和端口;- 加密操作系统的存储介质等。

### 3.2 数据库身份验证和访问控制合理的身份验证和访问控制是保护数据库的重要手段。

可以采取以下措施:- 为数据库设置强密码策略,并定期更改密码;- 限制只有授权用户才能访问数据库;- 细粒度的访问控制,根据用户角色和权限,控制其对数据库的操作;- 监控和记录数据库访问日志,及时发现异常行为;- 使用基于角色的访问控制工具,如Oracle的`Oracle Database Vault`。

oracle数据库安全加固

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数据库安全加固操作手册

oracle数据库安全加固操作手册

1.支持按用户分配账号。

结果:现网已实现2.与设备运行、维护等工作无关的账号,应能够删除或锁定。

结果:现网已实现3.应按照用户分配账号。

避免不同用户间共享账号。

避免用户账号和设备间通信使用的账号共享。

结果:现网已实现4.应删除或锁定与设备运行、维护等工作无关的账号。

结果:现网已实现5.限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。

结果:可以实现,但是需要需要重起数据库,影响业务,不建议实现,而且通过防火墙限制访问数据库的端口方式已经实现。

6.对于采用静态口令认证技术的设备,应支持数字、小写字母、大写字母和特殊符号4类字符构成的口令。

应支持配置口令复杂度。

在配置了复杂度后,设备自动拒绝用户设置不符合复杂度要求的口令结果:部分账号已实现(system和CS车务通),其他账号实施时需要重新配置现网的应用配置,影响业务,不建议实现。

7.对于采用静态口令认证技术的设备,应支持配置用户连续认证失败次数上限。

当用户连续认证失败次数超过上限时,设备自动锁定该用户账号。

必须由其他账号,通常为具有管理员权限的账号,才可以解除该账号锁定结果:现网已实现(系统默认是10次)8.对于采用静态口令认证技术的设备,应支持按天配置口令生存期功能。

在配置了口令生存期后,设备在口令超过生存期的用户登录时,应提示并强迫该用户设置新口令结果:可以实现,但是应用账号不建议实现,将会影响应用系统;编号:安全要求-设备-ORACLE-配置-10-可选9.对于采用静态口令认证技术的设备,应支持配置用户不得重复使用其最近已用口令的功能。

当配置相应功能后,设备拒绝用户重复使用在限制次数内的口令结果:可以实现,但是应用账号不建议实现,将会影响应用系统;见问题8的实现10.对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号结果:现网已实现(系统默认是10次)11.对于存在关系型数据库的设备,设备应支持对数据库表,给不同数据库用户或用户组分别授予读取、修改的权限。

Oralce加固步骤及说明

Oralce加固步骤及说明

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数据库加固

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.连接超时限制(属于概要文件的配置)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;
回退操作
把帐户的密码和状态恢复到原来状态
风险
修改默认密码需要业务人员确认时候该用户是否在用,如果在用可能会影响到业务应用
相关文档
最新文档