Redis adalah penyimpanan kunci/nilai sumber terbuka dalam memori, yang digunakan sebagai database, cache, dan perantara pesan. Ini adalah database nilai kunci dalam memori terdistribusi dengan daya tahan opsional. Ini mendukung struktur data umum seperti string, hash, daftar, kumpulan, bitmap, kumpulan yang diurutkan, HyperlogLogs, aliran, dan indeks geospasial dengan kueri radius.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi Redis Server di Ubuntu 18.04 LTS. Pertama-tama kita akan menginstal Server Redis, dan kemudian mengamankan instalasi untuk membuatnya siap produksi.
Prasyarat
Untuk panduan ini, kami akan menginstal Redis Server di Ubuntu 18.04 dengan 1GB RAM dan 2CPU core. Ini hanya untuk pengujian, dan Anda akan membutuhkan lebih dari ini untuk produksi Anda.
Apa yang akan kami lakukan:
- Instal Server Redis
- Konfigurasi Dasar Server Redis
- Mengamankan Server Redis
- Pengujian
Langkah 1 - Instal Server Redis
Pertama, kami akan memperbarui semua repositori di sistem Ubuntu dan memutakhirkan semua paket.
Jalankan perintah apt di bawah ini.
sudo apt update
sudo apt upgrade
Setelah itu, instal paket Redis-server dari repositori resmi Ubuntu menggunakan perintah apt di bawah ini.
sudo apt install redis-server
Setelah instalasi selesai, Anda akan mendapatkan pesan kesalahan tentang layanan Redis gagal memulai, abaikan pesan kesalahan dan kami akan mengkonfigurasi pada langkah berikutnya.
Langkah 2 - Konfigurasi Dasar Server Redis
Pada langkah ini, kita akan menyiapkan server Redis dasar. Pada sistem Linux, konfigurasi Redis terletak di direktori '/etc/redis'.
Buka direktori '/etc/redis' dan edit file konfigurasi 'redis.conf' menggunakan editor vim.
cd /etc/redis/
vim redis.conf
Pertama, kita perlu memutuskan alamat IP 'mengikat' yang akan menjalankan layanan redis. Tidak disarankan untuk menggunakan alamat IP publik untuk layanan redis, atau jika Anda menjalankan layanan redis beberapa/cluster, Anda harus menggunakan jaringan internal.
Ubah alamat 'bind' dengan alamat IP localhost untuk contoh ini.
bind 127.0.0.1
Setelah itu, kita perlu mengatur bagaimana layanan redis akan berjalan di server. Karena kita menggunakan server Ubuntu dan systemd, maka kita perlu mengubah konfigurasi baris 'supervised' menjadi 'systemd'.
supervised systemd
Simpan dan tutup.
Sekarang restart layanan redis dan tambahkan ke waktu boot.
systemctl restart redis-server
systemctl enable redis-server
Sekarang pastikan tidak ada kesalahan lalu periksa statusnya.
systemctl status redis-server
Akibatnya, layanan redis aktif dan berjalan di Server Ubuntu 18.04.
Sekarang periksa port Redis default '6379' menggunakan perintah netstat di bawah ini.
netstat -plntu
Dan Anda akan mendapatkan hasil layanan redis berjalan pada alamat IP localhost dengan default '6379'.
Sekarang periksa Redis menggunakan perintah 'redis-cli' seperti di bawah ini.
redis-cli ping
redis-cli ping "Hello Redis"
Dan Anda akan mendapatkan hasil seperti di bawah ini.
Jika instalasi Anda benar, Anda akan mendapatkan balasan Server Redis dengan 'PONG' atau membalas dengan teks yang baru saja Anda kirim setelah opsi 'ping'.
Instalasi dasar dan konfigurasi Server Redis telah berhasil diselesaikan.
Langkah 3 - Mengamankan Instalasi Redis
Pada langkah ini, kita akan mengamankan instalasi Redis kita. Ada 3 hal yang harus Anda ketahui tentang mengamankan Server Redis.
1. Keamanan Jaringan
Keamanan Jaringan untuk server Redis terkait dengan konfigurasi 'bind' pada konfigurasi Redis 'redis.conf'. Disarankan untuk menggunakan jaringan pribadi internal untuk instalasi Redis Anda dan jangan gunakan publik.
Masuk ke direktori '/etc/redis' dan edit file konfigurasi 'redis.conf'.
cd /etc/redis/
vim redis.conf
Pada bagian 'bind', ubah alamat IP dengan alamat IP jaringan internal Anda sendiri.
bind INTERNAL-IP-ADDRESS
Simpan dan tutup.
Dan sekarang layanan Redis akan berjalan di bawah 'INTERNAL-IP-ADDRESS'.
2. Otentikasi Kata Sandi
Otentikasi kata sandi untuk Redis akan memberi Anda kontrol akses ke server Redis Anda. Ini adalah sedikit lapisan keamanan yang akan meningkatkan keamanan server Redis Anda, dan ini belum diaktifkan oleh instalasi default.
Untuk mengaktifkan Otentikasi Kata Sandi untuk server Rediser, Anda perlu menghapus komentar pada bagian 'requirepass' pada file 'redis.conf' dan ketik kata sandi kuat Anda setelahnya.
requirepass [email protected]#$
Ubah '[email protected]#$' dengan sandi kuat Anda. Dan sekarang otentikasi kata sandi untuk Redis telah diaktifkan.
3. Menonaktifkan Perintah Redis Berbahaya
Redis menyediakan fitur untuk menonaktifkan beberapa perintah Redis tertentu. Fitur ini dapat digunakan untuk mengganti nama atau menonaktifkan beberapa perintah berbahaya seperti 'FLUSHALL' untuk menghapus semua data, perintah 'CONFIG' untuk mengatur parameter konfigurasi melalui Redis CLI, dll.
Untuk mengubah atau menonaktifkan perintah Redis, Anda dapat menggunakan opsi 'rename-command'. Edit file konfigurasi Redis 'redis.conf' dan tambahkan beberapa konfigurasi di bawah ini.
# rename-command COMMAND "CUSTOM"
rename-command FLUSHALL "DELITALL"
rename-command CONFIG "MYSERVERCONF"
Simpan dan tutup.
Setelah semua selesai, restart layanan Redis menggunakan perintah systemctl di bawah ini.
systemctl restart redis-server
Dan keamanan Redis dasar untuk mengamankan instalasi Redis telah diterapkan ke host kami.
Pertimbangan lain, Anda mungkin juga memerlukan dukungan 'Enkripsi Data' untuk Redis, serta pengkodean aman yang diperlukan di sisi aplikasi.
Langkah 4 - Pengujian
Pada langkah ini, kita akan menguji penerapan Server Redis menggunakan baris perintah 'redis-cli'.
1. Menguji Host dan Otentikasi
Hubungkan ke Server Redis menggunakan perintah redis-cli dengan menentukan nama host server redis/ alamat IP dan port.
redis-cli -h 10.5.5.25 -p 6379
Ubah '10.5.5.25' dengan alamat IP Anda sendiri.
Setelah Anda terhubung ke server, coba perintah ping.
ping
ping "Hello Redis"
Sekarang Anda akan mendapatkan hasil seperti di bawah ini.
Anda mendapatkan kesalahan ann karena Anda perlu mengautentikasi sebelum menjalankan perintah apa pun di shell Redis CLI.
Jalankan perintah berikut untuk mengautentikasi terhadap Server Redis.
AUTH [email protected]#$
Setelah diautentikasi, Anda dapat mencoba perintah ping dan Anda akan mendapatkan balasan dari server Redis.
ping
ping "Hello Redis"
Di bawah ini adalah hasil setelah Anda diautentikasi ke Server Redis.
2. Menguji Perintah Dinonaktifkan/Diganti Nama
Jalankan semua perintah yang telah kami ubah namanya di shell dan Anda akan mendapatkan kesalahan perintah.
FLUSHALL
CONFIG
Berikut adalah hasil error dari perintah tersebut.
Selanjutnya, jalankan perintah 'CUSTOM' untuk masing-masing.
Buat Kunci baru menggunakan perintah redis-cli seperti di bawah ini.
SET Name "Hakase Labs"
SET Blog "Howtoforge.com"
Keys *
Sekarang hapus semua kunci dan data menggunakan perintah 'FLUSHALL' yang diubah namanya menjadi 'DELITALL'.
DELITALL
Untuk perintah 'CONFIG', Anda dapat mencoba mengambil atau mengatur nilai baru dari konfigurasi Redis Server. Perintah 'CONFIG' diubah namanya menjadi 'MYSERVERCONF'.
MYSERVERCONF get bind
MYSERVERCONF get requirepass
Dan di bawah ini adalah hasil dari perintah kustom baru yang diganti namanya.
Instalasi Dasar Redis Server di Ubuntu 18.04 telah selesai, dan keamanan dasar untuk Redis Server telah diterapkan.