首页主机资讯Oracle在Linux上如何安全配置

Oracle在Linux上如何安全配置

时间2026-01-18 07:17:04发布访客分类主机资讯浏览1302
导读:Linux 上 Oracle 安全配置清单 一 操作系统层加固 创建专用账户与组,遵循最小权限原则:仅创建必要的oracle用户与oinstall/dba组,清理多余账户,禁止root远程登录;为 SSH 启用密钥认证、禁用密码登录,必要...

Linux 上 Oracle 安全配置清单

一 操作系统层加固

  • 创建专用账户与组,遵循最小权限原则:仅创建必要的oracle用户与oinstall/dba组,清理多余账户,禁止root远程登录;为 SSH 启用密钥认证、禁用密码登录,必要时修改默认端口(如由22改为2222),并仅开放必要端口(数据库监听端口1521、SSH)。示例:
    • 用户组:groupadd oinstall; groupadd dba
    • 用户:useradd -g oinstall -G dba -m oracle
    • SSH:PermitRootLogin noPubkeyAuthentication yesPasswordAuthentication noPort 2222
  • 文件系统与目录权限:将关键目录(如**$ORACLE_HOME**、$ORACLE_BASE/oradata)设置为750,属主oracle:oinstall;核心配置文件(如listener.ora、sqlnet.ora)设置为640;必要时对关键系统文件设置不可更改标志(如 chattr +i /etc/passwd)。
  • 内核参数与资源限制:按官方建议设置fs.file-max、kernel.shmmax、kernel.shmall、kernel.sem、net.ipv4.ip_local_port_range等,并在**/etc/security/limits.conf**为 oracle 设置 nproc、nofile、stack 等上限,示例:
    • fs.file-max=6815744kernel.shmmax=2147483648kernel.shmall=2097152
    • oracle soft nproc 2047; oracle hard nproc 16384
    • oracle soft nofile 1024; oracle hard nofile 65536
    • oracle soft stack 10240
  • 服务与端口管控:关闭不必要的服务(如telnet、ftp),仅开启 Oracle 必要服务;通过firewalld/iptables仅放行1521/TCP与修改后的SSH端口。

二 数据库层安全配置

  • 身份与权限基线:
    • 数据字典保护:设置 O7_DICTIONARY_ACCESSIBILITY=FALSE(需重启),避免非SYSDBA访问数据字典基表。
    • 口令策略:在 PROFILE 中启用复杂度校验(如 verify_function_11G)、设置有效期≤90天失败登录尝试≤5次锁定时间≥1小时等,示例:
      • CREATE/ALTER PROFILE strong_pwd LIMIT PASSWORD_VERIFY_FUNCTION verify_function_11G PASSWORD_LIFE_TIME 90 FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 1/24;
    • 限制 SYSDBA 远程登录:将 REMOTE_LOGIN_PASSWORDFILE 设为 NONE(需重启),仅允许本地操作系统认证获取 SYSDBA。
  • 网络访问控制与加密:
    • 可信 IP 白名单:在 sqlnet.ora 中启用 TCP.VALIDNODE_CHECKING=YES,配置 TCP.INVITED_NODES(可选 TCP.EXCLUDED_NODES);变更后执行 lsnrctl reload
    • 空闲会话检测:设置 SQLNET.EXPIRE_TIME(如10分钟)自动断开僵死连接。
    • 传输加密:在 sqlnet.ora 强制加密与完整性校验,示例:
      • SQLNET.ENCRYPTION_SERVER=REQUIRED
      • SQLNET.ENCRYPTION_TYPES_SERVER=(AES256)
      • SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED
      • SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA256)
  • 监听器安全:为 LISTENER 设置密码(lsnrctlset current_listenerchange_passwordsave_config),防止未授权修改监听配置。
  • 会话与资源控制:根据硬件与业务设置合理上限,如 PROCESSES=200SESSIONS=230(通常 SESSIONS ≈ PROCESSES*1.1 + 5);按需开启细粒度审计 FGA保护敏感列(如薪资)。

三 审计与监控

  • 数据库审计:开启审计并持久化到数据库,示例:ALTER SYSTEM SET AUDIT_TRAIL='DB,EXTENDED' SCOPE=SPFILE; (需重启);可按用户/对象设置审计策略,如 AUDIT ALL BY scott BY ACCESS; ,并通过视图 DBA_AUDIT_TRAIL 查询。
  • 操作系统与进程审计:配置 auditd 监控 Oracle 可执行文件与诊断目录,示例规则:
    • -w $ORACLE_HOME/bin/oracle -p x -k oracle_exec
    • -w $ORACLE_HOME/diag/rdbms/*/trace -p rwxa -k oracle_trace
  • 日志与告警:定期查看系统安全日志(如**/var/log/secure**)与 Oracle 审计文件(如 $ORACLE_BASE/admin//adump),关注异常登录、权限变更与失败登录激增等迹象。

四 备份恢复与补丁管理

  • 备份策略与加密:使用 RMAN 制定周期策略(如每日增量+每周全量),并进行定期恢复演练验证可用性;对备份启用加密CONFIGURE ENCRYPTION FOR DATABASE ON)与异地/离线保存,降低数据泄露与单点失效风险。
  • 补丁与漏洞治理:定期关注并应用 Oracle CPU/PSU 等安全补丁,先在测试环境验证兼容性再上线;同时及时更新 Linux 系统与依赖组件,缩小攻击面。

五 实施顺序与注意事项

  • 实施顺序建议:准备与评估 → 搭建测试环境 → 操作系统加固 → 数据库加固 → 审计与监控上线 → 备份演练 → 变更窗口切换生产 → 持续巡检与优化。
  • 重要注意事项:
    • 修改 O7_DICTIONARY_ACCESSIBILITYREMOTE_LOGIN_PASSWORDFILEAUDIT_TRAIL 等参数通常需要重启数据库;变更前做好回退方案窗口期评估。
    • 启用 TCP.INVITED_NODES 会拒绝未在白名单中的客户端,变更前务必梳理应用与运维源地址,避免业务中断。
    • 任何权限收敛与网络策略调整,建议先在测试环境验证,并与应用团队确认超时/加密对性能与兼容性的影响。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Oracle在Linux上如何安全配置
本文地址: https://pptw.com/jishu/783947.html
Oracle Linux系统资源管理技巧 Linux下Oracle数据库备份策略

游客 回复需填写必要信息