0Pricing
Cyber Security Academy · درس

تأمين مسارات CI/CD

تقوية مسار البناء والإصدار.

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

خط CI/CD بوصفه هدفًا

يملك خط CI/CD صلاحيات واسعة للوصول إلى الشيفرة المصدرية والأسرار وبيئة الإنتاج. ويتيح اختراقه للمهاجم زرع أبواب خلفية في كل عملية بناء مستقبلية مع تجاوز مراجعة الشيفرة. لذلك فهو أحد أعلى الأهداف قيمة في هندسة البرمجيات الحديثة.

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

مدخلات غير موثوقة في عمليات البناء

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

  • قد يحاول تعريف مسموم لخط الأنابيب في نسخة متفرعة استخراج الأسرار
  • قد تعمل الشيفرة غير الموثوقة بالصلاحيات نفسها التي تستخدمها عمليات البناء الموثوقة

افصلوا بين عمليات سير العمل الموثوقة وغير الموثوقة: لا تكشفوا الأسرار للمهام التي تشغلها طلبات سحب خارجية.

ثبّتوا الإجراءات والصور

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

# BAD: mutable tag can be moved under you
uses: some/action@v3

# GOOD: pinned to an immutable commit SHA
uses: some/action@a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0

# pin container steps by digest too
image: build-tools@sha256:9f86d081884c7d659a2feaa0c55ad015...

أقل قدر من الصلاحيات للرموز

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

# scope the default token to read-only, grant more only where needed
permissions:
  contents: read

jobs:
  publish:
    permissions:
      contents: read
      packages: write   # only this job can publish

الممارسات السليمة للتعامل مع الأسرار

تمثل الأسرار المضمّنة في الشيفرة أو المتاحة على نطاق واسع أحد المسارات الرئيسية للتسريب. طبّقوا ضوابط صارمة:

  • خزّنوا الأسرار في مدير أسرار أو في مخزن أسرار CI، ولا تضعوها في الشيفرة أبدًا
  • فضّلوا الربط الاتحادي عبر OIDC قصير الأجل على مفاتيح السحابة الثابتة
  • أخفوا الأسرار في السجلات وامنعوا طباعتها فيها
  • احصروا كل سر في الحد الأدنى من المهام والبيئات

يتيح الربط الاتحادي عبر OIDC لخط الأنابيب استبدال هوية وقت البناء ببيانات اعتماد سحابية قصيرة الأجل، مما يلغي المفاتيح طويلة الأجل تمامًا.

بيئات تنفيذ مؤقتة ومعزولة

قد تحمل بيئة تنفيذ بناء معاد استخدامها برمجيات ضارة أو أسرارًا مسرّبة من مهمة إلى أخرى. تُنشأ بيئات التنفيذ المؤقتة من جديد لكل مهمة ثم تُحذف بعدها، ولذلك لا يستمر أي شيء.

  • بيئة نظيفة واحدة لكل عملية بناء، ثم تُتلف
  • لا توجد حالة مشتركة بين المهام الموثوقة وغير الموثوقة
  • يُقيَّد خروج الشبكة إلى نقاط النهاية المطلوبة فقط

يدعم ذلك مباشرةً أهداف العزل في SLSA L3.

احموا فرع المصدر

تبدأ ثقة خط الأنابيب من نظام التحكم في المصدر. فإذا كان بإمكان أي شخص الدفع إلى فرع الإصدار، فلن يكون للتوقيع والفحص في المراحل اللاحقة جدوى.

  • اطلبوا مراجعة طلب السحب قبل الدمج
  • افرضوا الـ commits الموقعة على الفروع المحمية
  • اشترطوا اجتياز فحوص الحالة، مثل الاختبارات والفحوص الأمنية
  • امنعوا الدفع القسري والدفع المباشر إلى main
# require signed commits on a branch
git config commit.gpgsign true

# verify a commit signature locally
git verify-commit HEAD

أجروا الفحص داخل خط الأنابيب

أدرجوا بوابات الأمان مباشرةً في CI، بحيث تؤدي المشكلات إلى فشل عملية البناء بدلًا من وصولها إلى الإنتاج.

# secret leak detection
gitleaks detect --source . --redact

# dependency vulnerabilities
osv-scanner --lockfile=package-lock.json

# IaC and config misconfig
trivy config .

# fail the job on critical findings (non-zero exit stops CI)

تحكم الشخصين في الإصدارات

تستحق الإجراءات عالية التأثير بوابة موافقة بشرية. وينبغي أن تتطلب عمليات النشر إلى الإنتاج وتغييرات بيانات الاعتماد موافقة شخص آخر غير صاحب التغيير.

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

يحد ذلك من مخاطر المطلعين ومن نطاق الضرر الناتج عن اختراق حساب واحد.

التدقيق وكشف العبث

يجب أن تتمكنوا من إعادة بناء ما نفذه خط الأنابيب. ركّزوا سجلاته واحموها.

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

قائمة التحقق لتحصين خط الأنابيب

يجمع خط الأنابيب القابل للدفاع عنه ضوابط المصدر والبناء والإصدار:

  • حماية الفروع، وcommits موقعة ومراجَعة
  • إجراءات وصور مثبتة باستخدام الملخص
  • رموز OIDC قصيرة الأجل بأقل قدر من الصلاحيات
  • بيئات تنفيذ مؤقتة ومعزولة
  • فحص الأسرار والتبعيات والإعدادات داخل خط الأنابيب
  • موافقة شخصين على الإصدار
  • عناصر برمجية موقعة وSBOM وإثبات منشأ مع تسجيل تدقيق

تحقق سريع: صلاحيات الرموز

قرروا الضابط المناسب لرمز بناء ذي صلاحيات واسعة.

مراجعة: تأمين خطوط CI/CD

تعلمتم كيفية تحصين مسار البناء والإصدار بأكمله.

  • عاملوا خط الأنابيب بوصفه بيئة إنتاج؛ إذ يمكنه زرع أبواب خلفية في كل عملية بناء مستقبلية
  • اعزلوا عمليات بناء طلبات السحب غير الموثوقة عن الأسرار
  • ثبّتوا الإجراءات والصور باستخدام الملخص؛ واستخدموا رموز OIDC قصيرة الأجل بأقل قدر من الصلاحيات
  • استخدموا بيئات تنفيذ مؤقتة ومعزولة واحموا فرع المصدر
  • أجروا الفحص داخل خط الأنابيب، واشترطوا موافقة شخصين على الإصدار واحتفظوا بسجلات تدقيق تكشف العبث

اكتملت الدورة: يمكنكم الآن تأمين سلسلة توريد البرمجيات من البداية إلى النهاية.

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

هل درس «تأمين مسارات CI/CD» مجاني؟

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

ماذا ستتعلم في «تأمين مسارات CI/CD»؟

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

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

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

كم من الوقت يستغرق درس «تأمين مسارات CI/CD»؟

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

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

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

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

  1. تهديدات سلسلة التوريد
  2. قائمة مكونات البرمجيات (SBOM)
  3. توقيع الاعتماديات والآثار البرمجية
  4. تأمين مسارات CI/CD
← العودة إلى Cyber Security Academy