GNU/Linux >> Belajar Linux >  >> Debian

Instal dan Amankan Server Redis di Debian 10

Redis juga dikenal sebagai "Server Kamus Jarak Jauh" adalah basis data sumber terbuka dan dalam memori yang dapat digunakan sebagai basis data, cache, dan perantara pesan. Redis mendukung berbagai struktur data, seperti string, hash, daftar, set, dan banyak lagi. Redis ditulis dalam bahasa pemrograman C dan bekerja di sebagian besar sistem POSIX seperti Linux, Free BSD dan OS X. Redis mampu menjalankan ribuan perintah per detik. Redis hadir dengan serangkaian fitur yang kaya termasuk, Replikasi, Kegagalan otomatis, skrip Lua, penghapusan kunci LRU, Transaksi, dan banyak lagi.

Dalam tutorial ini, kita akan mempelajari cara menginstal dan mengamankan Redis di server Debian 10.

Persyaratan

  • Server yang menjalankan Debian 10.
  • Kata sandi root disiapkan untuk server Anda.

Memulai

Sebelum memulai, Anda perlu memperbarui sistem Anda dengan versi terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:

apt-get update -y
apt-get upgrade -y

Setelah server Anda diperbarui, mulai ulang server Anda untuk menerapkan perubahan.

Instal Redis

Secara default, Redis tersedia di repositori Debian 10. Anda dapat menginstalnya hanya dengan menjalankan perintah berikut:

apt-get install redis-server -y

Setelah menginstal Redis, mulai layanan Redis dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl start redis-server
systemctl enable redis-server

Anda juga dapat memverifikasi status server Redis dengan perintah berikut:

systemctl status redis-server

Anda akan mendapatkan output berikut:

? redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 05:57:45 EDT; 4s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 2284 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 2285 (redis-server)
    Tasks: 4 (limit: 1138)
   Memory: 6.8M
   CGroup: /system.slice/redis-server.service
           ??2285 /usr/bin/redis-server 127.0.0.1:6379

Sep 06 05:57:45 debian systemd[1]: Starting Advanced key-value store...
Sep 06 05:57:45 debian systemd[1]: redis-server.service: Can't open PID file /run/redis/redis-server.pid (yet?) after start: No such file or di
Sep 06 05:57:45 debian systemd[1]: Started Advanced key-value store.

Secara default, Redis mendengarkan di localhost pada port 6379. Anda dapat memeriksanya dengan perintah berikut:

ps -ef | grep redis

Anda akan melihat output berikut:

redis     2285     1  0 05:57 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root      2294   706  0 05:59 pts/0    00:00:00 grep redis

Selanjutnya, uji konektivitas Redis dengan perintah berikut:

redis-cli

Anda akan melihat output berikut:

127.0.0.1:6379> 

Sekarang, periksa konektivitas Redis dengan perintah ping:

127.0.0.1:6379> ping

Jika semuanya baik-baik saja, Anda akan melihat output berikut:

PONG

Setelah Anda selesai. Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasikan Redis sebagai Cache

Anda dapat mengkonfigurasi Redis sebagai Cache dengan mengedit file /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Tambahkan baris berikut di akhir file:

maxmemory 64mb
maxmemory-policy allkeys-lru

Ketika memori maksimal 64mb tercapai. Redis akan menghapus kunci apa pun sesuai dengan algoritma LRU. Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Redis dengan perintah berikut:

systemctl restart redis-server

Setelah Anda selesai. Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasikan Otentikasi Redis

Secara default, Anda dapat menjalankan perintah apa pun di shell Redis. Jadi, disarankan untuk mengonfigurasi Otentikasi Redis agar klien memerlukan kata sandi sebelum menjalankan perintah apa pun. Anda dapat mengonfigurasi otentikasi kata sandi secara langsung di file konfigurasi Redis. Untuk melakukannya, buka file /etc/redis/redis.conf dengan editor pilihan Anda:

nano /etc/redis/redis.conf

Di bawah bagian KEAMANAN temukan baris berikut:

