资源描述
XXXOracle数据库平安加固方案
2014年11月19日
前言
为标准Oracle数据库平安加固操作,全面系统地降低Oracle数据库面临的风险,及时堵塞漏洞,提高平安防护能力,特制 订?XXXOracle数据库平安加固方案?。
审计操作
2.重启数据库.使设置生效
linux/unix平台那么 会记录在
audit_file_dest 参 数指定文件中;审计 功能对数据库的性能 和磁盘空间要求较 高;需要重启数据库, 应提前通知业务部门
20
配置日志策略,确保数据库 的归档日志文件、在线日志 文件、网络日志、跟踪文件、 警告日志记录功能是否启 用并且仃效实施
1 .配宜归档模式
将数据库正常美闭
SQL>SHUTDOWN IMMEDIATE
启动到MOUNT模式
SQL>STARTUP MOUNT
SQL>ALTER DATABASE ARCHIVELOG
SQL>ALTER DATABASE OPEN
2 .配置归档日志的名称格式
ALTER SYSTEM SET 1og_archvie_format=,%S_%T^%R. 1og' scope=spfile
3 .配置归档位置
ALTER SYSTEM SET 1og_arch i ve_dest_1=' 1ocat i on=\orac1e\oradata\arch i ve1' scope=spfile
对磁盘空间要求非常 高;需要重启数据库, 应提前通知业务部门
21
配置日志管理策略、保证口 志存放的地点的平安可奇
1.配置多个归档位置,包括本地归档位置和远程归档位置
ALTER SYSTEM SET log_archive dest_2=,location=\oracle\oradata\archive2' scope=spfile
ALTER SYSTEM SET log_archive_dest_3=,service=standby' scope=spfile
配置远程归档位置时,SERVICE选项需要制定远程数据库的网络效劳名(在tnsnames. Ora文 件中配置)
对磁盘空间要求非常 高:需要重启数据库, 应提前通知业务部门
漏洞加固
22
安装系统平安补丁,对扫描 或手工检查发现的系统漏 洞进展修补
1 .运行防病毒软件(如SEP)保护操作系统
2 .下载并安奘相应的平安补丁
更新平安补丁可能对 数据库系统、应用系 统造成影响:需要进 展严格测试并做好备 份恢豆措施后实施.
退出系统
23
退出系统
1 .断开数据库连接
2 .关闭和数据库主机之间的连接
5.方案实施操作记录
Oracle数据库平安加固操作记录见附录A。
附录A
Oracle数据库平安加固操作记录
编号:日期: 年 月日
名称:
地点:
序号
工程
完成情况
1
登录系统
2
帐号权限加固
3
数据访问控制加固
4
效劳加固
5
网络访问控制加固
6
口令策略加固
7
审计谋略加固
8
漏洞加固
9
退出系统
记录
请详细记录操作情况:
操作说明
操作命令
备注
删除权限
REVOKE select any table FROM <username>;
成功
本方案适用于Oracle数据库平安加固工作要求。
本方案由XXX负责起草设计。
本方案主要起草人:XXX。
目录
1 .适用范围2.方案实施准备3
2 . 1准备工作3
3 .2危险点分析及慎控措施3.方案实施流程4
2 .方案实施程序及标准4.方案实施操作记录11
XXXOracle数据库平安加固方案
i.适用范围
本方案适用于XXX Oracle 8i. 10g数据库平安加固。
2 .方案实施准备准备工作
序号
内容
标准
1
核实Oracle数据库平安加固操作申谙
熟悉本次方案实施的内容和操作
2
填写、核实工作操作内容
填写工作操作内容,并经相美责任人书面认可
3
获知木次操作所需的信息
1、获知Oracle数据库主机的地址、用户名和密码
2、获知Oracle数据库sys和system用户的密码
危险点分析及预控措施
序号
危险点
防范措施
1
修改帐号权限时,造成权限过大或过小
以最小权限原那么为每个帐号分配其必须的角色、系统权限、对象权限 和语句权限
2
删除或制止有用的效劳、组件等
对无用的效劳、组件进展排查,并和应用系统厂商进展确认
3
增加网络访问控制,对应用系统造成影响
操作前和业务部门、应用系统厂商进展确认并做好测试工作
.方案实施流程
3 .方案实施程序及标准
序号
工作内容
操作方法及标准
平安措施及本卷须知
登录系统
1
通过管理主机登录Oracle 数据库主机
通过ssh或vnc或RDP登录Oracle数据库主机,输入用户名密码
注意用户名、密码的 保密
2
登录Oracle数据库
以sys用户的身份登录Oracle数据库,默认:
sqlplus / as sysdba (10g) IjJc sqlplus usornamc/password (8i)
帐号权
限加固
3
限制应用用户在数据库中 的权限,尽量保证最小化, 防止授予了 DBA权限
1 .杳看权限
SQL>SELECT * FROM dba_sys_privs WHERE grantce=<username>:一系统权限
SQL>SELECT * FROM dba_tab_privs WHERE grantee=<usernamc>:—对象权限
SQL>SELECT * FK(W dba_rolc_privs WHERE grantco=<uscrname>:一赋予的角色
2 .收回相应权限(例如收回select any table权限)
SQL>REVOKE select any table FROM <usernamc>:
3 .收回应用用户的DBA角色
SQL>REVOKE dba FROM 〈username);
防止分配权限过大或 过小
-1
撤消public角色的程序包
1.杳看public角色的程序包执行权限
SQL>SELECT table_name PROM dba tab privs WHERE grantee='PUBLIC' and
执行权限
privilege:'EXECUTE';
2.撤销public角色的程序包执行权限(例如撤销在utl file包上的执行权限)
SQL>REVOKE execute ON utl file FROM public;
Oracle 官方建议撤销 publ ic 角色对le、utl、utl tcp> utl_smlp» dbns random
程序包的执行权限.
5
修改系统帐户的默认口令 (特别是管理员角色类帐 户)锁定所有不需要的用户
1 .修改sys和system 口令
SQL>ALTER USER sys IDENTIFIED BY <nerpiisswd>;
SQL>ALTER USER system IDENTIFIED BY <newpasswd>;
2 .锁定不需要的用户
SQL>ALTER USER 〈username〉 ACCOUNT LOCK;
6
删除系统中多余的自建帐 号
1 .看看用户自建账号
SQL>SELECT username FROM al 1 users;
2 .婀除或者禁用多余自建账号
SQL>DROP USER <usemame> CASCADE;
7
为所有应用用户配置强口 令
1,根据设置的口令策略修改弱口令
SQL>ALTER USER 〈username〉 IDENTIFIED BY <newpasswd>;
数据访问控制加固
8
严格限制库文件的访问权 限,保证除属主和root外, 其他用户对库文件没有写 权限
1 .用操作系统命令查看库文件访问权限(以RedHat Linux为例)
Is -1 $ORACLE_BASE/oradata
2 .用操作系统命令删除库文件组和其他用户的写权限
chmod 640 $ORACLE_BASE/oradata/*
3 . Windows系统同理(方法不同)
修改权限可能对局部 应用系统造成影响, 褥要联系业务部门和 应用系统厂商做好相 美的测试工作
9
®fi$ORACLE_HOME/bin 其
下所有程序的访问权限或 其他平安控制机制
1 .用操作系统命令查看bin目录下所有程序文件的访问权限(以RedHat Linux为例)
Is -1 $0RACLE_H0ME/bin
2 .用操作系统命令删除组和其他用户的写权限
chmod 640 $OKACLE_HOME/bin/*
修改权限可能对局部
应用系统造成影响.
需要联系业务部门和 应用系统厂商做好相
J
J
关的测试工作
效劳加
固
10
在不影响业务系统正常运 行情况下,停顿或禁用与承 放业务无关的效劳或组件
1 .用操作系统命令查看有无与业务无关的效劳或组件
2 .用操作系统命令停顿或禁用与业务无关的效劳或组件
需要和业务部门确认
11
删除数据库中存在有无用 的、测试的、废弃的表.视 图
1 .查看数据库中表或视图等对象
SQL>SELECT * FROM dba.tables:
SQL>SELECT * FROM dba_views:
2 .删除数据库中存在的无用的、测试的、废弃的表或视图
SQL>DROP TABLE <tablenamo>:
SQL>DROP VIEW <viewnam©>:
需要和业务部门确认
网络访问控制加固
12
设置TNS登录的1P眼制, 仅允许最少的必要的1P地 址可连接TNS监听器
1 .在目录$ORACLE』OYE/network/admin下修改sqlnet. ora文件实现TNS登录IP限制,设置以 下配设信息:
tcp.validn<xie_checking=yes
。允许访问的ip
tcp. invited_nodes =(ipl, ip2,)
才不允许访问的ip tcp. exc1uded_nodes=(i p1, ip2,)
2 .修改sqlnet. ora后,.重新启动listener效劳
可能对局部应用系统 造成影响,需要联系 业务部门和应用系统 厂商做好相关的测试 工作
13
关闭远程操作系统认证
1,在目录$ORACLE_HOME/ne,ork/admin下修改sqlnet. ora文件,设置以下配身信息: sqlnet. authentication_services=(NONE)
2.修改参数 Remote_login_passwordfile 为 EXCLUSIVE 或 SHARED
SQL>ALTER SYSTEM SET REiK)TE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE:
需要重启效劳,应提 前通知业务部门
3,修改参数 REMOTE_OS_AITHENT
SQL>ALTER SYSTEM SET REVK)TE_OS_AUTHENT=FALSE SCOPE=SPFILE;
4,重启数据库和监听使修改生效
14
在不影响应用的前提下,更
改默认的1521端口
1 .查看当前监听的状态
Isnrctl status
2 .停顿监听
Isnrctl stop
3 .修改监听文件的端口号,在目录$ORACLE_HOVE/nctwork/admin下修改listener.ora文件 (例如把端口号改为“251)
LISTENER =
(DESCRIPTIONJJST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST=1XX?ALHOST)(PORT=11251))
)
)
1.修改初始化参数local 1 istener
SQL>AI.TER SYSTEM SET local listener='"(address=(protocol=tcp) (host=localhost) (pnrt=l 1251 J)",;
SQDquit
5 .重启监听器
Isnrctl start
6 .修改完毕,使用新端口登录测试
netstat -tunap I grep 11251
Isnrctl status
客户端连接测试
对所仃应用系统都行 影响,需要跟业务部 门配合做好评估和测 试工作
15
限制对监听器的远程管理, 并设置监听器管理口令
1.进入监听设置状态
Isnrctl
可能对局部应用系统 造成膨响,需要联系
(8i)
2 .设置当前监听器
set current」istener 〈listenername)
3 .设置密码 change_password set password
4 .保存设置 save_config
5 .检查 1 istener. ora 文件,看是否有一条 PASSWORDS_<1 istenername》的记录
业务部门和应用系统 厂商做好相关的测试
工作
16
外部程序调用监听配置的
删除(8i)
1 .翻开listener.ora文件,删除以下配置文件: (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROCO)) )
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_1IOME = C:\oracle\ora81) (PROGRAM = extproc)
)
2 .重启监听
3 .查看监听状态
钛认安装时,会安装 一个PL/SQL外部程序
(ExtProc)条目在 listener. ora 中,是 oracle为调用外部程 序默认配置的监听, 它的名字通常是 ExtProc 或 PLSExtProc,但一般 不会使用它,可以直 接从 listener.ora 中 将这项移除,因为对 Ext Proc已经有多种 攻击手段了,在不使 用外部程序时, oracle也是建议删除 的。
口令策略加固
16
设置口令且杂度要求
1 .检查profile文件设酉
SQ1.>SELECT * FROM dba_prof i 1 es :
2 .创立口令复杂度函数
SQL>fl$ORACLE_HOME/rdb<ns/admin/utlpw<l»g. sql
3 .设置口令复杂度,要求长度不小卜4位字符串,而且是字母和数字或特殊字符的混合,用户 名和口令制止一样
SQL>ALTER PROFILE "DEFAULT- LIMIT password_verify_funclion verify_function;
但是Oracle 口令复杂 度包含的特殊字符不 是任意特殊字符都可 以,一般以下划线、$、 *等符号为主.
17
设置口令使用期限,要求到
期后自动更改
1 .检查profile文件设区
SQL>SELECT * FROM dba_profiles:
2 .设置profi le密码策略,建议使用控制台设置
SQL>ALTER PROFILE "DEFAULT" LIMIT password.)ife.time 30:
18
设置策略对口令尝试次数 进展限制
1 .检查profile文件设置
SQL>SELECT ♦ FROM dba profiles:
2 .设置profile密码策略
SQL>ALTER PROFILE "DEFAULT" LIMIT failed login attempts 5 password lock .time 1;
设置口令尝试次数为 5次,登录超过有效次 数锁定时间为1天.
缺陷是万一有恶意访 何,在输入屡次错误 密码后此用户就被锁 定导致不可用.
审计谋略加固
19
启用相应的审计功能,配置 审核策略使系统能够审核 数据库管理和平安相关操 作的信息,建议对SYSDBA
1 .启用审计功能
SQL>ALTER SYSTEM SET audit_trail=os scopo=spfilc:
2 .启用对sysdba的活动审计
SQL>ALTER SYSTEM SET audit sys_operations=true;
假设是windows平 台,audit trai 1 会记 录在windows的事件 管理器中,假设是
展开阅读全文