如何确保Linux Oracle数据安全性
导读:Linux Oracle 数据安全加固清单 一 操作系统层加固 身份与权限 创建专用账户与组:如 oracle:oinstall/dba,仅授予必要权限;清理无用账号;禁用 root 远程登录;通过 PAM 限制 su 到 root 的...
Linux Oracle 数据安全加固清单
一 操作系统层加固
- 身份与权限
- 创建专用账户与组:如 oracle:oinstall/dba,仅授予必要权限;清理无用账号;禁用 root 远程登录;通过 PAM 限制 su 到 root 的使用范围。
- 防火墙与端口
- 仅开放必要端口:数据库监听默认 1521/TCP,SSH 建议改为 10000+;使用 firewalld/iptables 实施白名单策略。
- 文件系统与关键文件
- 关键目录(如 $ORACLE_BASE/oradata、$ORACLE_HOME/network/log)权限设为 750,属主 oracle:oinstall;核心配置文件(如 listener.ora、sqlnet.ora)设为 640;对关键系统文件设置不可更改标志(如 chattr +i /etc/passwd)。
- 服务与内核
- 关闭不必要服务(如 telnet、ftp、sendmail);按需优化 /etc/sysctl.conf(如 fs.file-max、kernel.shmmax、net.ipv4.ip_local_port_range、net.ipv4.tcp_syncookies);配置 /etc/security/limits.conf 限制 oracle 用户的 nproc、nofile、stack。
- SELinux
- 若启用 SELinux,为 Oracle 目录设置正确上下文(如 oracle_home_t、oracle_db_t)以确保兼容与安全。
- 持续补丁与零停机
- 使用 Oracle Ksplice 对受支持内核进行零停机安全补丁,在不重启的情况下修复 CVE,降低暴露窗口。
二 数据库层加固
- 账户与认证
- 精简 DBA 组成员,仅保留必要账户;通过 PROFILE 设置密码策略:长度 ≥6、包含数字/大小写/特殊字符中至少 2 类;有效期 ≤90 天;失败登录 ≤5 次 后锁定;为 SYS/SYSTEM 等管理账户应用强口令策略。
- 权限与数据字典
- 关闭数据字典宽松访问:O7_DICTIONARY_ACCESSIBILITY=FALSE,仅允许 SYSDBA 访问核心数据字典。
- 远程特权登录
- 禁止 SYSDBA 远程登录:REMOTE_LOGIN_PASSWORDFILE=NONE。
- 网络访问控制
- 在 sqlnet.ora 中启用 TCP.VALIDNODE_CHECKING=YES,通过 TCP.INVITED_NODES 配置可信 IP 白名单;可选 TCP.EXCLUDED_NODES 排除特定网段。
- 传输加密
- 启用 SQL*Net 加密与完整性校验:如 SQLNET.ENCRYPTION_SERVER=REQUIRED、SQLNET.ENCRYPTION_TYPES_SERVER=(AES256)、SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED、SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA256)。
- 会话与资源
- 限制最大连接数:PROCESSES=200(按硬件与业务评估);设置空闲会话超时:SQLNET.EXPIRE_TIME 及时回收僵死连接。
- 监听器安全
- 为监听器设置密码并保存配置:lsnrctl → set current_listener LISTENER → change_password → save_config。
三 审计监控与备份恢复
- 数据库审计
- 启用审计:AUDIT_TRAIL=‘DB,EXTENDED’;对敏感表列启用细粒度审计(FGA),如监控 HR.EMPLOYEE.SALARY 的 SELECT/UPDATE。
- 操作系统审计与日志
- 审计 Oracle 可执行文件与诊断目录:如 /u01/app/oracle/product//bin/oracle 与 $ORACLE_HOME/diag/;定期检查 /var/log/secure 与 $ORACLE_BASE/admin/*/adump 中的异常登录与权限变更。
- 合规评估
- 定期使用 Oracle Database Security Assessment Tool(DBSAT) 扫描弱口令、错误配置与过度授权。
- 备份与加密
- 制定 每日增量 + 每周全量 的 RMAN 备份策略;启用 RMAN 加密备份 并将介质离线/异地保存;定期执行恢复演练验证可用性与完整性。
四 补丁与合规
- 补丁管理
- 定期检查并安装 Oracle CPU/PSU 等安全补丁;先在测试环境验证兼容性,再滚动升级生产;结合 Ksplice 实现内核的零停机安全更新,缩短修复时间并降低风险。
- 合规与加密模块
- 若需满足政府与行业合规,可采用 Oracle Linux:其 Release 7 取得 Common Criteria(NIAP OSPP v4.1) 认证,且加密模块通过 FIPS 140-2 验证;可在受监管环境中启用 FIPS 140-2 模式。
五 快速实施清单
| 领域 | 关键动作 | 建议值或示例 |
|---|---|---|
| OS 账户 | 专用账户与组、清理冗余、禁用 root 远程 | oracle:oinstall/dba;PermitRootLogin no |
| 防火墙 | 仅开放必要端口 | 1521/TCP(DB)、10000+/TCP(SSH) |
| 文件权限 | 关键目录与配置权限收敛 | 750($ORACLE_BASE/oradata、$ORACLE_HOME/network/log);640(listener.ora、sqlnet.ora) |
| 内核与资源 | 优化 sysctl 与 limits | fs.file-max=6815744;kernel.shmmax=2147483648;oracle soft/hard nproc=2047/16384 |
| 传输加密 | 强制 SQL*Net 加密与校验 | SQLNET.ENCRYPTION_SERVER=REQUIRED;AES256;SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED;SHA256 |
| 访问控制 | 可信 IP 白名单 | TCP.VALIDNODE_CHECKING=YES;TCP.INVITED_NODES=(…) |
| 监听器 | 设置监听密码并保存 | lsnrctl change_password → save_config |
| 审计 | 开启数据库审计与 FGA | AUDIT_TRAIL=‘DB,EXTENDED’;DBMS_FGA 监控敏感列 |
| 备份 | RMAN 加密与离线/异地存储 | CONFIGURE ENCRYPTION FOR DATABASE ON;定期恢复演练 |
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何确保Linux Oracle数据安全性
本文地址: https://pptw.com/jishu/783938.html
