首页主机资讯sqlplus在centos中的安全性问题

sqlplus在centos中的安全性问题

时间2025-12-19 23:41:05发布访客分类主机资讯浏览695
导读:CentOS 上使用 SQL*Plus 的主要安全风险与加固要点 一 常见风险 在命令行中直接使用“用户名/密码”会被 ps 等进程列表工具直接暴露,存在凭据泄露风险。应避免在命令行明文书写密码。 使用 system 等默认或高权限账户进...

CentOS 上使用 SQL*Plus 的主要安全风险与加固要点

一 常见风险

  • 在命令行中直接使用“用户名/密码”会被 ps 等进程列表工具直接暴露,存在凭据泄露风险。应避免在命令行明文书写密码。
  • 使用 system 等默认或高权限账户进行日常操作,一旦凭据泄露影响面大;应创建专用低权限账户并遵循最小权限原则
  • 监听端口(默认 1521/TCP)对公网开放且无来源限制,容易被暴力尝试或嗅探;应启用防火墙白名单与访问控制。
  • 客户端与服务器之间多为明文传输,存在数据被窃听风险;应启用 SSL/TLS 加密通道。
  • 登录与关键操作缺乏审计追踪,发生入侵或误操作难以定位;应开启数据库审计并监控登录行为。

二 加固清单

  • 凭据与账户
    • 创建专用业务用户并仅授予必要权限,例如仅授予 CREATE SESSION 与所需的 SELECT/INSERT 等,避免授予 DROP/ALTER 等高危权限;管理员权限通过角色分离与审批使用。
    • 禁用或限制默认账户(如 scott),对 system 等管理账户实施更严格的管控与审计。
  • 连接与输入
    • 避免使用“sqlplus user/pass@…”形式;优先使用 sqlplus /nolog 后交互输入,或在脚本中通过安全方式读取凭据,防止出现在进程列表与命令历史中。
  • 系统与 PAM
    • 启用密码策略:最大有效期 90 天、最小间隔 7 天、过期前 10 天提醒;复杂度至少 12 位,包含大小写字母、数字与特殊字符,并禁止复用最近 5 次密码。
    • 登录失败锁定:连续失败 5 次锁定 300 秒,降低暴力破解成功率。
  • 网络安全
    • 通过 firewalld 仅允许受信任网段访问 1521/TCP,对不必要的来源一律拒绝。
    • 配置 SQL*Net/SSL 加密(如 WALLET_LOCATIONSSL_VERSION=1.2 等),保护传输链路安全。
  • 审计与监控
    • 开启数据库审计(如审计登录与关键 DML/DDL),并定期核查 DBA_AUDIT_TRAIL;结合系统日志(如 /var/log/secure)监测异常登录与失败重试。

三 关键配置示例

  • 密码策略(PAM,适用于新创建与现有用户)
    • 新用户默认策略(/etc/login.defs):
      • PASS_MAX_DAYS 90
      • PASS_MIN_DAYS 7
      • PASS_WARN_AGE 10
    • 现有用户调整:chage -M 90 -m 7 -W 10 username
    • 复杂度与历史(/etc/pam.d/system-auth 与 /etc/pam.d/password-auth):
      • 在 pam_unix.so 行尾追加:remember=5
      • 在 pam_pwquality.so 行尾追加:minlen=12 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
  • 登录失败锁定(/etc/pam.d/system-auth 与 /etc/pam.d/password-auth)
    • auth required pam_tally2.so deny=5 onerr=fail unlock_time=300
    • 查看/解锁:pam_tally2 -u username;pam_tally2 -r -u username
  • 防火墙白名单(firewalld)
    • firewall-cmd --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port protocol=“tcp” port=“1521” accept’ --permanent
    • firewall-cmd --reload
  • SQL*Plus 安全连接与登录
    • 交互式登录:sqlplus /nolog → CONNECT username/password@service
    • SSL/TLS(sqlnet.ora 示例):
      • SQLNET.AUTHENTICATION_SERVICES=(NTS)
      • SSL_CLIENT_AUTHENTICATION=TRUE
      • SSL_VERSION=1.2
      • WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/path/to/wallet)))
  • 审计示例
    • AUDIT SELECT TABLE BY ACCESS;
    • 查询:SELECT * FROM DBA_AUDIT_TRAIL WHERE ACTION_NAME=‘SELECT’ ORDER BY TIMESTAMP DESC;

四 日常运维与验证

  • 例行检查
    • 核查账户锁定与策略:pam_tally2 -u username;chage -l username
    • 核查防火墙规则与端口开放情况
    • 核查 SQL*Plus 相关配置与脚本文件权限,避免凭据落盘泄露
  • 监控与告警
    • 定期检索 /var/log/secure 与 DBA_AUDIT_TRAIL,关注失败登录、异常来源 IP、权限变更与敏感数据访问
  • 连接习惯
    • 统一使用 /nolog + CONNECT 的方式,禁止在脚本或命令行中明文书写密码。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: sqlplus在centos中的安全性问题
本文地址: https://pptw.com/jishu/776805.html
如何在centos上使用sqlplus进行数据分析 如何在centos配置tomcat安全策略

游客 回复需填写必要信息