Ubuntu上Oracle数据库安全设置指南
导读:Ubuntu上Oracle数据库安全设置指南 一 系统与服务最小化 使用专用的操作系统账号(如oracle)运行数据库与监听,禁止以root直接启动;仅将该账号加入必要的系统组(如oinstall、dba),并限制DBA组成员数量,仅保留...
Ubuntu上Oracle数据库安全设置指南
一 系统与服务最小化
- 使用专用的操作系统账号(如oracle)运行数据库与监听,禁止以root直接启动;仅将该账号加入必要的系统组(如oinstall、dba),并限制DBA组成员数量,仅保留必要的管理员。为 oracle 用户配置sudo白名单,避免滥用。
- 保护关键文件与目录权限:Oracle 主目录建议权限不高于755,配置文件与数据文件不高于644;例如:chmod 755 $ORACLE_HOME;chmod 644 $ORACLE_BASE/oradata/$ORACLE_SID/;chmod 644 $ORACLE_HOME/dbs/。
- 配置自动启动与最小自启面:在**/etc/oratab将实例标记为Y**,并通过systemd或传统脚本确保监听与实例随系统启动,减少人工交互带来的风险。
二 数据库账户与认证安全
- 立即更改默认账户口令并禁用不必要的默认账号(如SYS/CHANGE_ON_INSTALL、SYSTEM/MANAGER、SYSMAN/OEM_TEMP、SCOTT/TIGER、AQADM/AQADM、DBSNMP/DBSNMP),或对这些账号执行ACCOUNT LOCK。
- 启用强密码策略:使用 Oracle 提供的脚本**$ORACLE_HOME/rdbms/admin/utlpwdmg.sql创建复杂度函数(如VERIFY_FUNCTION_11G**),并在 profile 中绑定;复杂度建议满足长度至少8位,且包含大小写字母、数字与特殊字符中的至少3类。
- 配置登录失败锁定与有效期:建议设置FAILED_LOGIN_ATTEMPTS=6(连续失败6次后锁定)、PASSWORD_LOCK_TIME=1/1440(锁定1分钟)、PASSWORD_LIFE_TIME≤90(密码有效期不超过90天)、PASSWORD_GRACE_TIME=7(到期宽限7天)、PASSWORD_REUSE_MAX=5(不可重用最近5次密码)。
- 限制高权限远程登录:将REMOTE_LOGIN_PASSWORDFILE设为NONE,禁止从远程以SYSDBA身份登录;确需远程管理时,采用堡垒机/跳板与本地操作系统认证的组合策略。
- 保护数据字典访问:设置O7_DICTIONARY_ACCESSIBILITY=FALSE,仅允许SYSDBA访问数据字典基表,降低权限提升风险。
三 网络与传输安全
- 监听器安全:为LISTENER设置启动/关闭密码(LSNRCTL> CHANGE_PASSWORD 与 SAVE_CONFIG),防止未授权本地关停监听。
- 源地址白名单:在**$ORACLE_HOME/network/admin/sqlnet.ora启用tcp.validnode_checking=yes与tcp.invited_nodes=(信任IP列表),仅允许受信网段/主机访问数据库端口(默认1521**)。
- 空闲连接保活与半开连接检测:设置SQLNET.EXPIRE_TIME=10(每10分钟发送探测包清理僵死连接)。
- 传输加密:在 sqlnet.ora 中启用SQLNET.ENCRYPTION(如设置为REQUIRED),对客户端/中间件与数据库之间的通信进行加密,防止窃听与篡改。
- 边界防护:在主机防火墙(如UFW)仅放行1521与运维所需端口,对管理口与数据库口实施源IP限制与最小暴露面原则。
四 审计与监控
- 启用数据库审计:设置AUDIT_TRAIL=DB(或OS),记录关键操作(登录/登出、权限变更、DDL、敏感数据访问等),并定期归档与分析审计日志。
- 登录审计与告警:创建登录触发器,将SYS_CONTEXT(‘USERENV’,‘SESSION_USER’)、**SYS_CONTEXT(‘USERENV’,‘IP_ADDRESS’)**与登录时间写入审计表,用于异常登录溯源与实时告警。
- 持续监控与基线核查:定期核查DBA_USERS、DBA_PROFILES、DBA_AUDIT_TRAIL等数据字典视图,验证口令策略、账户状态、权限分配与审计记录完整性;结合系统日志与监听日志进行关联分析。
五 备份恢复与补丁管理
- 定期备份与恢复演练:制定涵盖全量+增量的备份策略(如 RMAN),定期执行恢复验证/演练,确保备份可用与RPO/RTO达标。
- 安全更新与补丁:及时安装**Oracle Critical Patch Update(CPU)**与操作系统安全补丁,修复已知漏洞;变更前在测试环境验证,变更中遵循变更管理流程,变更后复核安全基线。
- 高可用与隔离:在条件允许时引入Data Guard/Active Data Guard或容器化隔离(如 Docker/K8s)以提升容灾与运维安全,但需同步落实网络、身份与加密等配套措施。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu上Oracle数据库安全设置指南
本文地址: https://pptw.com/jishu/760256.html
