蘑菇加速器安卓

新闻动态

汇聚最新资讯 / 产品信息

用最专业的眼光看待互联网

立即咨询

首页 > 新闻
为 Amazon RDS for SQL Server 和 Amazon RDS for Oracl
发布时间:2026-01-27

配置 SSL/TLS 客户端连接到 Amazon RDS

关键要点

本文将介绍如何为运行 RDS 的 SQL Server 和 Oracle 的 Amazon RDS 实例配置 SSL/TLS 连接。本文重点包括:

使用常见数据库管理工具如 SQL Server Management Studio、DBeaver 和 Oracle SQL Developer配置 SSL/TLS 。了解 SSL 和 TLS 的基本原理,以及 SSL/TLS 证书如何在安全数据库连接中工作。按照步骤在 Amazon RDS 中为 SQL Server 和 Oracle 配置 SSL/TLS 连接。

通信的完整性和机密性对客户和数据库之间的连接非常重要。然而,出于实际复杂性或对所用工具的认知障碍,SSL 的部署有时会面临阻力。通过本篇文章,我们将展示如何通过广泛使用的客户端应用程序来配置 SSL/TLS 连接。

SSL 概述

SSL 是一种标准安全技术,用于在服务器和客户端之间建立加密链接。如今 SSL 已被 TLS 取代,后者修复了 SSL 的现有漏洞,并能够高效地执行身份验证。

SSL/TLS 证书是由受信任的 证书颁发机构CA签名的数字文档,能够帮助系统验证身份,并随后使用 SSL/TLS 协议与另一系统建立加密的网络连接。所谓的“传输中的加密”使用 SSL/TLS 协议,而 SSL/TLS 证书必须加载到数据库中。

一般来说,数据库服务器倾向于在没有互联网暴露的私有网络中配置,有时会使用自签名证书。自签名证书提供加密功能,但并不提供来自受信任 CA 的身份验证。

证书链

证书链是一个有序的证书列表,包含 SSL/TLS 证书和 CA 证书,使接收方可以验证发送方及所有 CA 是否可信。链条从 SSL/TLS 证书开始,每个证书由下一个证书所定义的实体进行签名。下面的图示展示了一条证书链。

解决方案概述

对于所有 Amazon RDS 数据库引擎,当 DB 实例被创建时,会生成 SSL 证书。该证书以 DB 实例端点作为 SSL 证书的通用名称CN,以防止 欺骗攻击。

要配置 SSL:

对于 Amazon RDS for SQL Server,在参数组中使用 rdsforcessl 参数。对于 Amazon RDS for Oracle,在 选项组 中使用 SQLNETCIPHERSUITE、FIPSSSLFIPS140 和 SQLNETSSLVERSION 参数, 并在实例的安全组配置中禁用 1521 端口的访问。

每个数据库引擎都有其实现 SSL/TLS 的过程。要了解如何为您的 DB 实例实施 SSL/TLS,您可以参考 使用 SSL/TLS 加密与 DB 实例的连接。

前提条件

一台 Amazon RDS for Oracle 或 Amazon RDS for SQL Server 数据库实例。出于安全最佳实践,您可以在 Amazon 弹性计算云Amazon EC2实例上安装和使用以下客户端,并私密访问 RDS 实例。Microsoft SQL Server Management Studio (SSMS)DBeaverOracle SQL Developer

为 Amazon RDS for SQL Server 配置 SSL/TLS 连接

本节演示如何使用 SSMS 和 DBeaver 配置到 Amazon RDS for SQL Server 的 SSL 连接。SSMS 使用 Windows 证书存储。按照以下步骤将您的证书导入 Windows 证书存储:

在 SSMS 中打开 certmgrmsc。展开 证书,右键点击 受信任的根证书颁发机构。选择 所有任务,然后选择 导入。在证书导入向导的第一页中选择 下一步。选择 浏览。在浏览窗口中,将文件类型更改为 所有文件 (),因为 pem 不是标准证书扩展。找到您之前下载的 pem 文件。选择 打开,然后选择 下一步。选择 完成。对话框会提示导入成功。在证书管理控制台中,展开 证书,展开 受信任的根证书颁发机构 并选择 证书。确认证书存在。

