温馨提示×

oracle在centos中的安全配置有哪些

小樊
42
2025-11-19 21:11:56
栏目: 云计算

CentOS 上 Oracle 的安全配置清单

一 系统与账户安全

  • 保持系统与安全补丁为最新,遵循最小安装原则,仅启用必要服务;远程管理仅使用SSH,禁用Telnet等明文协议。
  • 启用并正确配置firewalld,仅放行必要端口(如 SSH 22、Oracle 监听端口),避免直接关闭防火墙。
  • 强化SSH:禁用 root 登录、改用密钥认证、可变更默认端口、限制可登录来源网段(结合防火墙或 TCP Wrappers / hosts.allow,hosts.deny)。
  • 配置登录失败锁定会话超时:例如 PAM 失败锁定(如 deny=3)、全局超时(如 TMOUT=600 秒);确保无空口令/弱口令,口令有效期不超过90 天,复杂度满足策略(长度、字符类别)。
  • 按最小权限原则分配账户与权限,root 组仅保留系统管理员;定期审计并清理多余/共享的高权限账户。

二 Oracle 运行环境与内核参数

  • 创建专用账户与组:如 oinstall、dba,将 oracle 用户加入对应组,设置强口令与家目录权限。
  • 配置资源限制(/etc/security/limits.conf 或 /etc/security/limits.d/):
    • oracle soft nproc 2047;oracle hard nproc 16384
    • oracle soft nofile 1024;oracle hard nofile 65536
  • 调整内核参数(/etc/sysctl.conf,执行 sysctl -p 生效):
    • fs.aio-max-nr 1048576;fs.file-max 6815744
    • kernel.shmmni 4096;kernel.shmall 2097152;kernel.shmmax 2147483648
    • kernel.sem 250 32000 100 128
    • net.ipv4.ip_local_port_range 9000 65500
    • net.core.rmem_default 262144;net.core.rmem_max 4194304
    • net.core.wmem_default 262144;net.core.wmem_max 1048576
  • 设置 Oracle 环境变量(如 /home/oracle/.bashrc 或 /etc/profile.d/oracle.sh):ORACLE_BASE、ORACLE_HOME、ORACLE_SID、PATH、LD_LIBRARY_PATH 等,权限最小化。

三 数据库安全加固

  • 关闭远程 SYSDBA 口令文件共享:将 REMOTE_LOGIN_PASSWORDFILE 设为 NONE(需重启实例),仅允许本机口令文件认证,降低远程高权限风险。
  • 启用数据字典保护:设置 O7_DICTIONARY_ACCESSIBILITY = FALSE,防止非授权用户通过数据字典基表直接访问敏感元数据。
  • 强制密码复杂度登录安全:执行 @?/rdbms/admin/utlpwdmg.sql 创建/更新校验函数,在 PROFILE 中设置如:
    • FAILED_LOGIN_ATTEMPTS 5;PASSWORD_LOCK_TIME 1/24(小时);PASSWORD_LIFE_TIME 90
    • PASSWORD_REUSE_TIME 0;PASSWORD_REUSE_MAX UNLIMITED
    • PASSWORD_VERIFY_FUNCTION 指向校验函数。
  • 开启审计:设置 AUDIT_TRAIL=DB(或 OS),并按需审计关键操作(登录/退出、DDL、权限变更等)。
  • 限制可连接主机:在 $ORACLE_HOME/network/admin/sqlnet.ora 中启用
    • tcp.validnode_checking=yes;tcp.invited_nodes=(<白名单 IP/CIDR>);执行 lsnrctl reload 生效。
  • 启用空闲连接检测:在 sqlnet.ora 中设置 SQLNET.EXPIRE_TIME=15(分钟),自动断开僵死连接。
  • 控制最大连接数:如 alter system set processes=200 scope=spfile; 结合负载测试合理设置。

四 网络与传输安全

  • 仅开放必要端口(如 22/SSH、Oracle 监听端口),使用 firewall-cmd --permanent --add-port=<端口>/tcp 精确放行,避免关闭防火墙。
  • 对管理终端进行源地址限制:通过 hosts.allow / hosts.deny 或防火墙策略仅允许堡垒机/管理网段访问 SSH。
  • 启用传输加密:在 sqlnet.ora 中配置 SQLNET.ENCRYPTION=REQUIRED(可叠加完整性校验),保护客户端与数据库之间的网络通信。

五 合规与运维建议

  • 参考**等保 2.0(GB/T 22239-2019)**开展安全配置与测评:身份鉴别、访问控制、安全审计、入侵防范、漏洞与补丁管理等要求应纳入常态化运维。
  • 建议采用堡垒机实现双因子认证(2FA)与集中审计;定期漏洞扫描基线核查,变更留痕。
  • 生产环境优先保持 SELinux 为 enforcing,通过策略定制解决兼容问题,避免直接禁用。

0