منهج نواة تقنية الجلسة السابعة
اذهب إلى التنقل
اذهب إلى البحث
الهدف من الجلسة
- التعرف علي مفهوم المستخدم user في نظم التشغيل متعددة المستخدمين.
- التعرف علي محتويات قاعدة بيانات المستخدمين Passwd, Shadow.
- التعرف علي مبدأ التشفير encryption.
- التعرف علي بعض طرق كسر التشفير.
- التعرف علي طريقة و سلوك انشاء / تغيير / الغاء مستخدم.
محتوي الجلسة
إدارة المستخدمين user management
عرض محتويات قاعدة بيانات المستخدمين Passwd, Shadow
التشفير
1 ما هو التشفير encryption ؟
2 كيف يتم تشفير كلمة مرور المستخدم في أنظمة يونكس القديمة (يتم تشفير كلمة المرور مع نفسها كمفتاح)
3 من طرق كسر تشفير كلمة السر
3.1 الهجوم الواسع broad force attack
3.1.1 تصنيفات المشاكل (قابلة للحل ، مستعصية على الحل ، غير قابلة للحل حسابيًا)(tractable, intractable, computationally unsolvable)
3.2 الهجوم القاموسي The dictionary attack
3.2.1 تاريخيًا ، أتاح وجود كلمة المرور المشفرة في ملف passwd الفرصة لإجراء هجوم على القاموس لتحديد كلمات مرور المستخدم ، ولحل هذه المشكلة ، تم إنشاء مفهوم ملف الظل shadow وتخزين كلمة المرور في ملف الظل لمنع هجمات القاموس The dictionary attack.
4 خوارزميات التجزئه Hashing
Solt /etc/group useradd /etc/skel usermod userdell /etc/login.defs
طريقة التقديم
- كل مستخدم يتم تمييزة بإسمه و وقمه التعريفي (id)
- يسأل الميسر المشاركين, ما المعلومات التي أحتاج تخزينها عن المستخدم
- قاعدة بيانات بها المستخدمين الأساسية وهي مخزنة في /etc/passwd
- يعرض الميسر الملف بالأمر cat /etc/passwd
- المعلومات التي يخزنها النظام عن المستخدم root كمثال
- root: اسم مستخدم الحساب.
- x: تعبير مُرمّز للدلالة على معلومات كلمة المرور والتي يتم الحصول عليها من ملف etc/shadow/.
- 0: هوية المستخدم أو رقم ID الخاص به وهو مُعرفّه على نظام التشغيل. المستخدم الجذر يملك رقم ID مساويًا للصفر على الدوام.
- 0: هوية المجموعة أو رقم ID الخاص بالمجموعة التي ينتمي لها المُستخدم بشكل افتراضي. كذلك فإن رقم ID لمجموعة الجذر هو 0 دومًا.
- root: حقل الملاحظات، يُستخدم هذا الحقل لوصف المستخدم أو وظيفته، كما يمكن أن يشمل معلومات الاتصال به أو وصف الخدمة التي أُنشئ من قبلها.
- root/: الدليل الرئيسي، للمستخدمين القياسيين غالبًا ما يكون هذا الدليل هوhome/username/، أما للمستخدم الجذر فهو root/.
- bin/bash/: يضمّ هذا الحقل مسار الصدفة شِل shell الخاصة بالمستخدم أو الأمر الذي سيُنفّذ عقب ولوج المستخدم. cat
- يوضح الميسر أن هذا المكان هو الافتراضي لكن يمكن تخزينها علي أي قاعدة بيانات من أي نوع
- المعلومات تنفصل عن بعضها بعلامة :
- يسأل الميسر كيف اضع كلمة السر مشفرة وفي نفس الوقت أتاكد ان كلمة السر صحيحة
- ومن هنا يتم توضيح معني التشفير وفك التشفير
- التشفير ما هو الا عملية رياضية
- كلمة السر هي مجموعة من المحارف وتمثل في النهاية بارقام, يتم عليها عمليات رياضية لتشفيرها
- يجب ان اجد عملية رياضية عكسية لفك التشفير,
- كان التشفير عن طريق التعمية, دوال التشفير الحديثة تعتمد علي مفتاح تشفير وهو عبارة عن مجموعة أرقام
- يسأل الميسر المشاركين كيف أفك التشفير لو لم يتوافر مفتاح التشفير؟
- يتم طرح فرضية تجربة كل الاحتمالات, ويثبت انها مستحيله علي 128 بت لانها 2 أس 128 وهو وقت اكبر من عمر الكون
- أي ان تكلفة الوقت مستحيلة
- يقارن الميسر بين أنواع المشاكل (tractable,intractable,computationally)
- رجوعا للسؤال,كيف افك التشفير لو لم يتوافر مفتاح التشفير؟
- تم تشفير كل اسم مستخدم بتشفير باستخدام كلمة السر كمفتاح تشفير,
- يسأل الميسر ما عيوب هذة الطريقة؟
- 1- لو اثنين من المستخدمين لهم نفس كلمة السر فمن الممكن معرفة كلمة سر مستخدم بمعرفة كلمة سر الاخر,
- 2- قدرة العقل البشري علي التذكر محدودة, عادة يختار كلمة منطوقة ولها علاقة بمعلومات شخصية, فبالتالي لا احتاج تجربة كل الاحتمالات, يستخدم Dictionary attack
- نظم اللينوكس واليونكس حل هذة المشكلة بانه يعطل عملية المحاولات بحيث الامر يستغرق وقت كبير ويمكن ملاحظة محاولات الاختراق.
- وصولاً للحقل الثالث, user ID
- وهو تعريف للمستخدم للنظام عن طريق رقم
- يسأل الميسر, كم محاولة يحتاجها النظام للتأكد من اسم مستخدم معين, الاجابة بالعرض انها محاولات كثيرة, لكن للتعرف علي رقم يحتاج وقت اقل بكثير
- يوضح ال shells المسماة nologin و false ومهمتها منع اي مستخدم من استخدام اسماء المستخدمين المخصصة للنظام
- يوضح الميسر ان كلمات السر يتم تخزينها في ملف /etc /shadow
- يجرب الميسر فتح ملف ال shadow بالمستخدم العادي فيفشل
- يجرب الميسر فتح الملف بمستخدم root ويتم عرضه
- الحقل الاول بة أسم المستخدم بغرض ربط الملف بملف passwd
- الحقل الثاني كلمة السر
- يطلب الميسر من المشاركين ما هي محتويات الحقول من الثالث حتي العاشر
- نقرأ ال man page لملف shadow
- يسأل الميسر كيف أحمي كلمة السر من ال Administrator
- يتم شرح فكرة ال hashing
- ال hashing هو عملية رياضية
- هل يمكن ان يكون نفس ال hash لكلمتي سر
- يتم اضافة 4 محارف عشوائية علي كلمة السر (salt) قبل ال Hashing فبالتالي لو أن شخصين استخدموا نفس كلمة السر فال hashing مختلف.
- ما مشكلة استخدام vi وادخال بيانات المستخدم بنفسي ؟
- في حالة وجود اكثر من administrator فمن الممكن ان يلغي احدهم ادخالات الاخر race condition.
التدريب
- يطلب الميسر من المشاركين فتح man usermod و man useradd والتجربة بأنفسهم.