# requirepass foobared

Batalkan komentar dan ganti dengan kata sandi yang Anda inginkan seperti yang ditunjukkan di bawah ini:

requirepass AlsW34%#df

Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Redis untuk menerapkan perubahan konfigurasi:

systemctl restart redis-server

Sekarang, akses shell Redis dengan perintah berikut:

redis-cli

Sekarang, jalankan perintah berikut tanpa mengautentikasi:

127.0.0.1:6379> INFO server

Ini tidak akan berfungsi karena Anda tidak mengautentikasi. Anda akan mendapatkan kesalahan berikut:

NOAUTH Authentication required.

Selanjutnya, jalankan perintah berikut untuk mengautentikasi dengan kata sandi yang ditentukan dalam file konfigurasi Redis:

127.0.0.1:6379> AUTH AlsW34%#df

Anda akan mendapatkan output berikut:

OK

Sekarang, jalankan kembali perintah sebelumnya:

127.0.0.1:6379> INFO server

Ini akan berjalan dengan sukses dan Anda akan melihat output berikut:

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:afa0decbb6de285f
redis_mode:standalone
os:Linux 4.19.0-5-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.0
process_id:2308
run_id:2cf0470a9492deddf98bcc72fa9ec94e941edf6c
tcp_port:6379
uptime_in_seconds:50
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:7483371
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

Setelah Anda selesai. Anda dapat melanjutkan ke langkah berikutnya.

Ganti Nama Perintah Tertentu

Demi keamanan, disarankan untuk mengganti nama perintah tertentu yang dianggap berbahaya.

Di sini kita akan mengganti nama perintah "config". Perintah config digunakan untuk mengambil kata sandi Redis. Mari kita lihat dengan sebuah contoh:

Pertama, sambungkan dan autentikasi Redis shell dengan perintah berikut:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

Selanjutnya, ambil kata sandi Redis dengan perintah berikut:

127.0.0.1:6379> config get requirepass

Anda akan mendapatkan output berikut:

1) "requirepass"
2) "AlsW34%#df"
127.0.0.1:6379> 

Anda dapat mengganti nama perintah config dengan mengedit file /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Temukan baris berikut:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

Batalkan komentar dan ganti dengan string yang Anda inginkan:

rename-command CONFIG H2sW_Config        

Simpan dan tutup file. Kemudian, restart layanan Redis dengan perintah berikut:

systemctl restart redis-server

Selanjutnya, sambungkan dan autentikasi Redis shell dengan perintah berikut:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

Selanjutnya, ambil kata sandi Redis dengan perintah config:

127.0.0.1:6379> config get requirepass

Kami mengganti nama perintah ini sehingga Anda akan mendapatkan kesalahan berikut:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

Sekarang, jalankan perintah yang diubah namanya seperti yang ditunjukkan di bawah ini:

127.0.0.1:6379> H2sW_Config get requirepass

Anda akan mendapatkan output berikut:

1) "requirepass"
2) "AlsW34%#df"

Terakhir, keluar dari shell Redis dengan perintah berikut:

127.0.0.1:6379> exit

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengamankan server Redis di Debian 10. Saya harap Anda sekarang memiliki pengetahuan yang cukup untuk mengamankan server Redis Anda dengan otentikasi kata sandi. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Debian
  1. Cara menginstal dan mengkonfigurasi Server OpenVPN di Debian 10

  2. Cara Menginstal dan Mengonfigurasi Redis 6.0 di Debian 11

  3. Cara Menginstal dan Mengamankan MariaDB di Debian 11

  1. Cara Menginstal dan Mengamankan MongoDB di Debian 11

  2. Cara Menginstal Server Redis di Debian 11

  3. Cara Menginstal dan Mengamankan Redis di Ubuntu 18.04

  1. Cara Menginstal dan Mengkonfigurasi VNC di Debian 9

  2. Cara Menginstal dan Mengkonfigurasi Server VNC di Debian 10

  3. Cara menginstal dan mengkonfigurasi Redis 6 di Debian 11