كيفية تثبيت Redis وتأمينه على أوبونتو 18.04
Redis هو نظام تخزين بيانات سريع يستخدم في العديد من التطبيقات من خلال استخدامه كقاعدة بيانات مفتوحة المصدر، وذاكرة تخزين مؤقت (Cache)، وموزع للرسائل. يتميز Redis بسرعته العالية بفضل تخزين البيانات في الذاكرة العشوائية (RAM)، مما يجعله مثاليًا للتطبيقات التي تحتاج إلى استجابة سريعة. في هذا المقال، سنناقش كيفية تثبيت Redis على أوبونتو 18.04 وكيفية تأمينه لضمان أداء عالي وأمان مناسب في بيئة الإنتاج.
تثبيت Redis على أوبونتو 18.04
قبل أن تبدأ في تثبيت Redis، تأكد من تحديث النظام لتفادي أي مشاكل قد تنشأ بسبب الحزم القديمة. يمكنك تحديث النظام باستخدام الأوامر التالية:
bashsudo apt update sudo apt upgrade
1. إضافة مستودع Redis وتثبيته
للحصول على أحدث إصدار من Redis، يمكنك تثبيته من مستودع أوبونتو الرسمي أو من مستودعات إضافية. في هذا المقال، سنتبع الطريقة الأكثر شيوعًا باستخدام المستودعات الرسمية.
لتثبيت Redis على أوبونتو 18.04، قم بتنفيذ الأمر التالي:
bashsudo apt install redis-server
سيقوم هذا الأمر بتثبيت Redis بالإضافة إلى كافة الحزم اللازمة.
2. التحقق من تثبيت Redis
بعد اكتمال التثبيت، يمكنك التحقق من أن Redis يعمل بشكل صحيح عن طريق فحص حالته باستخدام:
bashsudo systemctl status redis
سترى إذا كان Redis قيد التشغيل أم لا. إذا كان كل شيء على ما يرام، ستظهر رسالة تشير إلى أن Redis يعمل بنجاح.
3. إعداد Redis للعمل كخدمة
بعد التثبيت، يمكن لـ Redis العمل كخدمة، مما يعني أنه سيتم تشغيله تلقائيًا عند بدء تشغيل النظام. للتأكد من أن Redis سيعمل بشكل مستمر حتى بعد إعادة التشغيل، استخدم الأمر التالي:
bashsudo systemctl enable redis
تأمين Redis على أوبونتو 18.04
رغم أن Redis يعد أداة قوية وفعالة، إلا أن تكوينه بشكل غير آمن قد يعرض النظام للمخاطر الأمنية. لذلك، من المهم اتباع أفضل الممارسات لتأمين Redis بعد التثبيت.
1. تغيير إعدادات الوصول
إحدى الطرق الأكثر أهمية لتأمين Redis هي تغيير إعدادات الوصول إلى قاعدة البيانات. بشكل افتراضي، يسمح Redis بالاتصال من أي عنوان IP، مما يفتح المجال أمام الهجمات. لتقييد الوصول، يمكن تعديل ملف التكوين.
افتح ملف التكوين Redis باستخدام المحرر المفضل لديك، مثل Nano:
bashsudo nano /etc/redis/redis.conf
ابحث عن السطر الذي يحتوي على bind، والذي يحدد عناوين IP التي يمكنها الاتصال بـ Redis. لتقييد الوصول إلى الجهاز المحلي فقط، قم بتغيير السطر ليصبح:
bashbind 127.0.0.1 ::1
هذا يضمن أن Redis يستمع فقط على الجهاز المحلي ويمنع أي محاولات اتصال من الشبكات الخارجية.
2. تمكين كلمة المرور
بشكل افتراضي، Redis لا يتطلب كلمة مرور للاتصال به. ولكن لضمان الأمان، يمكنك تعيين كلمة مرور قوية. في ملف التكوين /etc/redis/redis.conf، ابحث عن السطر الذي يحتوي على # requirepass foobared وقم بإلغاء التعليق عن السطر وتعيين كلمة مرور قوية. على سبيل المثال:
bashrequirepass mystrongpassword
يجب استبدال mystrongpassword بكلمة مرور فريدة وآمنة. بعد تعديل الملف، احفظ التغييرات وأعد تشغيل Redis لتطبيق التحديثات:
bashsudo systemctl restart redis
3. تعطيل الوصول عبر TCP/IP في حال عدم الحاجة إليه
إذا كنت لا تحتاج إلى الوصول إلى Redis عبر الشبكة، يمكنك تعطيل استخدام TCP/IP بشكل كامل. يمكنك فعل ذلك بتعديل قيمة protected-mode في ملف التكوين، بحيث تكون yes:
bashprotected-mode yes
سيقوم هذا الخيار بإغلاق الوصول إلى Redis عبر الشبكة إلا إذا كنت قد قمت بتحديد عنوان IP محلي عبر خيار bind.
4. تحديث إعدادات الذاكرة
من أفضل ممارسات الأمان تحديد حدود لعدد الذاكرة التي يمكن أن يستخدمها Redis. يمكنك فعل ذلك بتعديل الخيار maxmemory في ملف التكوين، على سبيل المثال:
bashmaxmemory 2gb
هذا سيحدد حدًا أقصى لاستخدام ذاكرة Redis بما يعادل 2 جيجابايت. إذا تم الوصول إلى الحد الأقصى للذاكرة، سيتم إزالة البيانات القديمة.
5. إضافة جدار ناري
يعد إعداد جدار ناري مناسب خطوة أساسية في تأمين أي خادم. يمكنك استخدام ufw لضبط جدار ناري يمنع الوصول غير المصرح به إلى Redis. قم بتقييد الوصول إلى منفذ Redis الافتراضي (6379) بحيث يكون مفتوحًا فقط للجهاز المحلي.
لتنفيذ ذلك، أولاً تأكد من أن ufw مثبت ويعمل:
bashsudo ufw enable
ثم أضف قاعدة للسماح بالاتصالات المحلية فقط على المنفذ 6379:
bashsudo ufw allow from 127.0.0.1 to any port 6379
6. تفعيل التشفير
إذا كنت بحاجة إلى تأمين البيانات التي يتم إرسالها عبر الشبكة، يمكنك استخدام Redis مع SSL/TLS. بينما لا يدعم Redis بشكل افتراضي SSL، يمكنك إعداد Redis للعمل مع بروتوكولات التشفير باستخدام أدوات مثل stunnel أو SSL Proxy.
7. مراقبة Redis
أحد الجوانب المهمة في تأمين Redis هو مراقبته باستمرار للبحث عن أي نشاط غير طبيعي. يمكن استخدام أدوات مثل Redis-CLI أو MONITOR لمراقبة الأوامر التي يتم تنفيذها على Redis. على سبيل المثال:
bashredis-cli MONITOR
سيعرض لك هذا الأمر جميع الأوامر التي يتم تنفيذها على الخادم.
8. مراجعة تحديثات الأمان بشكل دوري
نظرًا لأن Redis هو جزء من نظام أوبونتو، من المهم دائمًا متابعة التحديثات الأمنية. يمكنك تفعيل التحديثات التلقائية للأمان من خلال إعداد أوبونتو على التحديث التلقائي. للقيام بذلك، قم بتعديل ملف /etc/apt/apt.conf.d/50unattended-upgrades وتمكين التحديثات الأمنية.
استنتاج
تثبيت Redis على أوبونتو 18.04 هو عملية بسيطة نسبيًا، ولكن تأمينه بشكل صحيح أمر بالغ الأهمية لضمان أمان البيانات وكفاءة الأداء. من خلال تقييد الوصول، وتعيين كلمات مرور قوية، وضبط إعدادات الذاكرة والجدار الناري، يمكن تقليل المخاطر الأمنية بشكل كبير. بالإضافة إلى ذلك، ينبغي دائمًا مراقبة Redis بشكل دوري وتحديثه للحفاظ على أمان النظام.

