Cyber Security Academy · درس

RBAC وحسابات الخدمة

تقييد الوصول إلى العنقود.

الدرس 2 من 413 خطوة

RBAC وحسابات الخدمة درس مجاني في Cyber Security Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cyber Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.

يتحكم RBAC في كل شيء

يحدد التحكم في الوصول القائم على الأدوار (RBAC) الهويات التي يمكنها تنفيذ إجراءات معينة على موارد محددة داخل العنقود. ويُصرّح بكل استدعاء لواجهة API بالاستناد إلى RBAC. ويُعد سوء إعداد RBAC السبب الرئيسي لتصعيد الامتيازات داخل العنقود.

  • الجهات: المستخدمون والمجموعات وحسابات الخدمة.
  • تربط الأدوار الأفعال بالموارد.
  • تصل عمليات الربط الجهات بالأدوار.

مقارنة Role وClusterRole

يوجد نطاقان.

  • Role + RoleBinding: صلاحيات على مستوى مساحة الاسم.
  • ClusterRole + ClusterRoleBinding: صلاحيات على مستوى العنقود بأكمله.

يمنح ربط ClusterRoleBinding بـ cluster-admin سيطرة كاملة. ويُعد منحه لحساب خدمة خطأً شائعًا وخطيرًا.

رموز حسابات الخدمة

يعمل كل pod باستخدام حساب خدمة، ويثبّت رمزه المميز افتراضيًا. ويُعد هذا الرمز بيانات اعتماد لحاملها تنقل صلاحيات RBAC الخاصة بالحساب. فإذا اختُرق pod، اختُرق الرمز أيضًا.

تُصدر العناقيد الحديثة رموزًا مميزة مُسقطة قصيرة الأجل ومقيّدة بجمهور محدد، لكن رموز الأسرار القديمة طويلة الأجل ما تزال موجودة.

# Inspect which service account a pod uses
kubectl get pod web -o jsonpath='{.spec.serviceAccountName}'

حصر صلاحياتك

بعد الحصول على رمز مميز، تتمثل الخطوة الأولى في معرفة ما يمكنه فعله. توفر Kubernetes واجهة API للتحقق الذاتي.

# What can this token do?
kubectl auth can-i --list

# Specific checks
kubectl auth can-i create pods
kubectl auth can-i create clusterrolebindings

تركيبات الصلاحيات الخطرة

تُعد بعض الأفعال أدوات أساسية للتصعيد حتى من دون cluster-admin.

  • create pods: جدولة pod ذي امتيازات أو يستخدم hostPath للخروج من الحاوية.
  • create pods/exec: تشغيل أوامر في pods موجودة.
  • get/list secrets: قراءة بيانات الاعتماد على مستوى العنقود.
  • create rolebindings/clusterrolebindings: ربط نفسك بصلاحيات المسؤول.
  • تتيح أفعال escalate / bind منح صلاحيات لا تملكها.
  • impersonate: التصرّف بصفة جهة أخرى أكثر امتيازًا.

التصعيد عبر إنشاء pod

إذا كان حساب خدمة قادرًا على إنشاء pods، فغالبًا ما يمكنه السيطرة على العقدة. يجدول المهاجم pod يثبّت نظام ملفات المضيف أو يعمل بامتيازات، ثم يقرأ بيانات اعتماد العقدة أو يخرج من الحاوية.

# Pod spec snippet that mounts the host root
# volumes: hostPath path: /  ;  container mounts it at /host
kubectl apply -f evil-pod.yaml
kubectl exec -it evil -- chroot /host bash

التصعيد عبر الربط

إذا كنت تستطيع إنشاء rolebindings (بما فيها clusterrolebindings)، فقد تتمكن من ربط حساب الخدمة الخاص بك مباشرةً بـ cluster-admin. تحمي Kubernetes ذلك باستخدام فعلي bind/escalate، لكن الأدوار سيئة الإعداد تسمح به أحيانًا.

