温馨提示×

如何确保Linux Oracle数据安全性

小樊
43
2025-12-30 06:08:02
栏目: 云计算

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=REQUIREDSQLNET.ENCRYPTION_TYPES_SERVER=(AES256)SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIREDSQLNET.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.SALARYSELECT/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;定期恢复演练

0