AWS Aurora PostgreSQL 12.12中oracle_fdw连接Oracle默认用TLS≥1.2吗?
oracle_fdw 连接 Oracle 的 TLS 配置说明
默认TLS版本情况
你使用的Oracle客户端21.7.0.0.0,默认TLS协议版本就是TLS 1.2。oracle_fdw本身不管控TLS连接逻辑,完全依赖底层Oracle客户端的网络配置,所以创建服务器连接时默认会使用TLS≥1.2。
强制锁定TLS≥1.2的配置方法
如果要彻底确保连接仅使用TLS 1.2及以上版本,避免回退到旧协议,可以按以下方式配置:
1. 修改Oracle客户端的sqlnet.ora配置
找到Oracle客户端的network/admin目录(通常路径为$ORACLE_HOME/network/admin),编辑sqlnet.ora文件,添加或更新以下参数:
SQLNET.ENCRYPTION_CLIENT = REQUIRED SQLNET.CRYPTO_CHECKSUM_CLIENT = REQUIRED SQLNET.TLS_VERSION = 1.2 SSL_VERSION = 1.2
SQLNET.TLS_VERSION=1.2:强制客户端仅使用TLS 1.2ENCRYPTION_CLIENT和CRYPTO_CHECKSUM_CLIENT设为REQUIRED,确保连接必须加密,拒绝未加密请求
2. 在CREATE SERVER语句中直接指定参数
也可以跳过客户端配置文件,在PostgreSQL的CREATE SERVER里通过options参数直接传递Oracle连接属性:
CREATE SERVER oracle_server FOREIGN DATA WRAPPER oracle_fdw OPTIONS ( dbserver '//oracle-host:1521/orcl', options 'TLS_VERSION=1.2,ENCRYPTION_CLIENT=REQUIRED' );
这里的options参数会直接传给Oracle客户端,强制启用TLS 1.2并要求加密连接。
AWS RDS环境的额外注意点
在AWS RDS Aurora-PostgreSQL上部署时,要注意:
- 需通过RDS自定义参数组或扩展配置,让Oracle客户端的
sqlnet.ora配置生效 - 目标Oracle数据库的监听要支持TLS连接,对应的端口(如TCPS端口或1521端口)需开放
内容的提问来源于stack exchange,提问作者Mike Laz
相关产品推荐
相关产品推荐

