Oracle 11g 安全加固
1.安全加固的检查方向
2.安全加固检查safeCheck.sh
3.安全加固执行safeExec.sh
1.安全加固的检查方向
## 1.1.sysdba用户远程登录限制(查看Oracle登录认证方式) ##
检查:
`show parameter remote_login_passwordfile`
整改:
alter system set remote_login_passwordfile = NONE scope=spfile;
注:需要重启库生效。
1.2.是否开启了资源限制
show parameter resource_limit
alter 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 = yes
tcp.invited_nodes = (ip1,ip2…)
1.10.超时的空闲远程连接是否自动断开
根据实际需要设置合适的数值。
在$ORACLE_HOME/network/admin/sqlnet.ora中设置下面参数:
SQLNET.EXPIRE_TIME=10
2.安全加固检查safeCheck.sh
```
#!/bin/bash
#name:safeCheck.sh
#function:to create a safe check report.
#usage: oracle用户登录,执行 sh safeCheck.sh > /tmp/safeCheck.log
logon database
sqlplus -S / as sysdba <<EOF
--format
prompt ============================
prompt == format
prompt ============================
prompt
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30
--check
prompt ============================
prompt == 1.sysdba用户远程登录限制
prompt ============================
prompt
show parameter remote_login_passwordfile
prompt 结果应为none.
prompt ======================
prompt == 2.resource_limit
prompt ======================
prompt
show parameter resource_limit
prompt 结果应为true.
prompt ===========================
prompt == 3.登录失败的帐号锁定策略
prompt ===========================
prompt
select * from dba_profiles order by 1;
prompt 关注FAILED_LOGIN_ATTEMPTS参数
prompt ===========================
prompt == 4.数据库用户帐号检查
prompt ===========================
prompt
select username,profile from dba_users where account_status='OPEN';
prompt 正常使用的用户列表
prompt ==========================
prompt == 5.范例数据库帐号
prompt ==========================
prompt
select * from all_users order by created;
prompt 关注有无示例账户scott
prompt ===========================
prompt == 6.dba权限账户检查
prompt ===========================
prompt
prompt ===========================
prompt == 7.数据库账户口令加密存储
prompt ===========================
prompt
prompt =============================
prompt == 8.数据库密码安全性校验函数
prompt =============================
prompt
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';
prompt 结果应该不为null
--logoff database
EOF
check the files
echo ===================
echo == 9.设定信任IP集
echo ===================
echo
more $ORACLE_HOME/network/admin/sqlnet.ora
添加如下
tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)
echo ===================================
echo == 10.超时的空闲远程连接是否自动断开
echo ===================================
echo
根据实际需要设置合适的数值。
more $ORACLE_HOME/network/admin/sqlnet.ora
添加如下一行
SQLNET.EXPIRE_TIME=10
<h1 id="3"> 3.安全加固执行safeExec.sh </h1>
!/bin/bash
name:safeExec.sh
function:to execute the script for safe.
usage: oracle用户登录,执行 sh safeExec.sh > /tmp/safeExec.log
logon database
sqlplus -S / as sysdba <<EOF
--format
prompt ============================
prompt == format
prompt ============================
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30
--execute
prompt ============================
prompt == 1.sysdba用户远程登录限制
prompt ============================
alter system set remote_login_passwordfile=none scope=spfile;
prompt ======================
prompt == 2.resource_limit
prompt ======================
alter system set resource_limit=true;
prompt ===========================
prompt == 3.登录失败的帐号锁定策略
prompt ===========================
alter profile default limit FAILED_LOGIN_ATTEMPTS 10;
prompt ===========================
prompt == 4.数据库用户帐号检查
prompt ===========================
--select username,profile from dba_users where account_status='OPEN';
prompt I think I have nothing to do in this step.
prompt ===========================
prompt == 5.范例数据库帐号
prompt ===========================
prompt 是否删除范例scott用户?
--drop user scott cascade;
prompt ===========================
prompt == 6.dba权限账户检查
prompt ===========================
prompt I think I have nothing to do in this step.
prompt ===========================
prompt == 7.数据库账户口令加密存储
prompt ===========================
prompt 11g版本,数据库层面就是加密的嘛~
prompt =============================
prompt == 8.数据库密码安全性校验函数
prompt =============================
prompt 执行创建安全性校验函数的脚本
@?/rdbms/admin/utlpwdmg.sql
--logoff database
EOF
check the files
echo ===================
echo == 9.设定信任IP集
echo ===================
more $ORACLE_HOME/network/admin/sqlnet.ora
添加如下
tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)
echo ===================================
echo == 10.超时的空闲远程连接是否自动断开
echo ===================================
根据实际需要设置合适的数值。
more $ORACLE_HOME/network/admin/sqlnet.ora
添加如下一行
SQLNET.EXPIRE_TIME=10
## 针对第9和第10步骤中的sqlnet.ora配置文件示例: ##
注意如果是ASM实例,sqlnet.ora配置文件是grid用户下$ORACLE_HOME/network/admin/sqlnet.ora的。
SQLNET.EXPIRE_TIME=10
tcp.validnode_checking = yes
tcp.invited_nodes = (192.168.99.*)
Oracle 11g 安全加固的更多相关文章
- Oracle 11g必须开启的服务及服务详细介绍
转自:http://www.educity.cn/shujuku/404120.html 成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通 ...
- 【Oracle 集群】Oracle 11G RAC教程之集群安装(七)
Oracle 11G RAC集群安装(七) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总. ...
- Linux平台oracle 11g单实例 安装部署配置 快速参考
1.重建主机的Oracle用户 组 统一规范 uid gid 以保证共享存储挂接或其他需求的权限规范 userdel -r oracle groupadd -g 7 oinstall groupadd ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- Oracle 11g静默安装软件+手工创建数据库
由于是二次跳转+远程操作,无法使用图形界面,不能直接图形界面安装.采用静默安装软件+手工创建数据库的方式完成需求. 静默模式安装Oracle软件,配置监听程序 手工建库 检查各组件是否符合要求 1. ...
- Oracle 11g静默安装简明版
环境:RHEL 6.5 + Oracle 11.2.0.4 1. 初步处理应答文件 2. 静默安装软件 3. 静默安装监听 4. 静默dbca建库 说明: 本文默认安装软件前的步骤已经设置完毕 如果没 ...
- RHEL6.4 + Oracle 11g DG测试环境快速搭建参考
环境现状: 两台虚拟主机A和B: 1. A机器已安装ASM存储的Oracle 11g 实例 参考:http://www.cnblogs.com/jyzhao/p/4332410.html 2 ...
- Oracle 11g DG配置简明版
环境: 主库A机:在线生产环境,RHEL 6.4 + Oracle 11.2.0.3 备库B机:新增备机,RHEL 6.4 需求: 对生产环境最小影响前提下配置DG备库. 目录: 一.B机安装相同版本 ...
- Oracle 11g RAC 应用补丁简明版
之前总结过<Oracle 11.2.0.4 RAC安装最新PSU补丁>, 这次整理为简明版,忽略一切输出的显示,引入一些官方的说明,增加OJVM PSU的补丁应用. 环境:RHEL6.5 ...
随机推荐
- ZZmsvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义 .的分析解决办法 (转)
很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Library) 连结,以及关于 MSVC 与 CRT 之间的种种恩怨情仇. 如果你使用的作业系统是 Linux.Mac 或其他非 W ...
- 斐波那契数列(Fibonacci)递归和非递归实现
序列前9项为:0, 1, 1, 2, 3, 5, 8, 13, 21 要注意非递归的话就是那一个变量帮助存储当前下一项的值,然后依次挪动两个指针往下即可 注意如果n太大 会溢出 ...
- 解决POI读取Excel如何判断行是不是为空
在作Excel表导入数据库的时候要统计成功导入了多少条,失败了多少条. 问题一:Excel表里有225行,只有3行是有数据的,但是我在读Excel表的时候它连没有数据的行也读进来了. 问题二:如果你是 ...
- [算法导论]BFS @ Python
class Graph: def __init__(self): self.V = [] class Vertex: def __init__(self, x): self.key = x self. ...
- 用thinkphp将网络上的图片下载到本地服务器
我用的thinkphp版本是3.2.3,这个版本的跟更早些版本的调用方法不太一样,正确的调用方法是: Demo3Controller.class <?php namespace Home\Con ...
- WPF下载远程文件,并显示进度条和百分比
WPF下载远程文件,并显示进度条和百分比 1.xaml <ProgressBar HorizontalAlignment="Left" Height="10&quo ...
- 修改 Semantic UI 的默认字体
Semantic UI 默认使用的是谷歌提供的字体,并且是直接使用了谷歌的官方链接.由于大家都知道的原因,谷歌网站在国内访问速度很差,甚至根本无法访问,还有就是可能会在离线环境下使用 Semantic ...
- ORACLE 日期函数[转载]
一. 常用日期数据格式 .Y或YY或YYY 年的最后一位,两位或三位 SQL> Select to_char(sysdate,'Y') from dual; TO_CHAR(SYSDATE,'Y ...
- PInvoke在 2.0 3.0的时候正常 升级到4.0后出错。
方法1: 设置 CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl,但是我设置了也是出错.换一个con ...
- 聊聊IO多路复用之select、poll、epoll详解
本文转载自: http://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666538922&idx=1&sn=e6b436ef ...