Windows Server 2016下Oracle 12c TLS 1.2配置与加密相关问题咨询
Oracle 12c 12.2.0.1 通信加密相关问题解答
1 版本协议支持及系统级SSL禁用影响
Oracle 12c 12.2.0.1 原生支持TLS 1.0、TLS 1.1、TLS 1.2三个版本,不支持TLS 1.3(TLS 1.3从Oracle 19c版本开始引入支持)。
直接在Windows注册表禁用SSL v2、SSL v3不会导致Oracle 12c通信异常,只要你没有在Oracle的sqlnet.ora配置中强制指定使用SSL协议即可。为了避免兼容风险,建议同步在服务端和客户端的sqlnet.ora配置文件中添加参数 SSL_VERSION = 1.2,强制所有SSL/TLS连接仅使用TLS 1.2版本,彻底规避低版本协议的安全风险。
2 Oracle独立服务器通信加密最佳实践
- 无强制证书合规要求的场景优先使用Oracle原生网络加密,无需部署维护证书,运维成本更低,加密性能优于SSL/TLS方案
- 服务端sqlnet.ora配置
SQLNET.ENCRYPTION_SERVER = REQUIRED,强制所有客户端连接必须走加密通道,直接拒绝未加密的连接请求,避免漏网之鱼 - 加密算法仅保留高安全等级的AES256、AES192,禁用3DES、RC4等所有弱加密算法;完整性校验仅保留SHA256及以上级别算法
- 监听器禁用默认1521端口,开启
VALID_NODE_CHECKING_REGISTRATION_LISTENER = ON参数,防止非法实例注册到监听器 - 若使用SSL/TLS加密,必须使用SHA256及以上哈希算法签名的证书,证书有效期不超过1年,优先使用内部可信CA签发的证书,避免使用自签名证书
3 Net Manager Encryption标签页功能说明
Encryption标签页对应的是Oracle原生网络加密(Native Network Encryption, NNE)能力,确实是不基于SSL/TLS的全通信加密方案,是Oracle在TNS协议层自研实现的加密逻辑,不需要部署数字证书。
该功能可以覆盖服务端与客户端之间的全量通信内容,包括用户认证信息、SQL语句、查询返回结果、执行状态等所有传输内容,同时支持数据完整性校验,可有效防止传输过程中的数据篡改、窃听风险。
内容的提问来源于stack exchange,提问作者Cid11
相关产品推荐
相关产品推荐

