پرش به محتوا

نصب و ایمن‌سازی Redis

Redis را برای کش و صف برنامه نصب کنید، رمز و ACL بگذارید، حافظه را محدود کنید و از دسترسی بیرونی جلوگیری کنید.

Ubuntu 24.04 LTSسطح: مقدماتیبرای: Ubuntu 24.04 LTS، Ubuntu 26.04 LTS، Ubuntu 22.04 LTSبه‌روزرسانی: ۱۶ آبان ۱۴۰۵

Redisِ بدون رمز که از اینترنت در دسترس باشد، یکی از رایج‌ترین راه‌های نفوذ به سرورهاست. این آموزش روی پیکربندی امن تمرکز دارد.

۱. نصب

bash
sudo apt update
sudo apt install -y redis-server

۲. پیکربندی

bash
sudo nano /etc/redis/redis.conf

این مقادیر را پیدا و تنظیم کنید:

ini
bind 127.0.0.1 -::1
protected-mode yes
supervised systemd
maxmemory 512mb
maxmemory-policy allkeys-lru
  • maxmemory جلوی پر شدن حافظه‌ی سرور را می‌گیرد.
  • allkeys-lru برای کاربرد کش مناسب است. اگر از Redis به‌عنوان صف یا ذخیره‌ی دائمی استفاده می‌کنید، noeviction بگذارید.

۳. کاربر و رمز با ACL

کاربر پیش‌فرض را غیرفعال کنید و برای برنامه کاربر محدود بسازید. در انتهای redis.conf:

ini
user default off
user app on >یک-رمز-طولانی-و-تصادفی ~app:* +@all -@dangerous
user admin on >رمز-مدیر ~* +@all

کاربر app فقط به کلیدهایی که با app: شروع می‌شوند دسترسی دارد و دستورهای خطرناک مثل FLUSHALL و CONFIG را ندارد.

۴. اعمال و آزمایش

bash
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