oracle数据库安全
- 格式:ppt
- 大小:300.50 KB
- 文档页数:67
Oracle数据库安全配置基线
简介
本文档旨在提供Oracle数据库的安全配置基线指南,以帮助确保数据库的安全性。
通过按照以下步骤进行配置,可以减少潜在的安全威胁和风险。
配置步骤
以下是Oracle数据库安全配置的基线步骤:
1. 安装最新的数据库补丁:确保在安装数据库之前,先安装最新的补丁程序,以修复已知的安全漏洞。
2. 禁用默认的系统帐户:在部署数据库之前,禁用默认的系统帐户(如SYSTEM、SYS、SYSMAN等),并创建自定义的管理员帐户。
3. 启用密码复杂性检查:使用强密码策略,确保数据库用户的密码具备足够的复杂性和强度。
4. 实施账户锁定策略:设置账户锁定策略,限制登录失败的次数,以防止暴力。
5. 限制数据库访问权限:核实数据库用户的访问权限,仅赋予他们所需的最低权限,以限制潜在的恶意操作。
6. 启用审计功能:启用Oracle数据库的审计功能,记录和监控数据库的所有活动,便于发现潜在的安全威胁。
7. 启用网络加密:使用SSL/TLS等加密协议,确保数据库与客户端之间的通信是安全和加密的。
8. 实施备份和恢复策略:定期备份数据库,并测试恢复过程,以防止数据丢失和灾难恢复。
9. 定期审查和更新安全配置:定期审查数据库的安全配置,并根据最新的安全标准和最佳实践的推荐,更新配置以提高安全性。
总结
通过遵循以上基线配置步骤,可以帮助提高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.超时的空闲远程连接是否自动断开根据实际需要设置合适的数值。
1.支持按用户分配账号。
结果:现网已实现2.与设备运行、维护等工作无关的账号,应能够删除或锁定。
结果:现网已实现3.应按照用户分配账号。
避免不同用户间共享账号。
避免用户账号和设备间通信使用的账号共享。
结果:现网已实现4.应删除或锁定与设备运行、维护等工作无关的账号。
结果:现网已实现5.限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。
结果:可以实现,但是需要需要重起数据库,影响业务,不建议实现,而且通过防火墙限制访问数据库的端口方式已经实现。
6.对于采用静态口令认证技术的设备,应支持数字、小写字母、大写字母和特殊符号4类字符构成的口令。
应支持配置口令复杂度。
在配置了复杂度后,设备自动拒绝用户设置不符合复杂度要求的口令结果:部分账号已实现(system和CS车务通),其他账号实施时需要重新配置现网的应用配置,影响业务,不建议实现。
7.对于采用静态口令认证技术的设备,应支持配置用户连续认证失败次数上限。
当用户连续认证失败次数超过上限时,设备自动锁定该用户账号。
必须由其他账号,通常为具有管理员权限的账号,才可以解除该账号锁定结果:现网已实现(系统默认是10次)8.对于采用静态口令认证技术的设备,应支持按天配置口令生存期功能。
在配置了口令生存期后,设备在口令超过生存期的用户登录时,应提示并强迫该用户设置新口令结果:可以实现,但是应用账号不建议实现,将会影响应用系统;编号:安全要求-设备-ORACLE-配置-10-可选9.对于采用静态口令认证技术的设备,应支持配置用户不得重复使用其最近已用口令的功能。
当配置相应功能后,设备拒绝用户重复使用在限制次数内的口令结果:可以实现,但是应用账号不建议实现,将会影响应用系统;见问题8的实现10.对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号结果:现网已实现(系统默认是10次)11.对于存在关系型数据库的设备,设备应支持对数据库表,给不同数据库用户或用户组分别授予读取、修改的权限。
防范黑客攻击Oracle系统的八大常用方法的销售在向客户兜售其数据库系统一直把它吹捧为牢不可破的,耍嘴皮子轻易,兑现起来可就不那么轻易了。
不管什么计算机系统,的方法,Oracle也不例外。
本文将和大家从黑客的角度讨论是用哪些方法把黑手伸向了你原以为他们不能触及的数据,希望作为Ora 清楚的阐明自己基础架构的哪些区域比较轻易受到攻击。
同时我们也会讨论保护系统防范攻击的方法。
入攻击部分的Oracle数据库都具有为某种类型网络应用服务的后端数据存储区,网页应用使数据库更轻易成为我们的攻击目标体现在三个方面非常复杂,具有多个组成成分,使数据库治理员难以对它们进行彻底检查。
其二,阻止程序员侵入的屏障很低,即便不是C语言的些页面进行攻击。
下面我们会简单地解释为什么这对我们这么重要。
第三个原因是优先级的问题。
网页应用一直处于发展的模式,所陈出新。
这样安全问题就不是一个必须优先考虑的问题。
攻击是一种很简单的攻击,在页面表单里输入信息,静静地加入一些非凡代码,诱使应用程序在数据库里执行这些代码,并返回一些。
例如,有一份用户登录表格,要求输入用户名和密码才能登录,在用户名这一栏,输入以下代码:select username, passWord from all_users;--据库程序员没有聪明到能够检查出类似的信息并“清洗”掉我们的输入,该代码将在远程数据库系统执行,然后这些关于所有用户名返回到我们的浏览器。
会认为这是在危言耸听,不过还有更绝的。
David Litchfield在他的著作《Oracle黑客手册》(Oracle Hacker's Handbook)中把某种非其名曰:圣杯(holy grail),因为它曾通杀Oracle 8到Oracle10g的所有Oracle数据库版本。
很想知道其作用原理吧。
你可以利用_EXTENSION的程序包,使用注入攻击获取执行一个异常处理程序的代码,该程序会赋予用户或所有相关用户数据库治理员的特权。
数据库---实验四oracle的安全性和完整性控制实验内容:(⼀)授权1. 以dba⽤户的⾝份登陆oracle,创建⽤户u1+学号后四位,u2+学号后四位。
SQL> create user u1_3985 identified by "123";SQL> create user u2_3985 identified by "123";SQL> create user u3_3985 identified by "123";SQL> create user u4_3985 identified by "123";2. 对1.中创建的⽤户授予connect,resource的权限。
SQL> grant connect,resource to u1_3985,u2_3985;3. ⽤户jsj***把查询Student表权限授给⽤户u1+学号后四位,u1执⾏相应的查询。
SQL> grant select on student to u1_3985;SQL> con u1_3985/123@orcl;1)查询jsj***⽤户的全体学⽣的详细记录。
SQL> select * from j2014213985.student ;2)查询jsj***⽤户的所有姓刘的学⽣的姓名、学号和性别。
SQL> select sname,sno,ssex from j2014213985.student where sname like '刘%';3)查询jsj***⽤户的名字中第⼆字为“勇”字的学⽣的姓名和学号。
SQL> select sname,sno from j2014213985.student where sname like '_明';4. ⽤户jsj***把对Student表和Course表的全部权限授予⽤户u2+学号后四位,u3+学号后四位;u2+学号后四位⽤户修改jsj***的数据。
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数据库。
目录1概述 (2)1.1适用范围 (2)1.2内部适用性说明 .......................................................................................................... 错误!未定义书签。
1.3外部引用说明 .............................................................................................................. 错误!未定义书签。
1.4术语和定义 .................................................................................................................. 错误!未定义书签。
1.5符号和缩略语 (2)2ORACLE安全配置要求 (2)2.1账号 (2)2.2口令 (7)2.3日志 (11)2.4其他 (13)1概述1.1适用范围本规范明确了Oracle数据库安全配置方面的基本要求。
1.2符号和缩略语2ORACLE安全配置要求本规范所指的设备为ORACLE数据库。
本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。
本规范从ORACLE数据库的认证授权功能、安全日志功能,和其他自身安全配置功能提出安全要求。
2.1账号ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。
2.1.1按用户分配帐号2.1.2删除或锁定无关帐号2.1.3限制SYSDBA用户的远程登录2.1.4用户权限最小化2.1.5使用ROLE管理对象的权限2.1.6控制用户属性2.1.7启用数据库字典保护2.2口令2.2.1静态口令认证的密码复杂度控制2.2.2静态口令认证的密码生命周期2.2.3静态口令认证的密码重复使用限制2.2.4景泰口令认证的连续登录失败的帐号锁定策略2.2.5更改数据库默认帐号的密码2.2.6操作系统级的帐户安全策略2.3日志2.3.1登录日志功能2.3.2DDL日志2.3.3数据库审记2.4其他2.4.1VPD与OLS2.4.2Data Vault2.4.3Listener设定密码保护2.4.4设定信任IP集2.4.5加密网络传输2.4.6断开超时的空闲远程连接2.4.7限制DBA组中的操作系统用户数量。
Oracle数据库安全配置规范Oracle数据库安全配置规范1概述1.1目的本规范明确了oracle数据库安全配置方面的基本要求。
为了提高oracle数据库的安全性而提出的。
1.2范围本规范适用于XXXXX适用的oracle数据库版本。
2配置标准2.1账号管理及认证授权2.1.1按照用户分配账号[目的]应按照用户分配账号,避免不同用户共享账号。
[具体配置]create user abc1 identified by password1;create user abc2 identified by password2;建立role,并给role授权,把role赋给不同的用户删除无关账号。
[检测操作]2.1.2删除无用账号[目的]应删除或锁定与数据库运行、维护等工作无关的账号。
[具体配置]alter user username lock;drop user username cascade;[检测操作]2.1.3限制DBA远程登入[目的]限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。
[具体配置]1.在spfile中设置REMOTE_LOGIN_PASSWORDFILE=NONE来禁止SYSDBA用户从远程登陆。
2.在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES=NONE来禁用SYSDBA角色的自动登入。
[检测操作]1.以Oracle用户登入到系统中。
2.以sqlplus ‘/as sysdba’登入到sqlplus环境中。
3.使用show parameter 命令来检查参数REMOTE_LOGIN_PASSWORDFILE是否设置为NONE。
Show parameter REMOTE_LOGIN_PASSWORDFILE4.检查在$ORACLE_HOME/network/admin/sqlnet.ora文件参数SQLNET.AUTHENTICATION_SERVICES是否被设置成NONE.2.1.4最小权限[目的]在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。