أمن Linux / متوسط: حدود الخدمة والسياسة ودورة الحياة / الدرس 12
مراجعة SSH وسياسة الوصول البعيد كدورة حياة
فصل هوية الخادم وتوثيق المستخدم وسلطة الجلسة وأسبقية الإعداد والتعافي.
في هذه الصفحة
أهداف الدرس
- شرح قصور توثيق المفتاح العام عن قرار صلاحية وثقة كامل.
- مراجعة إعدادات sshd توضيحية دون تطبيقها أو اختبار المضيف.
فصل ثقة الاتصال عن سلطة الجلسة
يشمل SSH توثيق الخادم وتوثيق المستخدم واختيار حساب أو جلسة وتقييد أفعالها. لا يثبت نجاح فحص مفتاح أن المضيف هو المقصود أو أن كل فعل مطلوب مخول. تحتاج ثقة مفتاح المضيف وحياة مفتاح المستخدم وسياسة الحساب والتمرير وقيود الأمر والتعافي مراجعات منفصلة. المرجع المختار وثائق OpenSSH في Ubuntu 24.04 لا حالة المضيف. لا يجري المساق اتصالا أو توليد مفتاح أو استخدام اعتماد أو فحص حساب أو تشغيل خادم.
قراءة جزء توضيحي لغرض محدد
يعبر الجزء سياسة خيالية واحدة: منع root المباشر، والتوثيق بالمفتاح العام فقط وفق الطرق المعروضة، والسماح بحساب مختلق واحد. ليس إعداد sshd كاملا أو توصية عامة. يحتاج التغيير الحقيقي تكاملا مدعوما وتسجيل اعتمادات ووصولا مشروعا وافتراضات أتمتة وتعاف. قد تغير ملفات Include وشروط Match السياق الفعال؛ وفي كثير من خيارات sshd تستخدم أول قيمة تقرأ، ما لم يوثق الخيار خلاف ذلك. لا تعد إضافة سطر إثبات أثر. لا يشغل فحص صيغة أو تحميل أو إعادة أو دخول أو تغيير سياسة هنا.
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
AuthenticationMethods publickey
AllowUsers admin-lab
يعرض الجزء نصا تحريريا فقط ولا يثبت أو يحلل بواسطة sshd. الحساب خيالي. لا يسجل مفاتيح أو يحفظ تعافيا فعليا أو يتحقق من المضيف أو يثبت سياسة فعالة.
فصل التوثيق وإذن الحساب
يشترط النموذج المحلي ثقة خادم معلنة وتوثيق مستخدم ناجحا وفعل جلسة معتمدا. يوضح قصور حقيقة اعتماد صحيحة واحدة. القيم مدخلات مختلقة موثوقة، ولا يتحقق البرنامج من تبادل SSH. يحصل العميل الفعلي على الثقة بآليته المعتمدة لا بعلم يرسله المستدعي، ويفرض الخادم الحساب والجلسة بالمكدس المدعوم. افصل إبطال المفاتيح وتعطيل الحسابات والجلسات القائمة كأسئلة حياة؛ ولا تفترض أن سطرا واحدا ينهي كل السلطة فورا.
def session_allowed(server_trusted, user_authenticated, action_permitted):
return server_trusted is True and user_authenticated is True and action_permitted is True
assert session_allowed(True, True, True) is True
assert session_allowed(False, True, True) is False
assert session_allowed(True, True, False) is False
assert session_allowed(True, False, True) is False
print("server trust, authentication, and action policy remain distinct")
server trust, authentication, and action policy remain distinct
يقيم البرنامج الكامل حقائق في الذاكرة دون اتصال أو مفتاح أو مرور أو رمز أو سجل مضيف أو حساب. يثبت التقاطع الخيالي لا توثيقا أو صلاحية فعلية.
مراجعة التمرير وقدرات الأوامر عمدا
قد تحمل الجلسة سلطة تتجاوز الصدفة، مثل التمرير واستخدام الوكيل ونقل الملفات والأوامر المفوضة. قيد القدرات بالدور الفعلي، ولا تفترض أن الاقتصار على المفتاح يعني استخداما محدودا. راجع البيئة المقبولة ووسائط الأوامر وملفات الحساب وحياة اعتماد الأتمتة. لا تلصق مفاتيح authorized_keys حقيقية أو تختلق مدقق مفاتيح منزليا. لا ينشئ المساق سرا أو يهيئ وصولا. حدد المهام المسموحة والبدائل المرفوضة للدور الضيق، وراجع التعافي قبل أي تغيير تشغيلي فعلي.
فحص السياسة الفعالة في بيئة مصرح بها فقط
تغطي خطة مؤقتة معتمدة طرق العميل المقصودة وهوية المضيف والحسابات والأفعال المسموحة والمرفوضة وأسبقية الإعداد والتعافي. سجل إصدارات الخادم والحزمة ومصدر كل ملاحظة. لا تنفذ هنا عملية خادم أو هوية. الجزء المراجع دليل نية، والنموذج المحلي يثبت علاقته فقط. احفظ نقص دليل التكامل، ولا تدع SSH آمنا عاما من أسطر قليلة. الهدف قرار حد وحياة واضح يراجعه المشغل بدليل مصرح به محدد.
الأخطاء الشائعة وإصلاحها
يثبت مفتاح المستخدم الخادم المقصود
- لماذا يحدث؟
- يخلط التوثيق وثقة المضيف.
- كيف تصلحه؟
- راجع الهوية بآلية العميل المعتمدة.
- كيف تتجنب تكراره؟
- اختبر الادعاءين منفصلين.
تثبت إضافة الإعداد فعاليته
- لماذا يحدث؟
- تهمل الأسبقية والشرط.
- كيف تصلحه؟
- راجع الدلالات الكاملة والسياق الفعال.
- كيف تتجنب تكراره؟
- افصل النص وسلوك الخادم.
يسمى المفتاح وحده أقل صلاحيات
- لماذا يحدث؟
- تهمل قدرات الجلسة والأفعال.
- كيف تصلحه؟
- حدد التمرير والأمر والحساب والحياة.
- كيف تتجنب تكراره؟
- اجمع المشروع والبديل المرفوض.
اختبر فهمك
1. نجحت مصادقة المستخدم، لكن قيمة server_trusted هي false. ماذا يقرر النموذج؟
اعرض الحل المشروح
يرفض وفق السياسة المعلنة. لا يحل نجاح استخدام بيانات الاعتماد محل الثقة بالخادم المقصود. لا يجري الحساب تبادلا للبروتوكول، ولذلك يبقى التحقق الفعلي من هوية المضيف لدى العميل والتعافي سؤالين مستقلين لتكامل مصرح به.
2. لماذا يحتاج تغير الوصول خطة تعاف؟
اعرض الحل المشروح
قد ترفض السياسة الطريقة الوحيدة المتاحة أو تمس الأتمتة والإدارة دون قصد. راجع التسجيل والوصول والتعافي المعتمد قبل التغيير. لا يطبق الدرس شيئا أو يفحص أو يحفظ وصول المضيف.
أهم ما تعلمته
- تختلف هوية المضيف والتوثيق والإذن.
- تهم الأسبقية وقدرات الجلسة.
- لا يثبت الجزء والنموذج أمن SSH الفعال.