الدرس 5 من 6

مفردات DevSecOps والامتثال

مفردات DevSecOps والامتثال

8 دقيقة للقراءة

الأمان لم يعد فكرة متأخرة في DevOps — إنه مُدمج في كل مرحلة. يغطي هذا الدرس المفردات الإنجليزية الأساسية لممارسات DevSecOps وأطر الامتثال وكيفية التواصل حول النتائج الأمنية بفعالية.

ما هو DevSecOps؟

DevSecOps = Development + Security + Operations (تطوير + أمان + عمليات). يعني دمج الأمان في كل مرحلة من خط أنابيب DevOps، بدلاً من معاملته كبوابة منفصلة في النهاية.

المفهوم الأساسي هو الإزاحة لليسار في الأمان (shift-left security): نقل فحوصات الأمان إلى مرحلة أبكر (لـ "اليسار") في دورة حياة تطوير البرمجيات.

النهج التقليدي نهج DevSecOps
مراجعة أمنية قبل النشر فحوصات أمان في كل مرحلة من خط الأنابيب
فريق الأمان يجد المشاكل متأخراً المطورون يجدون المشاكل أثناء البرمجة
الإصلاحات مكلفة (الكود منشور بالفعل) الإصلاحات رخيصة (الكود لا يزال في التطوير)
"الأمان مسؤولية شخص آخر" "الأمان مسؤولية الجميع"

مفردات الفحص الأمني

SAST و DAST

المصطلح الاسم الكامل ما يفعله متى يعمل
SAST Static Application Security Testing (اختبار أمان التطبيق الثابت) يفحص الكود المصدري للثغرات بدون تشغيله أثناء التطوير / في خط أنابيب CI
DAST Dynamic Application Security Testing (اختبار أمان التطبيق الديناميكي) يختبر التطبيق قيد التشغيل بمحاكاة الهجمات بعد النشر في بيئة الاختبار

مثال على الاستخدام:

  • "Our SAST tool flagged a SQL injection vulnerability in the login handler."
  • "The DAST scan found an open redirect on the callback URL."

فحص الحاويات

فحص الحاويات يتحقق من صور Docker للثغرات المعروفة في صورها الأساسية وحزمها وتبعياتها.

المصطلح المعنى مثال على الاستخدام
Image scanning (فحص الصورة) تحليل صورة حاوية للثغرات "The image scan found 3 critical CVEs in the base image."
CVE (الثغرات والتعرضات الشائعة) معرف موحد لثغرة أمنية "CVE-2024-1234 affects our nginx version. We need to upgrade."
Base image (الصورة الأساسية) الصورة الابتدائية التي تُبنى منها الحاوية "Switch to a minimal base image to reduce the attack surface."
Attack surface (سطح الهجوم) كل نقاط الدخول الممكنة التي يمكن للمهاجم استغلالها "Using Alpine Linux reduces our attack surface."
Vulnerability score (درجة الثغرة - CVSS) تصنيف شدة من 0-10 للثغرة "This CVE has a CVSS score of 9.8 — it's critical."

إدارة الأسرار

الأسرار (Secrets) هي بيانات حساسة مثل مفاتيح API وكلمات المرور والشهادات والرموز. إدارة الأسرار تتعلق بتخزينها والوصول إليها بأمان.

المصطلح المعنى مثال على الاستخدام
Secret (السر) أي بيانات اعتماد حساسة (مفتاح API، كلمة مرور، شهادة) "Never hardcode secrets in your source code."
Vault (الخزنة) نظام آمن لتخزين الأسرار والوصول إليها (مثل HashiCorp Vault أو AWS Secrets Manager) "Store the database password in Vault, not in environment variables."
Rotation (التدوير) تغيير الأسرار بانتظام للحد من التعرض "We rotate API keys every 90 days."
Leaked secret (سر مُسرَّب) سر تم كشفه عن طريق الخطأ (في الكود أو السجلات أو المستودعات العامة) "GitHub detected a leaked AWS key in our public repo."
Sealed secret (سر مختوم) سر مشفر آمن للتخزين في Git (Kubernetes SealedSecrets) "Use sealed secrets so the config can be committed safely."

عبارات لحوادث الأسرار

  • "We've detected a leaked credential. I'm rotating the key now."
  • "This secret was exposed in the build logs. We need to redact it."
  • "Can we move these environment variables to a secrets manager?"
  • "The API key in the config file should be replaced with a Vault reference."

أمان سلسلة التوريد

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

المصطلح المعنى مثال على الاستخدام
SBOM (قائمة مواد البرمجيات) قائمة كاملة بجميع المكونات في برمجياتك "We generate an SBOM for every release."
Dependency (التبعية) مكتبة طرف ثالث يستخدمها كودك "One of our dependencies has a critical vulnerability."
Supply chain attack (هجوم سلسلة التوريد) هجوم يخترق تبعية أو أداة بناء "The SolarWinds attack was a supply chain attack."
Pinning (التثبيت) قفل تبعية على إصدار محدد معروف بالسلامة "Pin the Terraform provider to version 4.67.0."
Signed image (صورة موقعة) صورة حاوية بتوقيع تشفيري يتحقق من مصدرها "Only deploy signed images from our trusted registry."
Provenance (المصدر) معلومات قابلة للتحقق حول كيف وأين بُنيت البرمجيات "The build provenance confirms this artifact was built in our CI pipeline."

