Zákaz používání protokolu TLS 1.0 a 1.1 ve službě Azure Cache for Redis
Azure Cache for Redis se v březnu 2025 přesouvá směrem k výhradnímu použití protokolu TLS (Transport Layer Security) verze 1.2 nebo novější. Protokoly TLS verze 1.0 a 1.1 jsou známé jako náchylné k útokům, jako je BEAST a POODLE, a mají další slabiny běžných ohrožení zabezpečení a ohrožení zabezpečení (CVE).
Tls verze 1.0 a 1.1 také nepodporují moderní metody šifrování a šifrovací sady doporučené standardy dodržování předpisů PCI (Payment Card Industry). Tento blog zabezpečení PROTOKOLU TLS podrobněji vysvětluje některá z těchto ohrožení zabezpečení.
Důležité
Od 1. března 2025 se vynutí požadavek TLS 1.2.
Důležité
Obsah vyřazení protokolu TLS 1.0/1.1 v tomto článku se nevztahuje na Azure Cache for Redis Enterprise/Enterprise Flash, protože úrovně Enterprise podporují pouze protokol TLS 1.2.
V rámci tohoto úsilí můžete očekávat následující změny služby Azure Cache for Redis:
- Fáze 1: Azure Cache for Redis přestane nabízet protokol TLS 1.0/1.1 jako možnost pro nastavení MinimumTLSVersion pro vytvoření nové mezipaměti. Stávající instance mezipaměti se v tuto chvíli neaktualizují. Pro existující mezipaměť nemůžete nastavit Hodnotu MinimumTLSVersion na 1.0 nebo 1.1.
- Fáze 2: Azure Cache for Redis přestane podporovat protokol TLS 1.1 a TLS 1.0 od 1. března 2025. Po této změně musí vaše aplikace ke komunikaci s mezipamětí použít protokol TLS 1.2 nebo novější. Služba Azure Cache for Redis zůstává dostupná, zatímco aktualizujeme MinimumTLSVerion pro všechny mezipaměti na verzi 1.2.
Date | Popis |
---|---|
Září 2023 | Oznámení o vyřazení protokolu TLS 1.0/1.1 |
1. března 2024 | Od 1. března 2024 nemůžete vytvářet nové mezipaměti s minimální verzí protokolu TLS nastavenou na 1.0 nebo 1.1 a pro stávající mezipaměť nemůžete nastavit minimální hodnotu MinimumTLSVersion na 1.0 nebo 1.1. Minimální verze protokolu TLS se v tuto chvíli neaktualizuje automaticky pro existující mezipaměti. |
31. října 2024 | Ujistěte se, že se všechny vaše aplikace připojují ke službě Azure Cache for Redis pomocí protokolu TLS 1.2 a minimální verze protokolu TLS v nastavení mezipaměti nastavená na hodnotu 1.2. |
Od 1. března 2025 | Minimální verze protokolu TLS pro všechny instance mezipaměti se aktualizuje na verzi 1.2. To znamená, že instance Azure Cache for Redis v tuto chvíli odmítnou připojení pomocí protokolu TLS 1.0 nebo 1.1. |
Důležité
Obsah v tomto článku se nevztahuje na Azure Cache for Redis Enterprise nebo Enterprise Flash, protože úrovně Enterprise podporují pouze protokol TLS 1.2.
V rámci této změny azure Cache for Redis odebere podporu starších šifrovacích sad, které nejsou zabezpečené. Pokud je mezipaměť nakonfigurovaná s minimálním protokolem TLS 1.2, jsou podporované šifrovací sady omezeny na následující sady:
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
Následující části obsahují pokyny k detekci závislostí na těchto starších verzích protokolu TLS a jejich odebrání z vaší aplikace.
Kontrola, jestli vaše aplikace už vyhovuje předpisům
Zjistíte, jestli vaše aplikace funguje s protokolem TLS 1.2, nastavením hodnoty minimální verze protokolu TLS na tls 1.2 v testovací nebo přípravné mezipaměti a následným spuštěním testů. Nastavení minimální verze protokolu TLS je v rozšířených nastaveních vaší instance mezipaměti na webu Azure Portal. Pokud aplikace po této změně nadále funguje podle očekávání, pak vaše aplikace používá protokol TLS 1.2 nebo novější.
Konfigurace aplikace pro použití protokolu TLS 1.2 nebo novější
Většina aplikací používá klientské knihovny Redis ke zpracování komunikace s jejich mezipamětí. Tady jsou pokyny pro konfiguraci některých oblíbených klientských knihoven v různých programovacích jazycích a architekturách pro použití protokolu TLS 1.2 nebo novější.
.NET
Klienti Redis .NET používají ve výchozím nastavení nejstarší verzi protokolu TLS v rozhraní .NET Framework 4.5.2 nebo starší a používají nejnovější verzi protokolu TLS v rozhraní .NET Framework 4.6 nebo novější. Pokud používáte starší verzi rozhraní .NET Framework, povolte protokol TLS 1.2 ručně:
- StackExchange.Redis: Nastavte
ssl=true
asslProtocols=tls12
v připojovací řetězec. - ServiceStack.Redis: Postupujte podle pokynů ServiceStack.Redis a vyžaduje serviceStack.Redis v5.6 minimálně.
.NET Core
Klienti Redis .NET Core mají výchozí verzi protokolu TLS operačního systému, která závisí na samotném operačním systému.
V závislosti na verzi operačního systému a všech použitých opravách se může efektivní výchozí verze protokolu TLS lišit. Další informace najdete v tématu Osvědčené postupy pro protokol TLS (Transport Layer Security) s rozhraním .NET Framework.
Pokud ale používáte starý operační systém nebo chcete mít jistotu, doporučujeme nakonfigurovat upřednostňovanou verzi protokolu TLS ručně prostřednictvím klienta.
Java
Klienti Redis Java používají protokol TLS 1.0 v Javě verze 6 nebo starší. Jedis, Lettuce a Redisson se nemůžou připojit ke službě Azure Cache for Redis, pokud je v mezipaměti zakázaný protokol TLS 1.0. Upgradujte architekturu Java tak, aby používala nové verze PROTOKOLU TLS.
U Javy 7 klienti Redis ve výchozím nastavení nepoužívají protokol TLS 1.2, ale dají se pro něj nakonfigurovat. Jedis například umožňuje zadat základní nastavení protokolu TLS pomocí následujícího fragmentu kódu:
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);
Klienti Lettuce a Redisson zatím nepodporují zadávání verze protokolu TLS. Přeruší se, pokud mezipaměť přijímá pouze připojení TLS 1.2. Opravy těchto klientů se kontrolují, proto u těchto balíčků zkontrolujte aktualizovanou verzi s touto podporou.
V Javě 8 se ve výchozím nastavení používá protokol TLS 1.2 a ve většině případů by neměl vyžadovat aktualizace konfigurace klienta. Pokud chcete být v bezpečí, otestujte aplikaci.
Od Javy 17 se ve výchozím nastavení používá protokol TLS 1.3.
Node.js
Node Redis i ioredis podporují protokol TLS 1.2 i 1.3.
PHP
Verze starší než PHP 7: Predis podporuje pouze protokol TLS 1.0. Tyto verze nefungují s protokolem TLS 1.2; Musíte upgradovat na použití protokolu TLS 1.2.
PHP 7.0 až PHP 7.2.1: Predis ve výchozím nastavení používá pouze tls 1.0 nebo 1.1. K použití protokolu TLS 1.2 můžete použít následující alternativní řešení. Při vytváření instance klienta zadejte protokol TLS 1.2:
$redis=newPredis\Client([ 'scheme'=>'tls', 'host'=>'host', 'port'=>6380, 'password'=>'password', 'ssl'=>[ 'crypto_type'=>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, ], ]);
PHP 7.3 a novější verze: Predis používá nejnovější verzi protokolu TLS.
PhpRedis
PhpRedis nepodporuje tls v žádné verzi PHP.
Python
Redis-py ve výchozím nastavení používá protokol TLS 1.2.
GO
Redigo ve výchozím nastavení používá protokol TLS 1.2.