【Azure Redis 缓存 Azure Cache For Redis】Azure Redis删除 TLS 1.0 和 1.1的计划及问题

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【Azure Redis 缓存 Azure Cache For Redis】Azure Redis删除 TLS 1.0 和 1.1的计划及问题

问题描述

Azure Redis 正式关闭TLS1.0和1.1关闭的时间

 

根据文档描述Azure Redis阶段2我们将停止支持 TLS 1.1 和 TLS 1.0,暂时计划 2020 年 12 月 31 日之后开始。

整个行业正趋向于使用传输层安全性 (TLS) 1.2 或更高版本。 TLS 版本 1.0 和 1.1 已知很容易遭到 BEAST 和 POODLE 之类的攻击,并且存在其他常见漏洞和披露 (CVE) 弱点。 此外,它们不支持支付卡行业 (PCI) 合规性标准推荐的新式加密法和加密套件。 TLS 安全性博客详细说明了其中一些漏洞。

作为此项工作的一部分,我们将对 Azure Cache for Redis 进行以下更改:

  • 阶段 1: 对于新创建的缓存实例,我们会将默认的最低 TLS 版本配置为 1.2(以前为 TLS 1.0)。 目前,不会更新现有的缓存实例。 如果需要,仍可使用 Azure 门户或其他管理 API 将最低的 TLS 版本更改 为 1.0 或 1.1,以实现后向兼容性。
  • 阶段 2: 我们将停止支持 TLS 1.1 和 TLS 1.0。 在此更改之后,应用程序必须使用 TLS 1.2 或更高版本才能与缓存通信。 如果我们迁移 Azure Cache for Redis 服务以仅支持 TLS 1.2 或更高版本,则该服务应可用。

阶段 2 暂时计划 2020 年 12 月 31 日之后开始。 但是,我们强烈建议你立即开始规划此更改,并主动更新客户端以支持 TLS 1.2 或更高版本。

 

在Azure Redis的门户上,可以直接修改TLS的版本,如下图:

 

 

 

而在服务端Redis修改了TLS版本后,客户端也需要验证及考虑如下问题:

1 .  是否针对所有使用Redis的Web App 都需要升级为1.2 版本,如果Web App的.Net Framework使用的是4.5.2及以下,或者4.6.1是否全部升级为1.2 呢?

如果应用程序使用的是.NET Framework 4.5.2或更低版本,Redis .NET客户端默认使用最低的TLS版本,是需要手动启用TLS 1.2的。

如果应用程序使用的.NET Framework 4.6或更高版本的话,则使用最新的TLS版本,是不需要在代码中手动启用的。

微软官方文档推荐检查应用程序是否合规的方式是:可以通过把测试环境的Redis的最低TLS版本值设置为TLS 1.2,然后运行测试,如果应用程序可继续按预期方式运行,则应用程序可能是合规的。

2 .  Redis 是否需要全部手动升级为1.2

在停用TLS 1.1和1.0之前,建议把redis的最低TLS版本修改为1.2,然后检查应用程序是否可以正常连接。如果有需要的话,则把应用程序Redis客户端配置为启用TLS 1.2。

 

3 .  Redis 的使用涉及到.net 、.net core 、java(spring boot)框架,.net 使用的是StackExchange.Redis ,java 使用的是Jedis . 因此是否都需要都需要设置 ssl=true 和 sslprotocols=tls12

对于.NET Framework的话,根据Framework版本来检查。

对于.NET Core的话取决与操作系统本身,StackExchange.Redis修改的方式是在连接字符串中设置ssl=true 和 sslprotocols=tls12。

对于java的话,在java 8中默认会使用TLS 1.2,并且大多数情况都不需要更新客户端配置。对于低版本的Java如果使用的是Jedis可以通过如下代码片段指定TLS设置。

SSLSocketFactory sslSocketFactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLParameters sslParameters = new SSLParameters();
sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
sslParameters.setProtocols(new String[]{"TLSv1.2"});
URI uri = URI.create("rediss://host:port");
JedisShardInfo shardInfo = new JedisShardInfo(uri, sslSocketFactory, sslParameters, null);
shardInfo.setPassword("cachePassword");
Jedis jedis = new Jedis(shardInfo);

 

参考资料

删除与 Azure Cache for Redis 配合使用的 TLS 1.0 和 1.1: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-remove-tls-10-11

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
19天前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
20天前
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
|
3天前
|
存储 缓存 NoSQL
解决Redis缓存击穿问题的技术方法
解决Redis缓存击穿问题的技术方法
16 2
|
3天前
|
缓存 NoSQL Redis
解决 Redis 缓存穿透问题的有效方法
解决 Redis 缓存穿透问题的有效方法
13 2
|
1月前
|
缓存 NoSQL 关系型数据库
MySQL与Redis缓存一致性的实现与挑战
在现代软件开发中,MySQL作为关系型数据库管理系统,广泛应用于数据存储;而Redis则以其高性能的内存数据结构存储特性,常被用作缓存层来提升数据访问速度。然而,当MySQL与Redis结合使用时,确保两者之间的数据一致性成为了一个重要且复杂的挑战。本文将从技术角度分享MySQL与Redis缓存一致性的实现方法及其面临的挑战。
64 2
|
2月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
|
2月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
|
2月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】Lettuce 连接到Azure Redis服务,出现15分钟Timeout问题
【Azure Redis 缓存】Lettuce 连接到Azure Redis服务,出现15分钟Timeout问题
【Azure Redis 缓存】Lettuce 连接到Azure Redis服务,出现15分钟Timeout问题
|
2月前
|
缓存 NoSQL Java
Redis深度解析:解锁高性能缓存的终极武器,让你的应用飞起来
【8月更文挑战第29天】本文从基本概念入手,通过实战示例、原理解析和高级使用技巧,全面讲解Redis这一高性能键值对数据库。Redis基于内存存储,支持多种数据结构,如字符串、列表和哈希表等,常用于数据库、缓存及消息队列。文中详细介绍了如何在Spring Boot项目中集成Redis,并展示了其工作原理、缓存实现方法及高级特性,如事务、发布/订阅、Lua脚本和集群等,帮助读者从入门到精通Redis,大幅提升应用性能与可扩展性。
60 0
|
2月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】使用StackExchange.Redis,偶发ERROR - Timeout performing HSET (15000ms)
【Azure Redis 缓存】使用StackExchange.Redis,偶发ERROR - Timeout performing HSET (15000ms)
下一篇
无影云桌面