Hapus TLS 1.0 dan 1.1 dari penggunaan dengan Azure Cache for Redis
Untuk memenuhi dorongan di seluruh industri terhadap penggunaan eksklusif Keamanan Lapisan Transportasi (TLS) versi 1.2 atau yang lebih baru, Azure Cache for Redis bergerak ke arah yang memerlukan penggunaan TLS 1.2 pada Maret 2025. TLS versi 1.0 dan 1.1 dikenal rentan terhadap serangan seperti BEAST dan POODLE, dan memiliki kelemahan Common Vulnerabilities and Exposures (CVE) lainnya.
TLS versi 1.0 dan 1.1 juga tidak mendukung metode enkripsi modern dan suite sandi yang direkomendasikan oleh standar kepatuhan Industri Kartu Pembayaran (PCI). Blog keamanan TLS ini menjelaskan beberapa kerentanan ini secara lebih rinci.
Penting
Mulai 1 Maret 2025, persyaratan TLS 1.2 akan diberlakukan.
Penting
Konten penghentian TLS 1.0/1.1 dalam artikel ini tidak berlaku untuk Azure Cache for Redis Enterprise/Enterprise Flash karena tingkat Enterprise hanya mendukung TLS 1.2.
Sebagai bagian dari upaya ini, Anda dapat mengharapkan perubahan berikut pada Azure Cache for Redis:
- Fase 1: Azure Cache for Redis berhenti menawarkan TLS 1.0/1.1 sebagai opsi untuk pengaturan MinimumTLSVersion untuk pembuatan cache baru. Instans cache yang ada tidak akan diperbarui pada saat ini. Anda tidak dapat mengatur MinimumTLSVersion ke 1.0 atau 1.1 untuk cache yang ada.
- Fase 2: Azure Cache for Redis berhenti mendukung TLS 1.1 dan TLS 1.0 mulai 1 Maret 2025. Setelah perubahan ini, aplikasi Anda harus menggunakan TLS 1.2 atau yang lebih baru untuk berkomunikasi dengan cache Anda. Layanan Azure Cache for Redis tetap tersedia sementara kami memperbarui MinimumTLSVerion untuk semua cache menjadi 1.2.
Tanggal | Deskripsi |
---|---|
September 2023 | Pengumuman penghentian TLS 1.0/1.1 |
Jumat, 01 Maret 2024 | Mulai 1 Maret 2024, Anda tidak dapat membuat cache baru dengan versi TLS Minimum yang diatur ke 1.0 atau 1.1 dan Anda tidak dapat mengatur MinimumTLSVersion ke 1.0 atau 1.1 untuk cache yang ada. Versi TLS minimum tidak akan diperbarui secara otomatis untuk cache yang ada pada saat ini. |
31 Oktober 2024 | Pastikan bahwa semua aplikasi Anda tersambung ke Azure Cache for Redis menggunakan versi TLS 1.2 dan Minimum TLS pada pengaturan cache Anda diatur ke 1.2. |
Mulai 1 Maret 2025 | Versi TLS minimum untuk semua instans cache diperbarui ke 1.2. Ini berarti instans Azure Cache for Redis menolak koneksi menggunakan TLS 1.0 atau 1.1 pada titik ini. |
Penting
Konten dalam artikel ini tidak berlaku untuk Azure Cache for Redis Enterprise/Enterprise Flash karena tingkat Enterprise hanya mendukung TLS 1.2.
Sebagai bagian dari perubahan ini, Azure Cache for Redis menghapus dukungan untuk cipher suite lama yang tidak aman. Suite sandi yang didukung dibatasi untuk suite berikut saat cache dikonfigurasi dengan minimal TLS 1.2:
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
Bagian berikut memberikan panduan tentang cara mendeteksi dependensi pada versi TLS sebelumnya ini dan menghapusnya dari aplikasi Anda.
Periksa apakah aplikasi Anda sudah sesuai
Anda dapat mengetahui apakah aplikasi Anda berfungsi dengan TLS 1.2 dengan mengatur nilai versi TLS Minimum ke TLS 1.2 pada cache pengujian atau pementasan, lalu menjalankan pengujian. Pengaturan versi TLS minimum berada di Pengaturan tingkat Lanjut instans singgahan Anda di portal Azure. Jika aplikasi terus berfungsi seperti yang diharapkan setelah perubahan ini, maka aplikasi Anda menggunakan TLS 1.2 atau yang lebih baru.
Mengonfigurasi aplikasi Anda untuk menggunakan TLS 1.2 atau yang lebih baru
Sebagian besar aplikasi menggunakan pustaka klien Redis untuk menangani komunikasi dengan cache-nya. Berikut adalah instruksi untuk mengonfigurasi beberapa pustaka klien populer, dalam berbagai bahasa dan kerangka kerja pemrograman, untuk menggunakan TLS 1.2 atau yang lebih baru.
.NET
Klien Redis .NET menggunakan versi TLS paling awal secara default pada .NET Framework 4.5.2 atau yang lebih lama, dan gunakan versi TLS terbaru pada .NET Framework 4.6 atau yang lebih baru. Jika Anda menggunakan versi .NET Framework yang lebih lama, aktifkan TLS 1.2 secara manual:
- StackExchange.Redis: Atur
ssl=true
dansslProtocols=tls12
dalam string koneksi. - ServiceStack.Redis: Ikuti instruksi ServiceStack.Redis dan membutuhkan minimal ServiceStack.Redis v5.6.
.NET Core
Redis klien .NET Core default ke versi TLS default OS, yang bergantung pada OS itu sendiri.
Bergantung pada versi OS dan patch apa pun yang diterapkan, versi TLS default yang efektif dapat bervariasi. Untuk informasi selengkapnya, lihat Praktik terbaik Keamanan Lapisan Transportasi (TLS) dengan .NET Framework.
Namun, jika Anda menggunakan OS lama atau hanya ingin memastikan, sebaiknya konfigurasikan versi TLS pilihan secara manual melalui klien.
Java
Klien Redis Java menggunakan TLS 1.0 di Java versi 6 atau yang lebih lama. Jedis, Lettuce, dan Redisson tidak dapat terhubung ke Azure Cache for Redis jika TLS 1.0 dinonaktifkan di cache. Tingkatkan kerangka kerja Java Anda untuk menggunakan versi TLS baru.
Untuk Java 7, klien Redis tidak menggunakan TLS 1.2 secara default tetapi dapat dikonfigurasi untuk itu. Misalnya, Jedis memungkinkan Anda menentukan pengaturan TLS yang mendasar dengan cuplikan kode berikut:
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);
Klien Lettuce dan Redisson belum mendukung dalam menentukan versi TLS. Mereka berhenti jika cache hanya menerima koneksi TLS 1.2. Perbaikan untuk klien ini sedang ditinjau, jadi pastikan paket tersebut untuk versi terbaru dengan dukungan ini.
Di Java 8, TLS 1.2 digunakan secara default dan seharusnya tidak memerlukan pembaruan untuk konfigurasi klien Anda dalam banyak kasus. Agar aman, uji aplikasi Anda.
Pada Java 17, TLS 1.3 digunakan secara default.
Node.js
Node Redis dan ioredis mendukung TLS 1.2 dan 1.3.
PHP
Versi yang lebih lama dari PHP 7: Predis hanya mendukung TLS 1.0. Versi ini tidak berfungsi dengan TLS 1.2; Anda harus meningkatkan versinya untuk menggunakan TLS 1.2.
PHP 7.0 ke PHP 7.2.1: Predis hanya menggunakan TLS 1.0 atau 1.1 secara default. Anda dapat menggunakan solusi berikut untuk menggunakan TLS 1.2. Tentukan TLS 1.2 saat Anda membuat instans klien:
$redis=newPredis\Client([ 'scheme'=>'tls', 'host'=>'host', 'port'=>6380, 'password'=>'password', 'ssl'=>[ 'crypto_type'=>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, ], ]);
PHP 7.3 dan versi yang lebih baru: Predis menggunakan versi TLS terbaru.
PhpRedis
PhpRedis tidak mendukung TLS pada versi PHP apa pun.
Python
Redis-py menggunakan TLS 1.2 secara default.
GO
Redigo menggunakan TLS 1.2 secara default.