温馨提示×

Ubuntu Oracle如何进行安全管理

小樊
34
2025-12-16 18:43:38
栏目: 云计算

Ubuntu 上 Oracle 数据库安全管理清单

以下清单覆盖 Ubuntu 主机Oracle 监听与网络数据库账户与权限补丁与备份四个层面,可直接对照实施。

一 系统与账户安全基线

  • 保持系统与软件为最新:执行 sudo apt update && sudo apt upgrade,及时修补漏洞;仅启用必要的服务与端口,降低攻击面。
  • 强化登录安全:安装并配置 libpam-pwquality,设置复杂度与长度(如 minlen=12、minclass=3),并在 /etc/security/pwquality.conf 与 PAM 中启用;禁用 root 远程登录,使用 SSH 密钥替代口令,必要时更改默认端口。
  • 最小化权限与 sudo:仅授予 DBA 必要的 sudo 权限,使用 visudo 编辑,禁止直接修改 /etc/sudoers 权限为 777 等不安全做法。
  • 防火墙与端口:启用 UFW,仅放行 SSH 与数据库所需端口(如 1521/TCP),默认拒绝其他入站。
  • 主机加固与零停机补丁:在支持的 Ubuntu 内核上使用 Oracle Ksplice 进行零停机内核与安全更新,缩短暴露窗口。
  • 审计与监控:集中收集与审计系统日志(如 /var/log/syslog),对关键操作与登录进行告警与留存。

二 Oracle 监听与网络安全

  • 监听访问控制:通过 lsnrctl 配置监听的 ADMIN_RESTRICTIONS 与口令,限制远程对监听器的管理操作;仅在内网开放 1521/TCP,对外网隔离或经跳板访问。
  • 精细权限控制:对 lsnrctl 等管理工具采用最小权限策略,例如使用 sudoers 精确授权、设置 ACL、或以 AppArmor/SELinux 限制可执行范围与系统调用。
  • 远程 DBA 风险控制:避免远程 SYSDBA/OSDBA 直连,必要时通过 orapwd 设置强口令并限制来源;对敏感操作启用审计。
  • 加密传输:启用 SQL*Net 加密(SQLNET.ENCRYPTION_SERVER/CLIENT) 与完整性校验,防止口令与数据在网络中被窃听或篡改。

三 数据库账户与权限治理

  • 账户与口令:安装后立即修改 SYS/SYSTEM 等默认账户口令,设置复杂度与定期轮换策略;禁用或删除默认演示账户。
  • 最小权限与角色:以 最小权限 原则分配权限,优先使用自定义角色聚合权限并定期审计回收;避免滥用 DBA 角色。
  • 表空间与配额:按业务创建多 表空间,为用户授予必要的 配额(QUOTA) 与默认表空间,隔离与管控数据增长与 I/O。
  • 网络与登录安全:限制 远程 SYSDBA,对管理通道设置强认证与来源白名单;对应用账户采用专用账户与受限权限。

四 补丁、备份恢复与审计

  • 补丁策略:操作系统层面优先使用 Ksplice 实现零停机安全更新;数据库层面按 Oracle 关键补丁更新(CPU) 周期及时升级并回归测试。
  • 备份与验证:制定并演练 RMAN 全量/增量备份与归档策略,定期执行 恢复演练 验证可用性与完整性;保留多份异地/离线副本。
  • 审计与告警:启用 Oracle 审计(如登录、权限变更、敏感数据访问),结合系统日志与 SIEM 进行关联告警与取证;对 alert.log 与监听日志进行例行巡检。

五 快速实施命令示例

  • 系统与登录加固
    • 更新与加固:sudo apt update && sudo apt upgrade -y
    • 密码策略:sudo apt install -y libpam-pwquality 编辑 /etc/security/pwquality.conf:minlen=12;minclass=3 在 /etc/pam.d/common-password 加入:password requisite pam_pwquality.so retry=3
    • SSH:禁用 root 登录(/etc/ssh/sshd_config:PermitRootLogin no),启用密钥登录,必要时 Port 改非默认
    • 防火墙:sudo ufw enable;sudo ufw allow OpenSSH;sudo ufw allow 1521/tcp
  • Oracle 监听与权限
    • 设置监听口令与限制:lsnrctl LSNRCTL> set current_listener LISTENER LSNRCTL> change_password LSNRCTL> set password LSNRCTL> save_config LSNRCTL> set admin_restrictions on LSNRCTL> status
    • 精细控制 lsnrctl 执行权限(示例仅授权 oracle 用户):sudo visudo oracle ALL=(ALL) NOPASSWD: /u01/app/oracle/product/**/bin/lsnrctl
  • 数据库账户与表空间
    • 修改默认口令:sqlplus / as sysdba alter user sys identified by !; alter user system identified by #;
    • 创建表空间与用户并授权: CREATE TABLESPACE app_data DATAFILE ‘/u01/app/oracle/oradata/ORCL/app01.dbf’ SIZE 100M AUTOEXTEND ON NEXT 50M; CREATE USER app_user IDENTIFIED BY $ DEFAULT TABLESPACE app_data QUOTA UNLIMITED ON app_data; GRANT CONNECT, RESOURCE TO app_user;
  • 备份与恢复演练
    • RMAN 示例:rman target / BACKUP DATABASE PLUS ARCHIVELOG; BACKUP VALIDATE DATABASE; (定期在测试环境执行恢复演练,验证备份有效性)

安全提示:生产环境变更前请在测试环境验证,变更窗口内保留回退方案,关键操作双人复核并记录审计日志。

0