当前位置: 首页 > news >正文

Oracle 的 SEC_CASE_SENSITIVE_LOGON 参数

Oracle 的SEC_CASE_SENSITIVE_LOGON 参数

关键版本信息

SEC_CASE_SENSITIVE_LOGON 参数在以下版本中被弃用:

  1. Oracle 12c Release 1 (12.1)

    • 该参数首次被标记为"过时"(obsolete)
    • 但依然保持功能有效
  2. Oracle 18c/19c 及更高版本

    • 参数被完全弃用(deprecated)
    • 虽然仍能查询和设置,但不再影响数据库行为
    • 密码大小写敏感性变为强制启用且不可配置

版本行为对比表

Oracle 版本参数状态默认行为是否可修改
10g及以下有效不区分大小写(FALSE)
11g有效区分大小写(TRUE)
12.1过时(Obsolete)区分大小写是(但不建议)
12.2+弃用(Deprecated)强制区分大小写
18c/19c/21c弃用强制区分大小写

官方文档说明

根据Oracle 19c安全指南:

“As of Oracle Database 12c Release 2, the SEC_CASE_SENSITIVE_LOGON parameter is deprecated. Case-sensitive passwords are always enforced and cannot be disabled.”

迁移建议

  1. 升级到12c+的处理方案

    -- 1. 检查现有密码兼容性
    SELECT username FROM dba_users 
    WHERE password_versions NOT LIKE '%12%';-- 2. 批量重置密码(如需)
    BEGINFOR r IN (SELECT username FROM dba_users WHERE account_status='OPEN') LOOPEXECUTE IMMEDIATE 'ALTER USER '||r.username||' IDENTIFIED BY "NewPass123"';END LOOP;
    END;
    
  2. 应用适配要求

    • 确保所有连接字符串使用正确大小写
    • 更新硬编码密码的配置文件
    • 修改自动化的密码管理脚本

替代方案

在12.2+版本中,如需控制认证行为,应考虑:

  1. 使用统一目录服务

    ALTER SYSTEM SET ldap_directory_access = 'PASSWORD';
    
  2. 配置全局认证模块

    -- 使用Oracle Kerberos适配器
    ALTER SYSTEM SET os_authent_prefix = '' SCOPE=SPFILE;
    
  3. 实施代理认证

    ALTER USER app_user GRANT CONNECT THROUGH proxy_user;
    

检查当前版本实际行为的方法

-- 方法1:测试密码敏感性(需实际尝试)
DECLAREv_count NUMBER;
BEGINBEGINEXECUTE IMMEDIATE 'CREATE USER testuser IDENTIFIED BY "Test123"';EXECUTE IMMEDIATE 'GRANT CREATE SESSION TO testuser';BEGINEXECUTE IMMEDIATE 'CONNECT testuser/test123';DBMS_OUTPUT.PUT_LINE('Case-insensitive allowed (unexpected)');EXCEPTIONWHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Case-sensitive enforced (expected)');END;EXECUTE IMMEDIATE 'DROP USER testuser';EXCEPTIONWHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Setup failed: '||SQLERRM);END;
END;
/-- 方法2:检查参数元数据(12c+)
SELECT name, isdeprecated, description 
FROM v$parameter 
WHERE name = 'sec_case_sensitive_logon';

在Oracle 12.2及更高版本中,即使显示参数存在,密码大小写敏感性也始终强制启用,这是Oracle加强安全体系的重要改进。

http://www.lqws.cn/news/144379.html

相关文章:

  • 代码中文抽取工具并替换工具(以ts为例)
  • 在 CentOS 上将 Ansible 项目推送到 GitHub 的完整指南
  • 高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
  • [论文阅读] 人工智能+软件工程 | MemFL:给大模型装上“项目记忆”,让软件故障定位又快又准
  • [pdf、epub]300道《软件方法》强化自测题业务建模需求分析共257页(202505更新)
  • 机器学习监督学习实战四:九种回归算法对波士顿房价数据进行回归预测和评估方法可视化
  • 【从0-1的CSS】第1篇:CSS简介,选择器已经常用样式
  • centos部署k8s v1.33版本
  • asp.net mvc如何简化控制器逻辑
  • vue2 , el-select 多选树结构,可重名
  • 使用vite-plugin-html在 HTML 文件中动态注入数据,如元数据、环境变量、标题
  • Go中的协程并发和并发panic处理
  • MVCC机制:Undo Log版本链与ReadView机制
  • MVCC实现原理
  • bug 记录 - 使用 el-dialog 的 before-close 的坑
  • 网站首页菜单两种布局vue+elementui顶部和左侧栏导航
  • Pandas和Django的示例Demo
  • wpf Behaviors库实现支持多选操作进行后台绑定数据的ListView
  • MySQL 高可用基石 - 复制监控与常见 HA 方案
  • DBSyncer:开源数据库同步利器,MySQL/Oracle/ES/SqlServer/PG/
  • 企业培训学习考试系统源码 ThinkPHP框架+Uniapp支持多终端适配部署
  • 行列式的性质
  • exp1_code
  • Redis 缓存策略:借助缓存优化数据库性能并保障数据一致性
  • 9.axios底层原理,和promise的对比(2)
  • 外网访问内网服务器常用的三种简单操作步骤方法,本地搭建网址轻松让公网连接
  • 游戏设计模式 - 子类沙箱
  • OCR助力保险业建设
  • 【C++】二叉搜索树
  • ocrapi服务docker镜像使用