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. Az Azure Portalon vagy más felügyeleti API-kban továbbra is módosíthatja a TLS minimális verzióját 1.0-ra vagy 1.1-esre a visszamenőleges kompatibilitás érdekében.
  • 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 elérhető lesz, 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 Minimium TLS-verziót nem állíthatja 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 az Azure Cache for Redishez csatlakozik a TLS 1.2 és a minimális TLS-verzió használatával a gyorsítótár-beállításokon az 1.2-es értékre 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 a TLS 1.0 vagy 1.1 használatával elutasítják a 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 és sslProtocols=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.

További információk