温馨提示×

sqlplus在Debian中有哪些安全设置

小樊
48
2026-01-09 18:49:37
栏目: 云计算

SQL*Plus 在 Debian 的安全设置清单

一 登录与会话安全

  • 避免在命令行中直接写入密码,使用sqlplus /nolog先进入交互,再用conn user/pass或交互式输入口令,防止密码出现在ps输出与history记录中。示例:sqlplus /nolog → conn scott/tiger。必要时以受控方式输入口令(脚本交互或受保护凭据文件)。
  • 脚本调用时关闭回显与校验信息,减少敏感信息暴露:sqlplus -S /nolog …;在 SQL*Plus 内部使用set echo off、set verify off、set feedback off、set heading off、set pagesize 0
  • 限制特权登录:仅在维护窗口使用**/ as sysdba**,日常业务使用普通用户并遵循最小权限原则;避免在共享账户或通用脚本中硬编码 DBA 凭据。

二 凭据与脚本安全

  • 禁止将口令写入脚本或代码仓库;若必须由脚本提供口令,使用权限为仅用户可读的文件(如chmod 500),并在脚本中读取后立即清理内存引用;切勿以明文形式出现在命令行参数中。
  • 避免在**~/.bash_history、/var/log/**等位置留存口令;必要时在脚本执行前后清理历史与环境变量。
  • 对运维脚本统一采用“最小权限账户 + 受限连接串 + 日志脱敏”的组合,减少凭据泄露面。

三 操作系统层加固

  • 为运行 SQL*Plus 的 OS 账户启用强密码策略周期性更换:在**/etc/login.defs中设置PASS_MAX_DAYS**(如90天);使用libpam-pwqualitylibpam-cracklib在**/etc/pam.d/common-password中强制复杂度(如minlen≥12**、包含大小写字母、数字与特殊字符等)。
  • 配置登录失败锁定:在**/etc/pam.d/common-auth加入如pam_tally2.so deny=5 unlock_time=300**(失败5次锁定5分钟),并配套监控与告警。
  • 限制 SQL*Plus 相关目录与文件的权限与属主,仅允许目标用户与组访问;清理不再使用的安装包与临时文件。

四 数据库账户与权限治理

  • 遵循最小权限:普通应用账户仅授予所需权限(如CREATE SESSION及业务所需对象权限),避免使用DBA角色进行日常连接;必要时通过角色进行授权与回收。
  • 对公共脚本或共享账户实施专用账户 + 细粒度权限,并定期审计与回收过期权限;对SYS/SYSTEM仅限维护窗口使用,且通过**/ as sysdba**严格控制。

五 网络与客户端配置

  • 优先使用本地/受控网络SSH 隧道访问数据库,避免将监听端口对公网开放;在客户端与中间件侧启用TLS/SSL加密通道(如使用 Oracle 的TCPS配置),并对客户端与服务器进行双向身份校验。
  • 在 SQL*Plus 连接字符串中避免包含明文口令;结合TNS_ADMIN与安全的sqlnet.ora配置(如限制解析与访问控制),减少被嗅探与滥用风险。

0