# Bind a service account to cluster-admin (if permitted)
kubectl create clusterrolebinding pwn \
  --clusterrole=cluster-admin \
  --serviceaccount=default:web

إساءة استخدام انتحال الهوية

يتيح الفعل impersonate لجهة ما التصرّف بصفة أي مستخدم أو مجموعة أو حساب خدمة. وتمتلك الجهة ذات صلاحيات الانتحال الواسعة فعليًا كل صلاحيات العنقود.

# Act as a privileged user via impersonation
kubectl get secrets --as=admin-user --as-group=system:masters

تدقيق RBAC

ينبغي للمدافعين مراجعة RBAC باستمرار بحثًا عن المنح الخطرة.

  • اعثر على الجهات المرتبطة بـ cluster-admin.
  • ضع علامة على الأفعال أو الموارد ذات أحرف البدل (*).
  • اكتشف منح secret-read وpod-create للحسابات غير الإدارية.
# Tools to audit RBAC
kubectl-who-can create pods
rbac-tool analysis
rakkess --as=system:serviceaccount:default:web

تقوية حسابات الخدمة

طبّق مبدأ أقل قدر من الصلاحيات على الهويات.

  • عيّن automountServiceAccountToken: false عندما لا يحتاج pod إلى الوصول إلى API.
  • امنح كل حمل عمل حساب خدمة مخصصًا ذا نطاق صلاحيات محدود قدر الإمكان.
  • تجنب حساب الخدمة default لأحمال العمل الفعلية.
  • استخدم رموزًا مميزة مُسقطة قصيرة الأجل مع جماهير محددة؛ ودوّرها واربطها.
  • لا تربط أحمال العمل أبدًا بـ cluster-admin.

اختبار RBAC بطريقة أخلاقية

عند تقييم RBAC، فضّل عمليات التحقق غير المدمرة (auth can-i وdry-run) على إنشاء عمليات ربط بـ cluster-admin فعليًا في بيئة الإنتاج. وإذا كان لا بد من إثبات التصعيد، فاحصره في مساحة أسماء اختبارية وأزل أي عمليات ربط أو pods أنشأتها.

أبلغ عن الأدوار وعمليات الربط الدقيقة التي أتاحت التصعيد، حتى يمكن تشديدها.

تحقق سريع

تأكد من فهمك لـ RBAC.

مراجعة

تعلمت كيف تحكم RBAC وحسابات الخدمة الوصول إلى العنقود وتهددانه.

  • يربط RBAC الجهات بالأفعال على الموارد؛ ويمثل cluster-admin سيطرة كاملة.
  • تثبّت pods رموز حسابات الخدمة؛ وتكشف auth can-i نطاق صلاحياتها.
  • تُعد create-pods والربط وsecret-read وimpersonate أدوات أساسية للتصعيد.
  • تؤدي الحسابات ذات أقل قدر من الصلاحيات وتعطيل التثبيت التلقائي إلى تقوية العنقود.

التالي: أمان pods وسياسات الشبكة.

البدء مجانًا

تعلم Cyber Security Academy مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
76
الدروس
303

الأسئلة الشائعة

هل درس «RBAC وحسابات الخدمة» مجاني؟

نعم — نص درس «RBAC وحسابات الخدمة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cyber Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.

ماذا ستتعلم في «RBAC وحسابات الخدمة»؟

تقييد الوصول إلى العنقود. تتمرن على Cyber Security Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cyber Security Academy؟

لا تُشترط خبرة سابقة. Cyber Security Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «RBAC وحسابات الخدمة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cyber Security Academy هذا؟

نعم. كل درس في Cyber Security Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نموذج تهديدات Kubernetes
  2. RBAC وحسابات الخدمة
  3. أمان Pods وسياسات الشبكة
  4. تأمين سلسلة التوريد والأسرار
← العودة إلى Cyber Security Academy