功能介绍
SSL加密功能可以对SQL Server和客户端之间传输的数据进行加密,防止数据被第三方监听、截取和篡改。客户端可以使用CA证书验证收到的服务器证书以确认RDS SQL Server身份,防止中间人攻击。
开启SSL加密后,客户端连接SQL Server时,可以选择进行强制加密连接或者非加密连接。可以下载SSL CA证书。
开启SSL加密时,SQL Server将生成服务器证书以及公私钥。客户端可以使用CA证书
支持的版本
目前SQL Server 所有版本(2014~2022)及架构(单机、主备)的数据库实例均支持设置 SSL 加密,其中,只读实例无需单独设置,主实例开启 SSL 加密后,其只读实例会同步生效。
前提条件
只有数据库状态为运行中的实例才可以设置SSL加密。
注意事项
开启SSL加密、关闭SSL加密时会重启实例,实例可能会有几分钟不可用,因此,操作前请您确保业务具备重连机制,建议在业务低峰期操作。
开启 SSL 加密后,会显著造成实例 CPU 使用率上升。
SSL 的证书有效期为10年。
开启SSL加密将会同时对内网VIP、已绑定SQL Server实例弹性公网IP(如有)进行加密。
开启或关闭SSL加密时,不允许对SQL Server进行主备切换、重启等。
实例先开启SSL,后绑定弹性IP,使用弹性IP加密访问时必须信任服务器证书。
主实例先开启SSL,后开通的只读实例,通过vip或弹性IP加密访问只读实例时,必须信任服务器证书。
开启SSL加密
在天翼云官网首页的顶部菜单栏,选择【产品 > 数据库 > 关系型数据库 > 关系数据库SQL Server版】,进入关系数据库SQL Server产品页面。然后单击【管理控制台】,进入TeleDB数据库【概览】页面。
在左侧导航栏,选择【SQL Server > 实例管理】,进入实例列表页面。然后在顶部菜单栏,选择区域和项目。
在实例列表中,单击目标实例名称,进入实例【基本信息】页面。
点击【数据安全】菜单,点击【SSL设置】按钮,在设置SSL对话框,选择开启。
点击【确定】按钮,数据库将开启SSL加密,注意,此时不是立即开启成功,提交完处于开启中状态,一般需要几分钟,可以在页面左侧菜单【任务中心】查看开启SSL加密任务的执行情况,或者在当前页面刷新查看开启状态。
关闭SSL加密
在天翼云官网首页的顶部菜单栏,选择【产品 > 数据库 > 关系型数据库 > 关系数据库SQL Server版】,进入关系数据库SQL Server产品页面。然后单击【管理控制台】,进入TeleDB数据库【概览】页面。
在左侧导航栏,选择【SQL Server > 实例管理】,进入实例列表页面。然后在顶部菜单栏,选择区域和项目。
在实例列表中,单击目标实例名称,进入实例【基本信息】页面。
点击【数据安全】菜单,点击【SSL设置】按钮,在设置SSL对话框,选择关闭。
点击【确定】按钮,数据库将关闭SSL加密,注意,此时不是立即关闭成功,提交完处于关闭中状态,一般需要几分钟,可以在页面左侧菜单【任务中心】查看关闭SSL加密任务的执行情况,或者在当前页面刷新查看关闭状态。
下载SSL CA证书
在天翼云官网首页的顶部菜单栏,选择【产品 > 数据库 > 关系型数据库 > 关系数据库SQL Server版】,进入关系数据库SQL Server产品页面。然后单击【管理控制台】,进入TeleDB数据库【概览】页面。
在左侧导航栏,选择【SQL Server > 实例管理】,进入实例列表页面。然后在顶部菜单栏,选择区域和项目。
在实例列表中,单击目标实例名称,进入实例【基本信息】页面。
点击【数据安全】菜单,SSL已开启状态,支持点击【下载证书】按钮进行下载。
下载证书为压缩包,包含三个文件:
ca.p7b 文件: 用于windows 系统中导入CA证书。
ca.pem 文件 : 用于其他系统或应用中导入CA证书。
ca.jks 文件 : Java中的truststore证书存储文件,密码统一为Ct#SqlServer#Jks,用于Java程序中导入CA证书链。
SSL 客户端连接登录
开启 SSL 加密后,客户端通过vip连接 SQL Server 实例时,分为信任服务器证书和不信任服务器证书两种场景。若信任服务器证书,则不需要配置 SSL CA 证书即可进行加密连接;若不信任服务器证书,则需要导入并配置 SSL CA 证书后,进行加密连接。下面以SQL Server Management Studio 客户端为例。其他非界面化客户端可以设置 Encrypt、TrustServerCertificate 参数。
场景一:加密连接且信任服务器证书
打开 SQL Server Management Studio 客户端,单击对话框右下角的选项。
在连接属性选项卡中,勾选加密连接和信任服务器证书,并单击连接。
场景二:加密连接且不信任服务器证书
步骤一: 下载CA证书
下载CA证书到windows本地,并解压缩。
步骤二: 导入CA证书
在windows桌面左下角搜索框,输入 certmgr.msc 打开证书管理器。
在 certmgr 对话框中,鼠标右键单击受信任的根证书颁发机构,选择所有任务 > 导入。单击下一步。
在证书导入向导页面中,单击浏览导入已下载的 SSL CA 证书(选择ca.p7b文件),并单击下一步。
在导入向导页面选择存放位置,默认是受信任的根证书颁发机构,单击下一步,然后单击完成。证书导入成功。
步骤三: 加密连接
打开 SQL Server Management Studio 客户端,单击对话框右下角的选项。
在连接属性选项卡中,勾选加密连接,不勾选信任服务器证书,并单击连接。