XXXOracle数据库安全加固方案Word下载.docx
《XXXOracle数据库安全加固方案Word下载.docx》由会员分享,可在线阅读,更多相关《XXXOracle数据库安全加固方案Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
防范措施
修改帐号权限时,造成权限过大或过小
以最小权限原则为每个帐号分配其必须的角色、系统权限、对象权限和语句权限
删除或禁止有用的服务、组件等
对无用的服务、组件进行排查,并和应用系统厂商进行确认
增加网络访问控制,对应用系统造成影响
操作前和业务部门、应用系统厂商进行确认并做好测试工作
3.方案实施流程
4.方案实施程序及标准
工作内容
操作方法及标准
安全措施及注意事项
登录系统
通过管理主机登录Oracle数据库主机
通过ssh或vnc或RDP登录Oracle数据库主机,输入用户名密码
注意用户名、密码的保密
登录Oracle数据库
以sys用户的身份登录Oracle数据库,默认:
sqlplus/assysdba(10g)或sqlplususername/password(8i)
帐号权限加固
限制应用用户在数据库中的权限,尽量保证最小化,避免授予了DBA权限
1.查看权限
SQL>
SELECT*FROMdba_sys_privsWHEREgrantee=<
username>
;
--系统权限
SELECT*FROMdba_tab_privsWHEREgrantee=<
--对象权限
SELECT*FROMdba_role_privsWHEREgrantee=<
--赋予的角色
2.收回相应权限(例如收回selectanytable权限)
REVOKEselectanytableFROM<
3.收回应用用户的DBA角色
REVOKEdbaFROM<
避免分配权限过大或过小
4
撤消public角色的程序包执行权限
1.查看public角色的程序包执行权限
SELECTtable_nameFROMdba_tab_privsWHEREgrantee='
PUBLIC'
andprivilege='
EXECUTE'
2.撤销public角色的程序包执行权限(例如撤销在utl_file包上的执行权限)
REVOKEexecuteONutl_public;
Oracle官方建议撤销public角色对utl_、utl_tcp、utl_smtp、dbms_random程序包的执行权限。
5
修改系统帐户的默认口令(特别是管理员角色类帐户)锁定所有不需要的用户
1.修改sys和system口令
ALTERUSERsysIDENTIFIEDBY<
newpasswd>
ALTERUSERsystemIDENTIFIEDBY<
2.锁定不需要的用户
ALTERUSER<
ACCOUNTLOCK;
6
删除系统中多余的自建帐号
1.查看用户自建账号
SELECTusernameFROMall_users;
2.删除或者禁用多余自建账号
DROPUSER<
CASCADE;
7
为所有应用用户配置强口令
1.根据设置的口令策略修改弱口令
IDENTIFIEDBY<
数据访问控制加固
8
严格限制库文件的访问权限,保证除属主和root外,其他用户对库文件没有写
权限
1.用操作系统命令查看库文件访问权限(以RedHatLinux为例)
ls-l$ORACLE_BASE/oradata
2.用操作系统命令删除库文件组和其他用户的写权限
chmod640$ORACLE_BASE/oradata/*
3.Windows系统同理(方法不同)
修改权限可能对部分应用系统造成影响,需要联系业务部门和应用系统厂商做好相关的测试工作
9
设置$ORACLE_HOME/bin其下所有程序的访问权限或其他安全控制机制
1.用操作系统命令查看bin目录下所有程序文件的访问权限(以RedHatLinux为例)
ls-l$ORACLE_HOME/bin
2.用操作系统命令删除组和其他用户的写权限
chmod640$ORACLE_HOME/bin/*
服务加固
10
在不影响业务系统正常运行情况下,停止或禁用与承载业务无关的服务或组件
1.用操作系统命令查看有无与业务无关的服务或组件
2.用操作系统命令停止或禁用与业务无关的服务或组件
需要和业务部门确认
11
删除数据库中存在有无用的、测试的、废弃的表,视图
1.查看数据库中表或视图等对象
SELECT*FROMdba_tables;
SELECT*FROMdba_views;
2.删除数据库中存在的无用的、测试的、废弃的表或视图
DROPTABLE<
tablename>
DROPVIEW<
viewname>
网络访问控制加固
12
设置TNS登录的IP限制,仅允许最少的必要的IP地址可连接TNS监听器
1.在目录$ORACLE_HOME/network/admin下修改sqlnet.ora文件实现TNS登录IP限制,设置下列配置信息:
tcp.validnode_checking=yes
#允许访问的ip
tcp.invited_nodes=(ip1,ip2,……)
#不允许访问的ip
tcp.excluded_nodes=(ip1,ip2,……)
2.修改sqlnet.ora后,重新启动listener服务
可能对部分应用系统造成影响,需要联系业务部门和应用系统厂商做好相关的测试工作
13
关闭远程操作系统认证
1.在目录$ORACLE_HOME/network/admin下修改sqlnet.ora文件,设置下列配置信息:
sqlnet.authentication_services=(NONE)
2.修改参数Remote_login_password或SHARED
ALTERSYSTEMSETREMOTE_LOGIN_PASSWORDSCOPE=SPFILE;
3.修改参数REMOTE_OS_AUTHENT
ALTERSYSTEMSETREMOTE_OS_AUTHENT=FALSESCOPE=SPFILE;
4.重启数据库和监听使修改生效
需要重启服务,应提前通知业务部门
14
在不影响应用的前提下,更改默认的1521端口
1.查看当前监听的状态
lsnrctlstatus
2.停止监听
lsnrctlstop
3.修改监听文件的端口号,在目录$ORACLE_HOME/network/admin下修改listener.ora文件(例如把端口号改为11251)
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=LOCALHOST)(PORT=11251))
)
)
4.修改初始化参数local_listener
ALTERSYSTEMSETlocal_listener="
(address=(protocol=tcp)(host=localhost)(port=11251))"
quit
5.重启监听器
lsnrctlstart
6.修改完毕,使用新端口登录测试
netstat-tunap|grep11251
客户端连接测试
对所有应用系统都有影响,需要跟业务部门配合做好评估和测试工作
15
限制对监听器的远程管理,并设置监听器管理口令(8i)
1.进入监听设置状态
lsnrctl
2.设置当前监听器
setcurrent_listener<
listenername>
3.设置密码
change_password
setpassword
4.保存设置
save_config
5.检查listener.ora文件,看是否有一条PASSWORDS_<
的记录
16
外部程序调用监听配置的删除(8i)
1.打开listener.ora文件,删除以下配置文件:
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))
(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=C:
\oracle\ora81)
(PROGRAM=extproc)
2.重启监听
3.查看监听状态
默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中,是oracle为调用外部程序默认配置的监听,它的名字通常是ExtProc或PLSExtProc,但一般不会使用它,可以直接从listener.ora中将这项移除,因为对ExtProc已经有多种攻击手段了,在不使用外部程序时,oracle也是建议删除的。
口令策略加固
设置口令复杂度要求
1.检查profile文件设置
SELECT*FROMdba_profiles;
2.创建口令复杂度函数
@$ORACLE_HOME/rdbms/admin/utlpwdmg.sql
3.设置口令复杂度,要求长度不小于4位字符串,而且是字母和数字或特殊字符的混合,用户名和口令禁止相同
ALTERPROFILE"
DEFAULT"
LIMITpassword_verify_functionverify_function;
但是Oracle口令复杂度包含的特殊字符不是任意特殊字符都可以,一般以下划线、$、*等符号为主。
17
设置口令使用期限,要求到期后自动更改
2.设置profile密码策略,建议使用控制台设置
LIMITpassword_life_time30;
18
设置策略对口令尝试次数进行限制
2.设置profile密码策略
LIMITfailed_login_attempts5password_lock_time1;
设置口令尝试次数为5次,登录超过有效次数锁定时间为1天。
缺陷是万一有恶意访问,在输入多次错误密码后此用户就被锁定导致不可用。
审计策略加固
19
启用相应的审计功能,配置审核策略使系统能够审核数据库管理和安全相关操作的信息,建议对SYSDBA审计操作
1.启用审计功能
ALTERSYSTEMSETaudit_trail=osscope=spfile;
2.启用对sysdba的活动审计
ALTERSYSTEMSETaudit_sys_operations=true;
2.重启数据库,使设置生效
若是windows平台,audittrail会记录在windows的事件管理器中,若是linux/unix平台则会记录在audit_参数指定文件中;
审计功能对数据库的性能和磁盘空间要求较高;
需要重启数据库,应提前通知业务部门
20
配置日志策略,确保数据库的归档日志文件、在线日志文件、网络日志、跟踪文件、警告日志记录功能是否启用并且有效实施
1.配置归档模式
将数据库正常关闭
SHUTDOWNIMMEDIATE
启动到MOUNT模式
STARTUPMOUNT
ALTERDATABASEARCHIVELOG
ALTERDATABASEOPEN
2.配置归档日志的名称格式
ALTERSYSTEMSETlog_archvie_format='
%S_%T_%R.log'
scope=spfile
3.配置归档位置
ALTERSYSTEMSETlog_archive_dest_1='
location=\oracle\oradata\archive1'
对磁盘空间要求非常高;
21
配置日志管理策略、保证日志存放的地点的安全可靠
1.配置多个归档位置,包括本地归档位置和远程归档位置
ALTERSYSTEMSETlog_archive_dest_2='
location=\oracle\oradata\archive2'
ALTERSYSTEMSETlog_archive_dest_3='
service=standby'
配置远程归档位置时,SERVICE选项需要制定远程数据库的网络服务名(在tnsnames.Ora文件中配置)
漏洞加固
22
安装系统安全补丁,对扫描或手工检查发现的系统漏洞进行修补
1.运行防病毒软件(如SEP)保护操作系统
2.下载并安装相应的安全补丁
更新安全补丁可能对数据库系统、应用系统造成影响;
需要进行严格测试并做好备份恢复措施后实施。
退出系统
23
1.断开数据库连接
2.关闭和数据库主机之间的连接
5.方案实施操作记录
Oracle数据库安全加固操作记录见附录A。
附录A
Oracle数据库安全加固操作记录
编号:
日期:
年月日
名称:
地点:
项目
完成情况
记录
请详细记录操作情况:
操作说明
操作命令
备注
删除权限
成功
操作者: