Topik ini menjelaskan penyebab kerentanan permintaan lintas situs (CSRF) di Redis serta kebijakan keamanan Tair (Redis OSS-compatible).
Pengenalan CSRF
CSRF (atau XSRF), juga dikenal sebagai One Click Attack atau Session Riding, adalah eksploitasi jahat terhadap situs web.

Gambar di atas menunjukkan model sederhana dari serangan CSRF. Pengguna mengunjungi situs jahat B (Website B), dan situs jahat A (Website A) membalas pengguna dengan pesan HTTP yang meminta pengguna untuk mengunjungi Website B. Jika pengguna memiliki hubungan kepercayaan dengan Website B, sistem akan menganggap bahwa pengguna secara pribadi mengirim permintaan tersebut dan memprosesnya.
Model serangan CSRF Redis

Berdasarkan prinsip CSRF, situs jahat dapat meminta pengguna untuk mengirim permintaan HTTP ke Redis. Karena dukungan protokol berbasis teks, Redis tidak otomatis memutus koneksi setelah menemui data protokol yang salah selama penguraian. Dalam situasi ini, penyerang dapat menambahkan perintah Redis ke permintaan HTTP normal, sehingga perintah tersebut dieksekusi di server Redis. Jika tidak ada konfigurasi otentikasi kata sandi antara pengguna dan Redis, perintah Redis dapat langsung dijalankan. Penyerang dapat mengeksploitasi kerentanan ini untuk mengenkripsi data yang disimpan di Redis dan meminta tebusan untuk dekripsi. Metode serangan ini mirip dengan serangan ransomware sebelumnya yang menargetkan basis data MongoDB.
Perbaikan kernel
Redis 3.2.7 menyediakan solusi untuk masalah ini dengan mencatat pernyataan yang berisi kata kunci POST dan Host:, lalu menutup koneksi untuk mencegah Redis menjalankan perintah sah berikutnya.
Risiko keamanan Redis
Versi Redis yang lebih lama rentan terhadap kerentanan keamanan yang memungkinkan peretas mendapatkan hak istimewa root layanan Redis jika kondisi tertentu terpenuhi. Penyebab utama kerentanan ini adalah kurangnya pemahaman pengguna tentang mekanisme keamanan Redis serta minimnya pengalaman dalam operasi dan pemeliharaan Redis. Selain itu, Redis tidak menyediakan mekanisme perlindungan keamanan yang kuat. Tair (Redis OSS-compatible) menyediakan layanan yang lebih aman. Kami merekomendasikan Anda menggunakan Tair (Redis OSS-compatible) sebagai layanan Redis di cloud.
Kebijakan keamanan Tair (Redis OSS-compatible)
Koneksi melalui jaringan internal alih-alih Internet
Tair (Redis OSS-compatible) menyediakan akses internal yang tepercaya. Jika Anda tidak mengajukan endpoint publik, Anda tidak dapat mengakses instance Tair langsung dari Internet.
Isolasi Jaringan Fisik
Jaringan tempat instance Tair (Redis OSS-compatible) diterapkan diisolasi secara fisik dari jaringan tempat Anda ingin mengakses instance tersebut. Anda tidak dapat mengakses jaringan server backend secara langsung.
VPC untuk Isolasi Jaringan
Jika Anda adalah pengguna Alibaba Cloud dan menerapkan virtual private cloud (VPC) untuk menghubungkan layanan Anda, hanya layanan dalam VPC yang sama yang dapat saling mengakses.
Daftar Putih
Tair (Redis OSS-compatible) memungkinkan Anda mengonfigurasi daftar putih. Anda dapat mengatur daftar putih alamat IP yang dapat digunakan untuk mengakses instance Tair di konsol.
Otentikasi Kata Sandi
Tair (Redis OSS-compatible) memerlukan otentikasi kata sandi untuk instance yang diterapkan di jaringan klasik. Anda dapat mengonfigurasi kata sandi yang kompleks untuk mencegah pembobolan.
Isolasi Izin
Tair (Redis OSS-compatible) mengisolasi izin dan direktori yang dapat diakses untuk setiap instance backend. Instance hanya dapat mengakses sumber daya melalui jalur mereka sendiri untuk menghindari gangguan timbal balik.
Menonaktifkan Perintah Berisiko Tinggi
Tair (Redis OSS-compatible) menonaktifkan perintah manajemen sistem berisiko tinggi seperti config dan save. Untuk memodifikasi parameter, Anda harus melakukan autentikasi dua faktor di konsol, sehingga menghindari operasi langsung pada file konfigurasi backend dan perintah manajemen.
Pemantauan Keamanan
Tair (Redis OSS-compatible) memiliki fitur pemantauan keamanan komprehensif untuk mesin fisik, pemindaian rutin, dan pembaruan kebijakan pemantauan keamanan guna mendeteksi risiko keamanan sedini mungkin.
Otentikasi Kata Sandi untuk Instance Kluster
Cluster Redis 3.0 asli tidak mendukung otentikasi kata sandi. Instance kluster Tair (Redis OSS-compatible) mendukung otentikasi kata sandi untuk meningkatkan keamanan.