Ubuntu Oracle数据库安全设置有哪些
导读:Ubuntu 上 Oracle 数据库的安全设置清单 一 系统层加固 限制具备 DBA 组 权限的操作系统账户数量,仅保留必要的 oracle 安装用户,避免多人共享高权限 OS 账户。 保护安装目录权限:确保 $ORACLE_HOME/...
Ubuntu 上 Oracle 数据库的安全设置清单
一 系统层加固
- 限制具备 DBA 组 权限的操作系统账户数量,仅保留必要的 oracle 安装用户,避免多人共享高权限 OS 账户。
- 保护安装目录权限:确保 $ORACLE_HOME/bin 仅由 oracle:dba 拥有,权限最小化,防止非授权执行。
- 仅开放必要端口(默认 1521/TCP),变更为非常用端口并同步更新应用与防火墙策略;必要时将监听绑定到内网地址。
- 通过 UFW/iptables 实施“最小可达”原则,仅允许应用服务器、管理网段访问数据库端口。
- 禁用不必要的系统服务与端口,及时打补丁,减少攻击面。
二 监听与网络传输安全
- 为 LISTENER 设置管理口令并保存配置,防止未授权本地/远程管理:
- 执行:
lsnrctl→set current_listener LISTENER→change_password→save_config。
- 执行:
- 启用主机访问控制:在 $ORACLE_HOME/network/admin/sqlnet.ora 中配置
tcp.validnode_checking = yestcp.invited_nodes = (127.0.0.1, 应用IP1, 管理IP…)
- 开启空闲连接检测,自动断开长时间空闲会话(如 15 分钟):
- 在 sqlnet.ora 中设置
SQLNET.EXPIRE_TIME=15。
- 在 sqlnet.ora 中设置
- 启用传输加密(Oracle Advanced Security):在客户端/服务端配置
sqlnet.encryption,选择如 AES128/3DES168 等强加密套件,禁用 DES/RC4_40/DES40 等弱算法。 - 关闭远程操作系统认证,避免以 OS 账户直通数据库:设置初始化参数 REMOTE_OS_AUTHENT=FALSE。
三 数据库账户与权限管理
- 执行最小权限原则:仅授予完成工作所需的最小 系统权限/对象权限/角色;避免将 CREATE ANY TABLE、CREATE DATABASE LINK 等高危权限授予普通用户;优先使用自定义角色承载权限。
- 保护 SYS 等高权账户:限制可发起 SYS-privileged 连接的用户数量;必要时通过 Oracle Database Vault 进一步约束。
- 清理默认与样例账户:修改 SYS/SYSTEM 等默认账户口令,锁定或删除不再使用的样例/内置账户(如 SCOTT 等)。
- 使用 Secure Application Role 控制角色启用时机(例如仅允许来自特定 IP 的会话启用关键角色),将权限启用与应用上下文绑定。
四 口令策略与账户锁定
- 通过 Profile 管理口令策略:数据库默认策略为口令 180 天 后过期、7 天 宽限期、10 次 失败登录后锁定 1 天。可按需收紧,例如:
- 将有效期缩短至 70–90 天;
- 将失败锁定阈值降至 3–5 次;
- 启用口令复杂度校验函数(如
PASSWORD_VERIFY_FUNCTION),要求包含数字、大小写字母与特殊字符。
- 使密码策略生效需启用参数:
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;,再在目标 PROFILE 上设置各项限制。 - 查询与调整示例:
- 查看:
SELECT * FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_TYPE='PASSWORD'; - 调整:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 70 FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1/144 PASSWORD_VERIFY_FUNCTION < your_function> ; - 解锁:
ALTER USER < username> ACCOUNT UNLOCK;
- 查看:
五 审计与监控
- 启用数据库审计,记录关键操作(登录/登出、权限变更、DDL 等):
- 动态设置:
ALTER SYSTEM SET AUDIT_TRAIL='DB,EXTENDED' SCOPE=SPFILE;(或'OS'结合 OS 审计),重启实例生效。
- 动态设置:
- 配置异常网络包处置:在初始化参数中设置
SEC_PROTOCOL_ERROR_TRACE_ACTION=TRACE(记录详细信息)SEC_PROTOCOL_ERROR_FURTHER_ACTION=DROP,3(丢弃恶意包并延迟后续连接),降低协议攻击风险。
- 定期审阅审计日志与告警,结合应用与网络层日志进行关联分析。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Oracle数据库安全设置有哪些
本文地址: https://pptw.com/jishu/750983.html
