[TOC]
账号权限加固
1.核查Oracle数据库中是否存在多余账户被启用,如果存在请锁定它。
[TOC]
1.核查Oracle数据库中是否存在多余账户被启用,如果存在请锁定它。
1 | -- (1) 查看系统中已启用账户 |
2.为所有应用用户配置强口令,根据设置的口令策略修改弱口令。
1 | -- 特别注意修改 sys 和 system 口令(等保要求:) |
3.查看指定用户权限
1 | SQL>SELECT * FROM dba_sys_privs WHERE grantee=<username>; -- 系统权限 |
SQL> select * from v$version
select ‘bgdrac’ database,t11.username,t11.default_tablespace tablespace_name,segment_size_in_GB,datafile_size_in_gb,tablespace_free_size_in_gb from (select username,default_tablespace from dba_users) t11
left join
(
select nvl(t1.tablespace_name,t2.tablespace_name) tablespace_name,t1.size_in_GB datafile_size_in_GB,t2.size_in_GB segment_size_in_GB,t1.size_in_GB-t2.size_in_GB tablespace_free_size_in_GB from
(select tablespace_name,sum(bytes)/1024/1024/1024 size_in_GB from dba_data_files group by tablespace_name) t1
full join
(select tablespace_name,sum(bytes)/1024/1024/1024 size_in_GB from dba_segments group by tablespace_name) t2 on t2.tablespace_name=t1.tablespace_name) t22 on t22.tablespace_name=t11.default_tablespace
where t11.default_tablespace<>’zlbfxt’;
DATABA USERNAME TABLESPACE_NAME SEGMENT_SIZE_IN_GB DATAFILE_SIZE_IN_GB TABLESPACE_FREE_SIZE_IN_GB
bgdrac ZLBFXT ZLBFXT .00177002 .03125 .02947998
bgdrac SYSTEM SYSTEM .180679321 .48828125 .307601929
bgdrac SYS SYSTEM .180679321 .48828125 .307601929
bgdrac OUTLN SYSTEM .180679321 .48828125 .307601929
bgdrac WMSYS SYSAUX .109130859 .1171875 .008056641
bgdrac DBSNMP SYSAUX .109130859 .1171875 .008056641
bgdrac APPQOSSYS SYSAUX .109130859 .1171875 .008056641
bgdrac ORACLE_OCM SYSTEM .180679321 .48828125 .307601929
bgdrac DIP SYSTEM .180679321 .48828125 .307601929
select from dba_profiles;
select from v$parameter where name=’audit_trail’;
2.收回相应权限(例如收回 select any table 权限)
SQL>REVOKE select any table FROM
3.收回应用用户的 DBA 角色
SQL>REVOKE dba FROM
注意:避免分配权限过大或过小
2、撤消 public 角色的程序包执行权限
1.查看 public 角色的程序包执行权限
SQL>SELECT table_name FROM dba_tab_privs WHERE grantee=’PUBLIC’ and
privilege=’EXECUTE’;
2.撤销 public 角色的程序包执行权限(例如撤销在 utl_file 包上的执行权限)
SQL>REVOKE execute ON utl_file FROM public;
Oracle 官方建议撤销 public 角色对 utl_file、 utl_http、 utl_tcp、 utl_smtp、dbms_random 程序包的执行权限。
数据访问控制加固
1、严格限制库文件的访问权限
确保除属主和 root 外,其他用户对库文件没有写权限
1.用操作系统命令查看库文件访问权限(以 RedHat linux 为例)
ls -l $ORACLE_BASE/oradata
2.用操作系统命令删除库文件组和其他用户的写权限
chmod 640 $ORACLE_BASE/oradata/*
3.windows 系统同理(方法不同)
2、配置$ORACLE_HOME/bin
设置$ORACLE_HOME/bin 其下所有程序的访问权限或其他安全控制机制
1.用操作系统命令查看 bin 目录下所有程序文件的访问权限(以 RedHat Linux 为例)
ls -l $ORACLE_HOME/bin
2.用操作系统命令删除组和其他用户的写权限
chmod 640 $ORACLE_HOME/bin/*
注意:修改权限可能对部分应用系统造成影响,需要联系业务部门和应用系统厂商做好相关的测试工作
3、停止或禁用与承载业务无关的服务或组件
在不影响业务系统正常运行情况下,停止或禁用与承载业务无关的服务或组件
1.用操作系统命令查看有无与业务无关的服务或组件
2.用操作系统命令停止或禁用与业务无关的服务或组件
4、清除数据库无用的东西
1.查看数据库中表或视图等对象
SQL>SELECT FROM dba_tables;
SQL>SELECT FROM dba_views;
2.删除数据库中存在的无用的、测试的、废弃的表或视图
SQL>DROP TABLE
SQL>DROP VIEW
注意:需要和业务部门确认
网络访问控制加固
1、IP限制
设置 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 服务可能对部分应用系统
2、关闭远程操作系统认证
1.在目录$ORACLE_HOME/network/admin 下修改 sqlnet.ora 文件,设置下列配置信息:
sqlnet.authentication_services=(NONE)
2.修改参数 Remote_login_passwordfile 为 EXCLUSIVE 或 SHARED
SQL>ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
3.修改参数 REMOTE_OS_AUTHENT
SQL>ALTER SYSTEM SET REMOTE_OS_AUTHENT=FALSE SCOPE=SPFILE;
4.重启数据库和监听使修改生效
注意:需要重启服务,应提前通知业务部门
3、修改默认端口
在不影响应用的前提下,更改默认的1521端口
SQL>quit
4、限制远程管理
限制对监听器的远程管理,并 设 置监 听器 管理 口令(8i)
1.进入监听设置状态
lsnrctl
2.设置当前监听器
set current_listener
3.设置密码
change_password
set password
4.保存设置
save_config
5.检查 listener.ora 文件
看是否有一条 PASSWORDS_
5、外部程序调用监听配置的删除
1.打开 listener.ora 文件,删除以下配置文件:
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:oracleora81)
(PROGRAM = extproc)
)
注意:
默认安装时,会安装一个 PL/SQL 外部程序(ExtProc)条目在 listener.ora中,是 oracle 为调
用外部程序默认配置的监听,它的名字通常是 ExtProc 或PLSExtProc,但一般不会使用它,可以直接从 listener.ora中将这项移除,因为对 ExtProc 已经有多种攻击手段了,在不使用外部程序时,oracle 也是建议删除的。
口令策略加固
1、 设置口令复杂度要求
1.检查 profile 文件设置
SQL>SELECT * FROM dba_profiles;
2.创建口令复杂度函数
SQL>@$ORACLE_HOME/rdbms/admin/utlpwdmg.sql
3.设置口令复杂度
要求长度不小于4位字符串,而且是字母和数字或特殊字符的混合,用户
名和口令禁止相同
SQL>ALTER PROFILE “DEFAULT” LIMIT password_verify_function verify_function;
注意: Oracle 口令复杂度包含的特殊字符不是任意特殊字符都可以,一般以下划线、 $、 *等符号为主
2、设置口令使用期限要求到期后自动更改
1.检查 profile 文件设置
SQL>SELECT * FROM dba_profiles;
2.设置 profile 密码策略,建议使用控制台设置
SQL>ALTER PROFILE “DEFAULT” LIMIT password_life_time 30;
3、设置策略对口令尝试次数进行限制
1.检查 profile 文件设置
SQL>SELECT * FROM dba_profiles;
2.设置 profile 密码策略
SQL>ALTER PROFILE “DEFAULT” LIMIT failed_login_attempts 5 password_lock_time 1;
建议:设置口令尝试次数为5 次,登录超过有效次数锁定时间为 1天。 缺陷是万一有恶意访问,在输入多次错误密码后此用户就被锁定导致不可用。
审计策略加固
1、审计配置
启用相应的审计功能,配置审核策略使系统能够审核数据库管理和安全相关操作的信息,
建议对 SYSDBA审计操作
1.启用审计功能
SQL>ALTER SYSTEM SET audit_trail=os scope=spfile;
2.启用对 sysdba 的活动审计
SQL>ALTER SYSTEM SET audit_sys_operations=true;
3.重启数据库,使设置生效
若是 windows 平台,audit trail 会记录在 windows 的事件管理器中,
若是linux/unix 平台则会记录在audit_file_dest 参数指定文件中;
注意:审计功能对数据库的性能和磁盘空间要求较高;需要重启数据库,应提前通知业务部门
2、配置日志策略
配置日志策略,确保数据库的归档日志文件、在线日志文件、网络日志、跟踪文件、警告日志记录功能是否启用并且有效实施
2.配置归档日志的名称格式
ALTER SYSTEM SET log_archvie_format=’%S_%T_%R.log’ scope=spfile
3.配置归档位置
ALTER SYSTEM SET log_archive_dest_1=’location=oracleoradataarchive1’ scope=spfile
3、配置日志管理策略
配置日志管理策略、保证日志存放的地点的安全可靠
1、安装系统安全补丁,
对安全软件扫描或手工检查发现的系统漏洞进行修补
1.运行防病毒软件(如 SEP)保护操作系统
2.下载并安装相应的安全补丁
注意:更新安全补丁可能对数据库系统、应用系统造成影响; 需要进行严格测试并做好备
份恢复措施后实施
你好看友,欢迎关注博主微信公众号哟! ❤
这将是我持续更新文章的动力源泉,谢谢支持!(๑′ᴗ‵๑)
温馨提示: 未解锁的用户不能粘贴复制文章内容哟!
方式1.请访问本博主的B站【WeiyiGeek】首页关注UP主,
将自动随机获取解锁验证码。
Method 2.Please visit 【My Twitter】. There is an article verification code in the homepage.
方式3.扫一扫下方二维码,关注本站官方公众号
回复:验证码
将获取解锁(有效期7天)本站所有技术文章哟!
@WeiyiGeek - 为了能到远方,脚下的每一步都不能少
欢迎各位志同道合的朋友一起学习交流,如文章有误请在下方留下您宝贵的经验知识,个人邮箱地址【master#weiyigeek.top】
或者个人公众号【WeiyiGeek】
联系我。
更多文章来源于【WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少】, 个人首页地址( https://weiyigeek.top )
专栏书写不易,如果您觉得这个专栏还不错的,请给这篇专栏 【点个赞、投个币、收个藏、关个注、转个发、赞个助】,这将对我的肯定,我将持续整理发布更多优质原创文章!。
最后更新时间:
文章原始路径:_posts/数据存储/Oracle/运维管理/等保测评之Oracle关系型数据库安全加固实践指南.md
转载注明出处,原文地址:https://blog.weiyigeek.top/2020/1-13-641.html
本站文章内容遵循 知识共享 署名 - 非商业性 - 相同方式共享 4.0 国际协议