Ana içeriğe geç

Redis Kurulumu ve Güvenliği (Ubuntu)

Bu rehberde ne öğreneceksiniz?

Bu rehberde Ubuntu sunucuya Redis kurmayı ve production ortamı için güvenli hale getirmeyi öğreneceksiniz.
ACL, TLS, firewall, bellek yönetimi ve kalıcı veri ayarlarını adım adım uygulayacağız.


🧠 Teknik Özet

Konu: Ubuntu üzerinde Redis kurulumu ve güvenlik yapılandırması.
Problem: Varsayılan Redis kurulumu yetkisiz erişime açıktır.
Adımlar: Kurulum → Test → ACL → TLS → Firewall → Hardening → İzleme → Kalıcılık.


Ön Koşullar

  • Ubuntu 20.04 yüklü sunucu
  • sudo yetkili kullanıcı
  • ufw aktif firewall

1️⃣ Redis Kurulumu

  1. Redis’i Ubuntu depolarından kuruyoruz.
sudo apt update
sudo apt install redis-server
  • Bu komut Redis ve bağımlılıklarını yükler.

  1. Versiyonu kontrol edin:

redis-server --version
  • Bu komut kurulu Redis sürümünü gösterir.

  1. systemd entegrasyonu
  • Redis’in servis olarak doğru çalışması için yapılandırma yapıyoruz.

sudo nano /etc/redis/redis.conf

  • Aşağıdaki satırı güncelleyin:

supervised systemd
  • Bu ayar Redis’in systemd ile yönetilmesini sağlar.

Servisi yeniden başlatın:


sudo systemctl restart redis

2️⃣ Redis Çalışıyor mu?

  1. Servis durumunu kontrol edin.

sudo systemctl status redis

  1. Redis’e bağlanıp test edin:

redis-cli


ping
  • Bu komut Redis bağlantısını test eder.


set test "calisiyor"
get test
  • Bu komutlar veri yazma ve okuma testidir.

3️⃣ Localhost’a Bağlama

  1. Redis yalnızca yerel bağlantılara açık olmalı.

sudo nano /etc/redis/redis.conf

  • Aşağıdaki satır aktif olmalı:

bind 127.0.0.1 ::1
  • Bu ayar Redis’i dış dünyaya kapatır.


sudo systemctl restart redis

4️⃣ ACL ile Kullanıcı Yönetimi

  1. Modern Redis güvenliği ACL ile sağlanır.

1.2 Güçlü parola üretin


openssl rand 60 | openssl base64 -A
  • Bu komut rastgele güçlü parola üretir.

ACL yapılandırması


sudo nano /etc/redis/redis.conf

  • Aşağıdakileri ekleyin:

user default off
user appuser on >STRONG_PASSWORD ~* &* +@all
  • Bu ayar varsayılan kullanıcıyı kapatır.


sudo systemctl restart redis

Bağlantıyı test edin:


redis-cli --user appuser --askpass

5️⃣ TLS ile Şifreleme

  1. Redis trafiği mutlaka şifrelenmelidir.

sudo mkdir /etc/redis/tls

  1. Sertifika oluşturma:

sudo openssl genrsa -out /etc/redis/tls/ca.key 4096
sudo openssl req -x509 -new -nodes -key /etc/redis/tls/ca.key -days 365 -out /etc/redis/tls/ca.crt

  1. Redis TLS yapılandırması:

port 0
tls-port 6379
tls-cert-file /etc/redis/tls/redis.crt
tls-key-file /etc/redis/tls/redis.key
tls-ca-cert-file /etc/redis/tls/ca.crt
  • Bu ayar şifresiz portu kapatır.

6️⃣ Firewall ve Uzaktan Erişim

  1. Redis portunu asla herkese açmayın.

sudo ufw allow from 203.0.113.10/32 to any port 6379 proto tcp
  • Bu kural yalnızca güvenli IP’ye izin verir.

Güvenli alternatifler

  1. VPN (WireGuard / OpenVPN)
  • SSH Tünel

ssh -L 8000:127.0.0.1:6379 user@sunucu_ip
  • Bu komut güvenli tünel oluşturur.

7️⃣ Ek Güvenlik Ayarları

  1. Tehlikeli komutları kısıtlama

user appuser on >STRONG_PASSWORD ~* &* +@read +@write -@dangerous
  • Bu ayar riskli komutları engeller.

  1. Bellek limiti

maxmemory 2gb
maxmemory-policy allkeys-lru
  • Bu ayar DoS saldırılarını önler.

  1. Unix socket

unixsocket /var/run/redis/redis.sock
unixsocketperm 770
  • Bu yapı yerel bağlantıları daha güvenli yapar.

8️⃣ Log ve İzleme


sudo journalctl -u redis-server -f
  • Bu komut canlı log takibi sağlar.

  1. Slow log ayarı:

slowlog-log-slower-than 10000
slowlog-max-len 128


redis-cli SLOWLOG GET
  • Bu komut yavaş sorguları gösterir.

9️⃣ Kalıcı Veri ve Yedekleme

AOF etkinleştirme:


appendonly yes

  • Veri dizinini kontrol edin:

ls -l /var/lib/redis
  • Yedekleri şifreli ve uzak konumda saklayın.

Sıkça Sorulan Sorular (SSS)

1. Redis neden internete açık olmamalı? Brute-force ve exploit riski çok yüksektir.

2. ACL mi requirepass mi? ACL daha güvenli ve granular yetkilendirme sağlar.

3. TLS gerekli mi? Evet, aksi halde veri düz metin gider.

4. RDB mi AOF mi? Production için ikisi birlikte önerilir.

5. AppArmor yeterli mi? Evet, Ubuntu’da otomatik aktiftir.


Sonuç

Bu rehberle Redis’i Ubuntu üzerinde güvenli ve production uyumlu hale getirdiniz. Daha yüksek performans ve ölçeklenebilirlik için Rabisu Bulut VDS altyapısında hemen deneyebilirsiniz.