在 SSMS 连接属性 标签中,选择 加密连接 和 信任服务器证书。

为 Amazon RDS for SQL Server 和 Amazon RDS for Oracl

为了使用 DBeaver 连接到 RDS for SQL Server:

在 DBeaver 的 主 标签下,选择 连接设置,然后选择 信任服务器证书。在 SSL 标签中,选择 使用 SSL。在 密钥库 字段中,输入您的密钥库路径。

为 Amazon RDS for Oracle 配置 SSL/TLS 连接

本节展示如何通过 Oracle SQL Developer 和 SQLPLUS 指令行配置到 Amazon RDS for Oracle 的 SSL 连接。

为安全地通过 Oracle SQL Developer 连接 Oracle,首先执行连接到命令行所需的操作。前提条件如下:

创建一个新的选项组以配置 RDS 实例的参数。使用的 Oracle 客户端软件。OpenSSL 软件 用于创建与 RDS 实例的 SSL 连接。Java 加密扩展JCE软件。Oracle SQL Developer 以获得 RDS 实例的图形用户界面GUI。连接数据库时使用的 AWS 证书包。

请完成以下步骤:

导航至 RDS 控制台。在选项组下,选择创建一个新选项组,包含 SSL 选项。下载 Oracle 客户端 zip 文件,并将客户端软件解压到任意目录。运行从解压文件中提取的 setupexe 文件。下载 openssl102jfipsx8664/openssl102jfipsx8664zip,并将 OpenSSL 软件解压到 C此软件将被解压到 Copenssl。下载 JCE 文件,并将文件解压到任意目录。我们需要使用的两个文件是 localpolicyjar 和 USexportpolicyjar。下载 Oracle SQL Developer,并将软件解压到 C。从 AWS 下载证书,选择您所在区域的证书。找到配置所需的以下文件: orapkibat (Coraclebin) opensslexe (COpenSSLbin) keytoolexe (Coraclejdkbin) sqlnetora (Coraclenetworkadmin) JCE 文件 (Csqldeveloperssl) sqldeveloperconf (Csqldevelopersqldeveloperbin) 通过以下命令创建钱包在 Windows 命令窗口中:shell Coraclebinorapki wallet create wallet Coraclesslwallet autologinonly添加 Amazon RDS 证书到钱包:shell Coraclebinorapki wallet add wallet Coraclesslwallet trustedcert cert Csqldevelopersslusgovwest1bundlepem autologinonly在 tnsnamesora 文件中添加数据库条目。请注意,新安装的客户端中该文件可能不存在。请在与 sqlnetora 文件相同的目录下创建名为 tnsnamesora 的文本文件,添加以下条目: shell ORCLSSL =(DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = ltorclsslxxxxxusgovwest1rdsamazonawscomgt)(PORT = 2484)) (CONNECTDATA= (SERVER = DEDICATED) (SID = ltorclsslgt)) ) )在 sqlnetora 文件中添加钱包位置的条目: shell WALLETLOCATION= (SOURCE= (METHOD=file) (METHODDATA=(DIRECTORY= Coraclesslwallet))) SSLCLIENTAUTHENTICATION = FALSE SSLVERSION = 12 SSLCIPHERSUITES = (SSLRSAWITHAES256CBCSHA) SSLSERVERDNMATCH = NO SQLNETAUTHENTICATIONSERVICES = (TCPSTNS) NAMESDIRECTORYPATH= (TNSNAMES EZCONNECT)打开 Windows 命令窗口并通过以下命令设置包含 tnsnamesora 文件位置的环境变量: shell set TNSADMIN= Coraclenetworkadmin

使用以下代码确认: shell ECHO TNSADMIN 您可以通过将 tnsnamesora 文件的位置添加到系统环境变量中,使这一设置为永久。

使用以下 sqlplus 命令建立与数据库的安全连接,并使用 SELECT SQL 语句确认已建立安全连接: shell sqlplus admin@ORCLSSL SELECT SYSCONTEXT(USERENV DBNAME) connected with SYSCONTEXT(USERENV networkprotocol) FROM DUAL 响应应该是 ltdbnamegt 已连接的字符串以及 tcps。

