أساسيات الأمن والحماية على خواديم أوبنتو: إدارة المستخدمين
يُعد نظام التشغيل “أوبنتو” (Ubuntu) من أكثر توزيعات لينكس شيوعًا في العالم، ويُستخدم على نطاق واسع في بيئات الخواديم بفضل استقراره، ودعمه المجتمعي الواسع، وسهولة استخدامه نسبيًا مقارنةً بتوزيعات لينكس الأخرى. ومع تزايد الاعتماد على أوبنتو في تشغيل الخواديم، تصبح الحاجة إلى تأمين النظام أمرًا بالغ الأهمية، حيث تمثل إدارة المستخدمين واحدة من الركائز الأساسية في بنية الأمن لأي خادم.
تتناول هذه المقالة بشكل موسع ودقيق أساسيات الأمن والحماية على خواديم أوبنتو مع التركيز بشكل خاص على إدارة المستخدمين، من حيث إنشاء الحسابات، منح الصلاحيات، تطبيق ممارسات الحد من الامتيازات، واستخدام الأدوات الأمنية المتوفرة داخل النظام لتقليل الهجمات وتقوية الأمن الداخلي.
المفهوم الأمني لإدارة المستخدمين
إدارة المستخدمين على خواديم أوبنتو لا تقتصر على إنشاء حسابات وتحديد كلمات مرور، بل هي عملية شاملة تتضمن فرض سياسات تحكم الوصول، مراقبة الأنشطة، التحكم في الصلاحيات، وتطبيق مبدأ “الحد الأدنى من الامتيازات” (Principle of Least Privilege). ويمثل كل مستخدم على النظام نقطة دخول محتملة، ما يعني أن أي ثغرة أو خلل في التحكم به قد تؤدي إلى استغلال أمني واسع النطاق.
يتمثل الهدف الرئيسي من إدارة المستخدمين في:
-
تقييد الوصول إلى الموارد.
-
مراقبة الأنشطة المشبوهة.
-
تجنب المشاركة غير المصرح بها.
-
تعزيز التتبع والمسؤولية عن الأفعال.
إنشاء المستخدمين وإدارة الحسابات
إنشاء حساب مستخدم جديد
يُستخدم الأمر adduser أو useradd لإنشاء حساب مستخدم جديد في نظام أوبنتو، ويفضل استخدام adduser لأنه يوفر عملية تفاعلية أكثر أمانًا.
bashsudo adduser username
سيقوم النظام بطلب إدخال كلمة مرور للمستخدم الجديد بالإضافة إلى بيانات أخرى مثل الاسم الكامل ومعلومات الاتصال، وهي مفيدة في البيئات المؤسسية لتحديد هوية المستخدمين.
تحديد الصلاحيات باستخدام المجموعات
في أوبنتو، يتم التحكم في الصلاحيات من خلال نظام المجموعات (Groups). يمكن للمستخدم الانضمام إلى مجموعة واحدة أو أكثر، وتُستخدم هذه المجموعات لتحديد ما يمكنه الوصول إليه أو تغييره.
لإضافة مستخدم إلى مجموعة معينة:
bashsudo usermod -aG groupname username
ومن أشهر المجموعات:
-
sudo: تمنح المستخدم صلاحيات الجذر.
-
adm: تتيح قراءة سجلات النظام.
-
www-data: مستخدمة في خدمات الويب مثل Apache أو Nginx.
التحكم في امتيازات المستخدمين
استخدام الأمر sudo
يجب الحد من استخدام صلاحيات الجذر root قدر الإمكان، وتُستخدم أداة sudo لتمنح المستخدمين الموثوقين صلاحيات تنفيذ أوامر بصلاحيات مرتفعة عند الحاجة فقط، دون تسجيل دخول كامل بحساب الجذر.
للسماح لمستخدم باستخدام sudo:
bashsudo usermod -aG sudo username
ويمكن تحرير إعدادات sudo من خلال الملف:
bashsudo visudo
هذا الملف يحدد من يمكنه استخدام sudo وتحت أي شروط، مع تسجيل جميع الأوامر المنفذة لغايات التتبع.
تطبيق مبدأ الحد الأدنى من الامتيازات
يُعد مبدأ “الحد الأدنى من الامتيازات” من أقوى الأسس الأمنية، ويعني منح المستخدمين أقل قدر ممكن من الصلاحيات التي تمكّنهم من أداء مهامهم فقط، دون منح صلاحيات زائدة قد تُستغل لاحقًا.
أمثلة عملية:
-
لا يُمنح المطورون صلاحيات لتعديل إعدادات النظام.
-
لا يتم تشغيل خدمات الإنترنت بحسابات مستخدمين ذوي صلاحيات مرتفعة.
-
تُستخدم حسابات منفصلة لكل خدمة (مثل MySQL، Apache).
مراقبة المستخدمين والنشاطات
ملفات السجلات
يُسجل نظام أوبنتو نشاطات المستخدمين في سجلات النظام مثل:
-
/var/log/auth.log: يسجل جميع عمليات تسجيل الدخول ومحاولات sudo. -
/var/log/syslog: يحتوي على تنبيهات النظام والرسائل العامة.
يمكن فحص هذه السجلات باستخدام أدوات مثل:
bashsudo less /var/log/auth.log
أو باستخدام أوامر تحليلية مثل:
bashgrep 'username' /var/log/auth.log
الأوامر المفيدة في المراقبة
-
who: لعرض المستخدمين المتصلين حاليًا. -
last: يعرض سجل عمليات الدخول الأخيرة. -
id username: يعرض معرف المستخدم ومجموعاته. -
groups username: يعرض المجموعات التي ينتمي لها المستخدم.
التحكم في سياسة كلمات المرور
سياسات كلمات المرور القوية تُعتبر من الخطوط الدفاعية الأولى ضد الهجمات. يمكن فرض متطلبات معقدة على كلمات المرور باستخدام حزمة libpam-pwquality.
لتثبيتها:
bashsudo apt install libpam-pwquality
ثم يتم تعديل الملف:
bashsudo nano /etc/pam.d/common-password
وإضافة أو تعديل السطر الذي يحتوي على pam_pwquality.so، لتحديد:
-
الحد الأدنى للطول.
-
عدد الحروف الكبيرة/الصغيرة/الأرقام.
-
فترة صلاحية الكلمة.
إعداد صلاحيات انتهاء كلمة المرور:
يمكن تحديد مدة انتهاء كلمة مرور باستخدام الأمر chage:
bashsudo chage -M 90 username
هذا يعني أن المستخدم يجب عليه تغيير كلمة المرور كل 90 يومًا.
تعطيل الحسابات غير المستخدمة
الحسابات غير النشطة تمثل ثغرات أمنية. يُنصح بحذف أو تعطيل أي حساب غير مستخدم:
لتعطيل حساب:
bashsudo usermod -L username
لحذفه نهائيًا:
bashsudo deluser username
ويمكن حذف مجلد المستخدم بإضافة --remove-home.
تقييد الوصول باستخدام ملفات sudoers وshell
يمكن منع المستخدمين من تنفيذ أي أمر غير مسموح به من خلال التحكم في sudoers، أو حتى تحديد نوع الشل المسموح باستخدامه.
تحديد shell معين:
bashsudo usermod -s /usr/sbin/nologin username
هذا يمنع المستخدم من تسجيل الدخول إلى الشل.
الجدول: الأوامر الشائعة لإدارة المستخدمين في أوبنتو
| الأمر | الوظيفة |
|---|---|
adduser username |
إنشاء مستخدم جديد |
usermod -aG group user |
إضافة مستخدم إلى مجموعة معينة |
deluser username |
حذف حساب مستخدم |
passwd username |
تغيير كلمة المرور لمستخدم |
chage -M 90 username |
تحديد صلاحية كلمة المرور بـ 90 يومًا |
who |
عرض المستخدمين الحاليين |
last |
عرض سجل الدخول السابق |
id username |
عرض معرف المستخدم والمجموعات التابعة |
sudo visudo |
تحرير صلاحيات sudo بأمان |
usermod -L username |
قفل حساب المستخدم |
usermod -s /usr/sbin/nologin user |
منع الوصول إلى الشل |
أدوات متقدمة لتعزيز الحماية
أداة Auditd
أداة auditd هي نظام مراقبة متقدم يسجل جميع الأحداث الحساسة على النظام، مثل التعديلات على الملفات الحرجة، تغييرات الصلاحيات، ومحاولات الدخول غير المصرح بها.
لتثبيتها:
bashsudo apt install auditd
ويمكن إعدادها لمراقبة نشاط المستخدمين.
أداة Fail2Ban
تمنع محاولات الدخول المتكررة والخبيثة عبر SSH عن طريق حظر عناوين IP بعد عدد محدد من المحاولات الفاشلة.
bashsudo apt install fail2ban
ثم تعديل الملف /etc/fail2ban/jail.local لتحديد عدد المحاولات والمدة الزمنية.
الخلاصة التقنية
تمثل إدارة المستخدمين أحد أعمدة الأمن الرئيسية في خواديم أوبنتو، حيث توفر الحماية الداخلية للنظام وتقلل من المخاطر الناجمة عن الأخطاء البشرية أو محاولات الاختراق. عبر فرض سياسات صارمة، ومراقبة الأنشطة، واستخدام أدوات حماية متقدمة، يمكن لمسؤولي النظام تقوية دفاعات الخادم وتعزيز استقراره وأمانه. إن التقصير في هذا الجانب قد يؤدي إلى تهديدات كبيرة تبدأ من تسريب البيانات إلى السيطرة الكاملة على النظام.
المراجع:
-
Ubuntu Official Documentation: https://ubuntu.com/server/docs
-
Linux Security Cookbook by Daniel J. Barrett, O’Reilly Media

