A TLS 1.0 és 1.1 használatának eltávolítása az Azure Cache for Redis szolgáltatásban
A Transport Layer Security (TLS) 1.2-es vagy újabb verziójának kizárólagos használata felé irányuló iparági leküldés teljesítése érdekében az Azure Cache for Redis 2024 novemberében a TLS 1.2 használatát követeli meg. A TLS 1.0-s és 1.1-s verzióiról ismert, hogy fogékonyak az olyan támadásokra, mint a BEAST és a POODLE, és más gyakori biztonsági résekkel és kitettségekkel (CVE) is rendelkeznek.
A TLS 1.0-s és 1.1-s verziói szintén nem támogatják a Payment Card Industry (PCI) megfelelőségi szabványai által ajánlott modern titkosítási módszereket és titkosítási csomagokat. Ez a TLS biztonsági blog részletesebben ismerteti a biztonsági rések némelyikét.
Fontos
2024. november 1-jén érvénybe lép a TLS 1.2 követelmény.
Fontos
A jelen cikkben szereplő TLS 1.0/1.1-re vonatkozó kivonási tartalom nem vonatkozik az Azure Cache for Redis Enterprise/Enterprise Flash szolgáltatásra, mert a vállalati szintek csak a TLS 1.2-t támogatják.
Ennek a munkának a részeként a következő változásokra számíthat az Azure Cache for Redisben:
- 1. fázis: Az Azure Cache for Redis nem ajánlja fel a TLS 1.0/1.1-et az új gyorsítótárhoz létrehozott MinimumTLSVersion beállításhoz. A meglévő gyorsítótárpéldányok jelenleg nem frissülnek. A MinimumTLSVersion nem állítható be 1.0-ra vagy 1.1-re a meglévő gyorsítótárhoz.
- 2. fázis: Az Azure Cache for Redis 2024. november 1-től nem támogatja a TLS 1.1-et és a TLS 1.0-t. A módosítás után az alkalmazásnak TLS 1.2 vagy újabb verziót kell használnia a gyorsítótárral való kommunikációhoz. Az Azure Cache for Redis szolgáltatás továbbra is elérhető marad, miközben az összes gyorsítótár minimális TLSVerion-ét 1.2-re frissítjük.
Dátum | Leírás |
---|---|
2023. szeptember | TLS 1.0/1.1 kivonási közlemény |
2024. március 1. | 2024. március 1-től nem hozhat létre új gyorsítótárakat az 1.0-s vagy 1.1-es minimális TLS-verzióval, és a MinimumTLSVersion nem állítható be 1.0-ra vagy 1.1-esre a meglévő gyorsítótárhoz. A minimális TLS-verzió jelenleg nem frissül automatikusan a meglévő gyorsítótárak esetében. |
2024. október 31. | Győződjön meg arról, hogy az összes alkalmazás a TLS 1.2 és a minimális TLS-verzió használatával csatlakozik az Azure Cache for Redishez a gyorsítótár beállításainál 1.2-re van állítva. |
2024. november 1. | Az összes gyorsítótárpéldány minimális TLS-verziója 1.2-es verzióra frissül. Ez azt jelenti, hogy az Azure Cache for Redis-példányok jelenleg elutasítják a TLS 1.0 vagy 1.1 használatával létesített kapcsolatokat. |
Fontos
A cikkben szereplő tartalom nem vonatkozik az Azure Cache for Redis Enterprise/Enterprise Flash szolgáltatásra, mert a vállalati szintek csak a TLS 1.2-t támogatják.
A módosítás részeként az Azure Cache for Redis eltávolítja a nem biztonságos régebbi titkosítási csomagok támogatását. A támogatott titkosítási csomagok a következő csomagokra korlátozódnak, ha a gyorsítótár legalább TLS 1.2-vel van konfigurálva:
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
A következő szakaszok útmutatást nyújtanak a korábbi TLS-verziók függőségeinek észleléséhez és az alkalmazásból való eltávolításához.
Ellenőrizze, hogy az alkalmazás már megfelelő-e
Megtudhatja, hogy az alkalmazás működik-e a TLS 1.2-vel, ha a minimális TLS verzióértéket TLS 1.2-es értékre állítja egy teszten vagy átmeneti gyorsítótáron, majd futtatja a teszteket. A minimális TLS-verzióbeállítás a gyorsítótárpéldány Speciális beállításai között található az Azure Portalon. Ha az alkalmazás a módosítás után is a várt módon működik, akkor az alkalmazás a TLS 1.2-t vagy újabb verziót használja.
Feljegyzés
Ha a gyorsítótár meg van nyitva a portálon, válassza a Speciális lehetőséget az erőforrás menüjében. Ha a gyorsítótárpéldány minimális TLS-verziója alapértelmezett értékre van állítva, a minimális TLS-verzió TLS 1.2-es értékre van állítva. A TLS 1.2 az alapértelmezett érték, amely akkor van hozzárendelve a gyorsítótárpéldányhoz, ha nincs explicit érték kiválasztva.
Az alkalmazás konfigurálása tLS 1.2 vagy újabb verzió használatára
A legtöbb alkalmazás Redis-ügyfélkódtárakkal kezeli a gyorsítótárakkal folytatott kommunikációt. Az alábbiakban néhány népszerű ügyfélkódtárat konfigurálhat különböző programozási nyelvekben és keretrendszerekben a TLS 1.2 vagy újabb verziójának használatához.
.NET
A Redis .NET-ügyfelek alapértelmezés szerint a legkorábbi TLS-verziót használják a 4.5.2-es vagy korábbi .NET-keretrendszer, és a legújabb TLS-verziót használják a .NET-keretrendszer 4.6-os vagy újabb verzióján. Ha a .NET-keretrendszer régebbi verzióját használja, engedélyezze manuálisan a TLS 1.2-t:
- StackExchange.Redis: Beállítás
ssl=true
éssslProtocols=tls12
a kapcsolati sztring. - ServiceStack.Redis: Kövesse a ServiceStack.Redis utasításait, és legalább a ServiceStack.Redis 5.6-os verziót igényli.
.NET Core
A Redis .NET Core-ügyfelek alapértelmezés szerint az operációs rendszer alapértelmezett TLS-verziójára vannak bekapcsolva, amely az operációs rendszertől függ.
Az operációs rendszer verziójától és az alkalmazott javításoktól függően az alapértelmezett TLS-verzió eltérő lehet. További információ: Transport Layer Security (TLS) – ajánlott eljárások a .NET-keretrendszer használatával.
Ha azonban régi operációs rendszert használ, vagy csak biztos szeretne lenni benne, javasoljuk, hogy manuálisan konfigurálja az előnyben részesített TLS-verziót az ügyfélen keresztül.
Java
A Redis Java-ügyfelek a TLS 1.0-t használják a Java 6-os vagy korábbi verziójában. A Jedis, a Lettuce és a Redisson nem tud csatlakozni az Azure Cache for Redishez, ha a TLS 1.0 le van tiltva a gyorsítótárban. Frissítse a Java-keretrendszert az új TLS-verziók használatára.
Java 7 esetén a Redis-ügyfelek alapértelmezés szerint nem használják a TLS 1.2-t, de konfigurálhatók hozzá. A Jedis például lehetővé teszi az alapul szolgáló TLS-beállítások megadását a következő kódrészlettel:
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);
A Saláta- és Redisson-ügyfelek még nem támogatják a TLS-verzió megadását. Megszakadnak, ha a gyorsítótár csak TLS 1.2-kapcsolatokat fogad el. Az ügyfelek javításainak áttekintése folyamatban van, ezért ellenőrizze, hogy ezek a csomagok frissített verziót kapnak-e ezzel a támogatással.
A Java 8-ban a TLS 1.2 alapértelmezés szerint használatos, és a legtöbb esetben nem igényel frissítéseket az ügyfélkonfigurációhoz. A biztonság érdekében tesztelje az alkalmazást.
A Java 17-ből alapértelmezés szerint a TLS 1.3 van használatban.
Node.js
A Node Redis és az ioredis egyaránt támogatja a TLS 1.2-t és az 1.3-at.
PHP
A PHP 7-nél korábbi verziók: A Predis csak a TLS 1.0-t támogatja. Ezek a verziók nem működnek a TLS 1.2-vel; A TLS 1.2 használatára frissítenie kell.
PHP 7.0–PHP 7.2.1: A Predis alapértelmezés szerint csak TLS 1.0-t vagy 1.1-et használ. A TLS 1.2 használatához az alábbi kerülő megoldás használható. Adja meg a TLS 1.2-t az ügyfélpéldány létrehozásakor:
$redis=newPredis\Client([ 'scheme'=>'tls', 'host'=>'host', 'port'=>6380, 'password'=>'password', 'ssl'=>[ 'crypto_type'=>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, ], ]);
PHP 7.3 és újabb verziók: A Predis a legújabb TLS-verziót használja.
PhpRedis
A PhpRedis nem támogatja a TLS-t semmilyen PHP-verzióban.
Python
A Redis-py alapértelmezés szerint a TLS 1.2-t használja.
GO
A Redigo alapértelmezés szerint a TLS 1.2-t használja.