使用以下命令将来自 AWS 的证书从 pem 格式转换为 der 格式: shell set OPENSSLCONF=COpenSSLbinopensslcnf COpenSSLbinopenssl x509 outform der in Csqldevelopersslusgovwest1bundlepem out Coraclesslwalletusgovwest1bundleder dir Coraclesslwallet

使用以下命令创建密钥库: shell Coraclejdkbinkeytool keystore Coraclejdkjrelibsecurityclientkeystore genkey alias client 系统会要求您输入密码,请妥善保管该密码,因为后续步骤将需要它。

确认文件已创建: shell dir Coraclejdkjrelibsecurityclientkeystore

导入 AWS 证书以 der 格式: shell Coraclejdkbinkeytool import alias rdsroot keystore Coraclejdkjrelibsecurityclientkeystore file Coraclesslwalletusgovwest1bundleder复制 JCE 文件: shell copy Csqldeveloperssllocalpolicyjar Coraclejdkjrelibsecurity copy CsqldevelopersslUSexportpolicyjar Coraclejdkjrelibsecurity编辑 Oracle SQL Developer 配置文件 (sqldeveloperconf),并添加以下条目: shell AddVMOption DjavaxnetssltrustStore=Coraclejdkjrelibsecurityclientkeystore AddVMOption DjavaxnetssltrustStoreType=JKS AddVMOption DjavaxnetssltrustStorePassword=ltkeystore passwordgt AddVMOption Doraclenetsslciphersuites=TLSRSAWITHAES256CBCSHA

启动 Oracle SQL Developer,并导航到 工具、首选项、数据库、高级,设置 Oracle 客户端位置。

创建与数据库的安全连接,连接信息如下: shell (DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=ltorclsslxxxxxxxusgovwest1rdsamazonawscomgt)(PORT=2484)) (CONNECTDATA=(SID=orclssl))(SECURITY = (MYWALLETDIRECTORY = Coraclesslwallet)))

使用以下 SQL 确认连接通过 TCPS 完成: sql SELECT SYSCONTEXT(USERENV DBNAME) connected with SYSCONTEXT(USERENV networkprotocol) FROM DUAL

到此为止,数据库正在监听两个端口:1521不安全连接和 2484安全连接。为了防止使用 1521 端口的连接,请编辑安全组的入站规则以禁止该端口的访问。

清理

测试完成后,请删除 RDS 实例及任何用于创建堡垒的 EC2 实例。

蘑菇加速器永久破解版

结论

在本文中,我们展示了如何配置多种数据库客户端工具,以便在 Amazon RDS for SQL Server 和 Amazon RDS for Oracle 中使用 SSL 加密。使用 SSL 可以在连接到 Amazon RDS 时保护数据的传输安全,同时确保符合您组织的安全政策和指南。

如果您有任何问题或意见,请在评论区留言。

关于作者

Dean Capps 是 AWS 的数据库顾问,拥有提供遗留、开放系统和云平台数据库支持的经验。他目前是 AWS 全球能力中心的成员,为商业和公共部门客户提供同质和异质数据库迁移支持。

Feng Cai 是 AWS 的数据库顾问,拥有广泛的为不同客户提供数据库服务的背景。他当前也是 AWS 全球能力中心的成员,专注于为客户提供同质和异质数据库迁移支持。

Shirin Ali 是 AWS 的高级客户解决方案经理,作为技术 CSM 和业务战略领导者,Shirin 助力客户加速云端之旅,执行强有力的项目管理,同时确保 AWS 客户实现业务价值。

Sushant Deshmukh 是 AWS 专业服务团队的数据库顾问,与 AWS 客户和合作伙伴共同建构高度可用、可扩展、安全的数据库架构。他在 AWS 上运行数据库工作负载方面提供技术设计和实现专业知识,并帮助客户迁移和现代化其数据库到 AWS 云。工作之外,他喜欢旅行、探索新的地方,打排球以及与家人和朋友共度时光。

售前咨询热线
在线咨询
公司地址
  • 地址:马鞍山市琴藏山谷456号

CopyRight © 蘑菇加速器中国大陆官方网站|蘑菇加速器 2007-2024 https://www.qjyshow.com All Rights Reserved 加速器免费安卓