Redisِ بدون رمز که از اینترنت در دسترس باشد، یکی از رایجترین راههای نفوذ به سرورهاست. این آموزش روی پیکربندی امن تمرکز دارد.
۱. نصب
sudo apt update
sudo apt install -y redis-server۲. پیکربندی
sudo nano /etc/redis/redis.confاین مقادیر را پیدا و تنظیم کنید:
bind 127.0.0.1 -::1
protected-mode yes
supervised systemd
maxmemory 512mb
maxmemory-policy allkeys-lrumaxmemoryجلوی پر شدن حافظهی سرور را میگیرد.allkeys-lruبرای کاربرد کش مناسب است. اگر از Redis بهعنوان صف یا ذخیرهی دائمی استفاده میکنید،noevictionبگذارید.
۳. کاربر و رمز با ACL
کاربر پیشفرض را غیرفعال کنید و برای برنامه کاربر محدود بسازید. در انتهای redis.conf:
user default off
user app on >یک-رمز-طولانی-و-تصادفی ~app:* +@all -@dangerous
user admin on >رمز-مدیر ~* +@allکاربر app فقط به کلیدهایی که با app: شروع میشوند دسترسی دارد و دستورهای خطرناک مثل FLUSHALL و CONFIG را ندارد.
۴. اعمال و آزمایش
sudo systemctl restart redis-server
redis-cli --user app --pass 'یک-رمز-طولانی-و-تصادفی' set app:hello world
redis-cli --user app --pass 'یک-رمز-طولانی-و-تصادفی' flushall # باید رد شود
redis-cli --user admin --pass 'رمز-مدیر' info memory | grep used_memory_human۵. رشتهی اتصال برنامه
redis://app:یک-رمز-طولانی-و-تصادفی@127.0.0.1:6379/0