مفردات الامتثال

SOC 2 للبنية التحتية

SOC 2 هو إطار امتثال يُطلب عادةً من العملاء المؤسسيين. يركز على خمسة "معايير خدمة الثقة":

المعيار ما يغطيه الصلة بـ DevOps
Security (الأمان) الحماية ضد الوصول غير المصرح الجدران النارية، IAM، التشفير، سياسات الشبكة
Availability (التوفر) وقت تشغيل وموثوقية النظام SLA، المراقبة، استعادة الكوارث
Processing Integrity (سلامة المعالجة) معالجة بيانات دقيقة وكاملة التحقق من البيانات، معالجة الأخطاء
Confidentiality (السرية) حماية البيانات الحساسة التشفير أثناء التخزين والنقل، ضوابط الوصول
Privacy (الخصوصية) كيف تُجمع البيانات الشخصية وتُستخدم سياسات الاحتفاظ بالبيانات، الامتثال لـ GDPR

مفردات تدقيق الامتثال

المصطلح المعنى مثال على الاستخدام
Audit (التدقيق) فحص رسمي للعمليات والضوابط "We have a SOC 2 audit scheduled for next quarter."
Control (الضابط) إجراء وقائي أو تدبير مضاد "MFA is a control that protects against unauthorized access."
Evidence (الدليل) إثبات أن الضابط يعمل "We need to provide evidence of our access review process."
Finding (النتيجة) مشكلة تم تحديدها أثناء التدقيق "The auditors had a finding about our password policy."
Remediation (المعالجة) إصلاح مشكلة وُجدت أثناء التدقيق "We need to remediate this finding before the audit closes."
Attestation (الشهادة) إعلان رسمي بأن الضوابط مطبقة "Our SOC 2 Type II attestation covers the last 12 months."

IAM (إدارة الهوية والوصول)

IAM يتحكم في من يمكنه الوصول إلى ماذا في بنيتك التحتية. المفردات الأساسية:

المصطلح المعنى مثال على الاستخدام
Principal (الكيان) كيان (مستخدم، خدمة، دور) يمكنه طلب الوصول "The Lambda function's principal needs S3 read access."
Policy (السياسة) وثيقة تحدد الأذونات "Attach the read-only policy to the monitoring role."
Role (الدور) مجموعة أذونات يمكن لكيان تبنّيها "The CI pipeline assumes the deploy role."
Least privilege (الحد الأدنى من الصلاحيات) منح الحد الأدنى فقط من الأذونات المطلوبة "This role has admin access — we need to scope it down to least privilege."
MFA (المصادقة متعددة العوامل) طلب شكل ثانٍ من التحقق "MFA is required for all console access."
Service account (حساب الخدمة) هوية غير بشرية تستخدمها التطبيقات "Create a dedicated service account for the backup job."

مفردات أمان Kubernetes

المصطلح المعنى مثال على الاستخدام
Network policy (سياسة الشبكة) قواعد تتحكم في اتصال Pod-to-Pod "Add a network policy to block traffic from the public namespace."
Pod security (أمان Pod) ضوابط تُقيد ما يمكن للـ Pods فعله (التشغيل كـ root، تركيب مجلدات، إلخ.) "Our pod security policy prevents containers from running as root."
RBAC (التحكم بالوصول المبني على الأدوار) نظام تفويض Kubernetes "Grant the developer team RBAC access to the staging namespace only."
Security context (سياق الأمان) إعدادات أمان على مستوى Pod "Set the security context to read-only root filesystem."
Admission controller (متحكم القبول) مكون Kubernetes يتحقق من الطلبات أو يعدلها "The admission controller rejected the deployment because it lacks resource limits."

مناقشة النتائج الأمنية مع المطورين

التواصل حول المشاكل الأمنية بفعالية يتطلب توازناً بين الإلحاح والتعاون:

التواصل الأمني الفعال

الموقف العبارة الفعالة
الإبلاغ عن ثغرة "I found a [severity] vulnerability in [component]. Here's the risk: [explanation]. Recommended fix: [solution]."
طلب إصلاح "Can we prioritize fixing CVE-XXXX? It allows [attack type] and affects our production images."
شرح لماذا مهم "If this is exploited, an attacker could [specific impact]. Here's how we can fix it in about [time]."
اقتراح منع "To prevent this in the future, let's add [SAST/container scanning/policy] to the pipeline."
تقديم المساعدة "I've prepared a PR with the fix. Would you like to review it together?"
تقدير الجهد "Thanks for fixing that quickly. The security posture of this service is much stronger now."

عبارات يجب تجنبها

تجنب لماذا البديل الأفضل
"This is a security violation" تبدو اتهامية "This configuration doesn't meet our security requirements"
"You need to fix this immediately" تخلق حالة دفاعية "This is a critical finding — can we prioritize a fix this sprint?"
"This should never have been deployed" تلوم المطور "Let's add a pipeline check so this is caught before deployment"
"Your code is insecure" هجوم شخصي "There's a vulnerability pattern in this code — here's how to address it"

الأمان جهد جماعي. أفضل مهندسي DevSecOps يجعلون المطورين يشعرون بالتمكين، ليس بالمراقبة.

التالي: كتابة كتيبات التشغيل والتحليلات البعدية وتوثيق IaC

:::

اختبار

اختبار مفردات DevSecOps والامتثال

خذ الاختبار