温馨提示×

Linux Oracle如何设置安全策略

小樊
35
2025-12-20 11:59:24
栏目: 云计算

Linux Oracle 安全策略设置

一 原则与基线

  • 保持系统与数据库补丁为最新,及时修复已知漏洞,降低被利用风险。
  • 对关键服务实施最小权限与最小暴露面:仅开放必要端口与协议,数据库与中间件置于防火墙之后,必要时在中间层与数据库之间再部署一层防火墙。
  • 严格遵循最小权限原则:细化用户、角色与系统权限,定期审计与回收不必要授权。
  • 建立持续监控与审计机制:启用系统与安全审计,定期审查日志与告警。
  • 持续关注官方安全通告与加固指南,形成闭环改进。
    以上为 Oracle 与 Oracle Linux 官方安全实践的核心要点,可作为安全策略的顶层基线。

二 操作系统层加固

  • 加固与更新:仅安装必要软件包,禁用不需要的服务与端口;为 Oracle 运行账户(如 oracle)配置最小权限与专用组(如 oinstall、dba),并采用 sudo 精细化授权。
  • 身份鉴别:SSH 优先使用基于令牌/密钥的登录,禁用 root 直接登录,必要时更改默认端口并限制来源网段。
  • 主机防火墙:启用 firewalld/ufw,仅放行 SSH(22) 与数据库监听端口(默认 1521/TCP),对应用与数据库之间按需放通。
  • 系统完整性:启用 SELinux 或等价强制访问控制机制,结合最小化服务与内核参数加固,减少攻击面。
  • 日志与监控:集中采集与保留系统与安全日志,配置对关键目录与监听器的审计与告警。
    上述做法与官方建议一致,强调纵深防御、最小特权与可审计性。

三 数据库层安全配置

  • 账户与口令策略:
    • 锁定或删除默认/测试账户,避免共享账户;为 SYS/SYSTEM 与 DBA 设置强口令。
    • 通过 PROFILE 实施复杂度与生命周期控制(如:最小长度、字符类别、重用限制、失败锁定与解锁时间)。
  • 权限收敛:
    • 最小化 SYSDBA/DBA 授予范围,优先采用基于角色的访问控制(RBAC)。
    • 启用数据字典保护,设置 O7_DICTIONARY_ACCESSIBILITY = FALSE,避免普通用户遍历数据字典基表。
  • 远程特权限制:
    • 如业务允许,将 REMOTE_LOGIN_PASSWORDFILE = NONE,禁止从远程以 SYSDBA 登录,降低高权滥用风险。
  • 审计与问责:
    • 启用数据库审计(如 audit_trail=DB/OS),对登录、权限变更、敏感对象访问与关键操作进行审计,并定期分析审计记录。
  • 监听器安全:
    • LISTENER 设置管理密码并保存配置,限制非授权启停;结合网络层与数据库层访问控制共同防护。
      以上措施覆盖账户、权限、审计与监听器安全的关键环节,可显著提升数据库自身的抗攻击能力。

四 网络安全与传输加密

  • 网络分区与访问控制:
    • 使用防火墙在应用、数据库与运维网段之间实施白名单策略,仅允许可信来源访问数据库监听端口(默认 1521/TCP)。
    • $ORACLE_HOME/network/admin/sqlnet.ora 中配置 tcp.validnode_checking=yes,结合 tcp.invited_nodes(或 tcp.excluded_nodes)实现基于 IP 的访问控制,变更后重启监听。
  • 传输加密:
    • 启用 Oracle Net 加密(如设置 sqlnet.encryption=required),确保客户端/中间件与数据库之间的会话加密,防止明文窃听与篡改。
  • 空闲连接治理:
    • 设置 SQLNET.EXPIRE_TIME(例如 10 分钟)以检测并清理僵死/被劫持连接,降低资源占用与安全风险。
      以上网络与传输安全配置可有效减少暴露面并提升链路机密性与可用性。

五 快速检查清单与常用命令

检查项 关键配置/命令 说明
补丁与更新 Linux:yum/apt update/upgrade;数据库:opatch lsinventory 保持系统与数据库为最新安全补丁
防火墙放行 firewalld:firewall-cmd --permanent --add-port=1521/tcp --add-service=ssh 仅放行必要端口与来源
SSH 加固 /etc/ssh/sshd_config:PermitRootLogin no,PubkeyAuthentication yes 禁用 root 登录,使用密钥
监听器密码 lsnrctl:set current_listener LISTENER → change_password → save_config 防止未授权启停
可信 IP 访问 sqlnet.ora:tcp.validnode_checking=yes;tcp.invited_nodes=(…) 结合防火墙实现白名单
传输加密 sqlnet.ora:sqlnet.encryption=required 强制加密会话
空闲超时 sqlnet.ora:SQLNET.EXPIRE_TIME=10 清理僵死连接
审计启用 alter system set audit_trail=DB/OS scope=spfile; 开启数据库审计
远程 SYSDBA REMOTE_LOGIN_PASSWORDFILE=NONE 禁止远程 SYSDBA 登录
字典保护 alter system set O7_DICTIONARY_ACCESSIBILITY=FALSE; 限制数据字典访问
以上命令与参数示例可直接用于核查与落地,具体值需结合业务与合规要求调整。

0