0Pricing
DevOps Bootcamp · درس

سياسات الشبكة وشبكات أقل الصلاحيات

أمّنوا حركة المرور بين الحاويات باستخدام سياسات شبكة تمنع كل شيء افتراضيًا، وقواعد سماح صريحة، ومبدأ أقل الصلاحيات المطبق على الشبكات

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

السماح الافتراضي للجميع محفوف بالمخاطر

يمكن للحاويات في المجموعة، عادةً، التواصل مع كل حاوية أخرى. وبذلك قد تتمكن Pod مخترقة من الوصول بحرية إلى قواعد البيانات والخدمات الداخلية. وتغلق سياسات الشبكة هذا الباب.

أقل صلاحية للشبكات

ينطبق مبدأ أقل صلاحية على حركة المرور أيضًا: ينبغي للخدمة أن تقبل الاتصالات التي تحتاج إليها فعلًا وأن تنشئها فقط، دون أي شيء إضافي.

ما المقصود بسياسة الشبكة؟

إن NetworkPolicy كائن في Kubernetes يختار Pods حسب التسمية، ويحدد حركة الدخول والخروج المسموح بها. ويفرضها مكوّن CNI مثل Calico أو Cilium.

تحتاج إلى CNI يفرض القواعد

مثلما يحتاج Ingress إلى وحدة تحكم، تحتاج NetworkPolicies إلى CNI يدعمها. وفي حال استخدام مكوّن يتجاهلها، فلن تفعل القواعد شيئًا بصمت.

المنع الافتراضي لحركة الدخول

ابدأ بمنع كل حركة المرور الواردة إلى مساحة أسماء، ثم اسمح فقط بما تحتاج إليه. يطابق podSelector الفارغ كل Pod.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny-ingress
spec:
  podSelector: {}
  policyTypes:
  - Ingress

السماح بحركة مرور محددة

اسمح الآن فقط لـ Pods الخاصة بالواجهة الأمامية بالوصول إلى API على المنفذ 8080. وسيظل كل شيء آخر محظورًا.

spec:
  podSelector:
    matchLabels:
      app: api
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - port: 8080

تقييد حركة الخروج

يمكنك أيضًا تقييد حركة المرور الصادرة، كالسماح لـ Pod بالوصول إلى قاعدة البيانات فقط، ومنع Pod تم اختراقها من الاتصال بجهة خارجية.

spec:
  podSelector:
    matchLabels:
      app: api
  policyTypes:
  - Egress
  egress:
  - to:
    - podSelector:
        matchLabels:
          app: db

محددات مساحات الأسماء

يمكن للقواعد المطابقة باستخدام namespaceSelector السماح بحركة المرور بين مساحات الأسماء من مساحات الأسماء الموثوقة فقط، وهو أمر مفيد لخدمات المنصة المشتركة.

from:
- namespaceSelector:
    matchLabels:
      team: platform

السماح بـ DNS

من الأخطاء الشائعة أن يمنع المنع الصارم الافتراضي لحركة الخروج DNS أيضًا، مما يؤدي إلى تعطيل تحليل الأسماء. تذكّر السماح بـ UDP/TCP 53 إلى kube-dns.

egress:
- to: []
  ports:
  - protocol: UDP
    port: 53

ما وراء Kubernetes

يحصل مستخدمو Docker على فائدة مشابهة من الشبكات المعرفة من المستخدم: فلا يمكن للحاويات الوصول إلى بعضها إلا إذا كانت على الشبكة نفسها، مما يعزل التطبيقات غير المرتبطة.

docker network create --internal backend

عقلية الثقة الصفرية

تنقلك الشبكات ذات أقل صلاحية نحو مفهوم الثقة الصفرية: افترض أن الشبكة معادية، وصادق كل اتصال وسمح به، ولا تسمح بأي شيء افتراضيًا.

اختبار سريع

ما الاستراتيجية المعقولة للبدء في استخدام سياسات الشبكة؟

مراجعة

يمكنك الآن تقييد حركة المرور بأمان:

  • طبّق المنع الافتراضي، ثم أضف قواعد سماح صريحة
  • تحكم في كل من حركة الدخول والخروج حسب التسمية ومساحة الأسماء
  • تذكّر السماح بـ DNS؛ إذ يلزم وجود CNI يفرض القواعد
  • توفر الشبكات الداخلية في Docker عزلاً مشابهًا

تقلل الشبكات ذات أقل صلاحية نطاق الضرر الناتج عن أي اختراق.

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

هل درس «سياسات الشبكة وشبكات أقل الصلاحيات» مجاني؟

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

ماذا ستتعلم في «سياسات الشبكة وشبكات أقل الصلاحيات»؟

أمّنوا حركة المرور بين الحاويات باستخدام سياسات شبكة تمنع كل شيء افتراضيًا، وقواعد سماح صريحة، ومبدأ أقل الصلاحيات المطبق على الشبكات تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

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

كم من الوقت يستغرق درس «سياسات الشبكة وشبكات أقل الصلاحيات»؟

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

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

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

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

  1. فحص أمان صور الحاويات
  2. أمان الحاويات أثناء التشغيل
  3. إدارة الأسرار وRBAC
  4. سياسات الشبكة وشبكات أقل الصلاحيات
← العودة إلى DevOps Bootcamp