0Pricing
Cloud & IT Cert Prep · درس

أمان الحوسبة عديمة الخوادم والدوال

حدّدوا سطح الهجوم الفريد للدوال عديمة الخوادم (أدوار IAM ذات الامتيازات المفرطة، وحقن الأحداث، ومخاطر التبعيات)، وطبّقوا ضوابط أقل امتياز والتحقق من المدخلات.

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

ما الحوسبة عديمة الخوادم؟

تتيح الحوسبة عديمة الخوادم (الوظائف كخدمة، FaaS) للمطورين نشر وظائف فردية تُستدعى بواسطة الأحداث — مثل طلبات HTTP، ورسائل قوائم الانتظار، ومشغلات قواعد البيانات، والمؤقتات المجدولة — من دون إدارة الخوادم الأساسية. ومن أبرز المنصات AWS Lambda وGoogle Cloud Functions وAzure Functions. يتولى موفر الخدمة السحابية إدارة التحديثات والتوسعة والبنية التحتية. وعلى الرغم من أن ذلك يقلل العبء التشغيلي، فإنه يغير نموذج مسؤولية الأمان: فالموفر يؤمّن بيئة التشغيل، بينما يكون المطور وحده مسؤولًا عن شفرة الوظيفة، والصلاحيات، والإعدادات.

سطح الهجوم الفريد للحوسبة عديمة الخوادم

تقدم الوظائف عديمة الخوادم سطح هجوم مميزًا مقارنة بالتطبيقات التقليدية: فهي عادةً قصيرة العمر (من ثوانٍ إلى دقائق)، مما يجعل أدوات EDR التقليدية ومراقبة الشبكة أقل فاعلية؛ كما أنها مدفوعة بالأحداث، أي إن العديد من مصادر الإدخال المختلفة (أحداث S3 وAPI Gateway وSNS) يمكنها تشغيلها؛ وغالبًا ما تعمل باستخدام صلاحيات IAM التي تتيح الوصول إلى موارد سحابية أخرى؛ كما أنها تستهلك تبعيات تابعة لجهات خارجية (حزم npm وpip) قد تحتوي على شفرة خبيثة. ويتحدد سطح الهجوم من خلال مدخلات الأحداث، وصلاحيات IAM، وسلاسل الثقة الخاصة بالتبعيات.

أدوار IAM المفرطة في الصلاحيات: التهديد الأكبر

تتمثل أكثر ثغرات الأمان شيوعًا في الحوسبة عديمة الخوادم في أدوار IAM المفرطة في الصلاحيات. فعندما يحتاج المطورون إلى تمكين وظيفة من الوصول إلى حاوية S3 واحدة، قد يميلون إلى منحها s3:* (وصولًا كاملًا إلى S3) لتجنب أخطاء الصلاحيات. ويمكن لوظيفة مخترقة أو عرضة للثغرات تحمل هذا الدور أن تقرأ أي حاوية في الحساب أو تكتب فيها أو تحذفها. ويتمثل الدفاع في تطبيق أدوار IAM ذات أقل قدر من الصلاحيات بصرامة: إذ ينبغي أن يكون لكل وظيفة دور مخصص لا يمنح إلا الحد الأدنى من الصلاحيات اللازمة لتنفيذ مهام تلك الوظيفة المحددة. وتحدد أدوات مثل AWS IAM Access Analyzer وCloudsplaining أدوار Lambda المفرطة في الصلاحيات تلقائيًا.

# IAM policy: least privilege for specific Lambda function
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Action': ['s3:GetObject'],
    'Resource': 'arn:aws:s3:::my-specific-bucket/uploads/*'
  }]
}

هجمات حقن الأحداث

يحدث حقن الأحداث عندما تُعالج البيانات التي يتحكم فيها المهاجم داخل حمولة الحدث بطريقة غير آمنة من جانب شفرة الوظيفة. وبما أن الوظائف عديمة الخوادم يمكن تشغيلها من مصادر أحداث متعددة — مثل ترويسات HTTP، ومعلمات الاستعلام، وسجلات تغييرات قواعد البيانات، وأجسام رسائل قوائم الانتظار، ومحتوى البريد الإلكتروني — فيمكن لأي منها حمل حمولة خبيثة. وتشمل أنواع الحقن الشائعة: حقن SQL إذا استعلمت الوظيفة قاعدة بيانات باستخدام بيانات الحدث، وحقن NoSQL (عوامل MongoDB داخل حمولات JSON)، وحقن الأوامر إذا استُخدمت بيانات الحدث في أوامر نظام التشغيل، وSSRF (تزوير الطلبات من جانب الخادم) إذا جرى جلب عناوين URL من بيانات الحدث. ويُعد التحقق من المدخلات والاستعلامات ذات المعلمات من وسائل الدفاع الأساسية.

# Vulnerable: event data used directly in shell command
# const filename = event.filename;
# exec('convert ' + filename + ' output.jpg');

# Safe: validate and sanitize input
# const filename = path.basename(event.filename);
# if (!/^[a-z0-9_-]+\.(jpg|png)$/i.test(filename)) throw new Error('Invalid');
# execFile('convert', [filename, 'output.jpg']);

مخاطر التبعيات: الحزم التابعة لجهات خارجية

تعتمد الوظائف عديمة الخوادم كثيرًا على عشرات الحزم التابعة لجهات خارجية. وتُدخل هذه التبعيات مخاطر على سلسلة التوريد: إذ يمكن لحزمة خبيثة أو مخترقة تنفيذ شفرة عشوائية داخل بيئة تنفيذ الوظيفة، والوصول إلى متغيرات البيئة (التي غالبًا ما تحتوي على أسرار)، وإنشاء اتصالات شبكة صادرة، واستخدام دور IAM الخاص بالوظيفة للوصول إلى الموارد السحابية. وتوضح هجمات بارزة مثل اختراق حزمة event-stream الخاصة بـ npm (عام 2018)، إلى جانب حزم انتحال أسماء الحزم العديدة، حجم هذا الخطر. وتشمل وسائل الدفاع تثبيت التبعيات، وفحص SCA ضمن CI/CD، وتقليل عدد التبعيات إلى الحد الأدنى.

الأسرار في الحوسبة عديمة الخوادم: متغيرات البيئة

غالبًا ما تتلقى الوظائف عديمة الخوادم الأسرار عبر متغيرات البيئة المُعدّة في وحدة التحكم السحابية. وتكون متغيرات البيئة هذه مرئية لكل من يملك وصول IAM إلى إعدادات Lambda، كما يمكن لأي شفرة تعمل داخل الوظيفة الوصول إليها. وتشمل أفضل الممارسات ما يلي: تجنب تخزين الأسرار مباشرةً في متغيرات البيئة كنص واضح؛ وبدلًا من ذلك، خزّن ARNs أو أسماء الأسرار واسترجع الأسرار أثناء التشغيل من AWS Secrets Manager أو Parameter Store؛ ومكّن تشفير KMS لمتغيرات بيئة Lambda أثناء التخزين؛ ولا تسجل متغيرات البيئة أبدًا (إذ إن العديد من أدوات تسجيل التصحيح تفرغ جميع متغيرات البيئة عند حدوث خطأ).

# Retrieve secret at runtime instead of hardcoding
# Using AWS SDK in Lambda
# const secretsClient = new SecretsManagerClient({});
# const response = await secretsClient.send(
#   new GetSecretValueCommand({ SecretId: 'prod/myapp/db-password' })
# );
# const dbPassword = response.SecretString;

حدود مهلة الوظائف والتزامن

يمكن أن يأخذ حجب الخدمة ضد الوظائف عديمة الخوادم شكل إغراق بالاستدعاءات — إذ قد يستنفد المهاجم القادر على تشغيل وظيفة مرارًا حد التزامن الخاص بالحساب (الافتراضي في Lambda هو 1,000 عملية تنفيذ متزامنة لكل منطقة)، مما يمنع الوظائف الأخرى في الحساب من التنفيذ. وينبغي للوظائف التي تعالج مدخلات يتحكم فيها المستخدم تطبيق تحديد معدل الطلبات على مستوى API Gateway، والتحقق من حدود حجم الحمولة، وتعيين قيم مهلة زمنية مناسبة لمنع عمليات التنفيذ التي تستمر بلا توقف. كما يمكن استهداف الوظائف بهجمات توسعة على نمط Billion Laughs عند تحليل XML أو YAML إذا لم يُحدَّد حجم الإدخال.

# AWS Lambda: set reserved concurrency to prevent account-wide DoS
aws lambda put-function-concurrency \
  --function-name my-api-handler \
  --reserved-concurrent-executions 100

تكامل VPC وعزل الشبكة

تعمل وظائف AWS Lambda افتراضيًا داخل VPC تديرها AWS، مع إمكانية الوصول إلى الإنترنت ولكن من دون الوصول إلى الموارد الموجودة في VPC الخاصة بك (مثل قواعد بيانات RDS وElastiCache وواجهات API الخاصة). وللوصول إلى الموارد الخاصة، يجب إعداد Lambda لتعمل داخل VPC الخاص بك، مع تحديد الشبكات الفرعية ومجموعات الأمان. ومع ذلك، لا تتمتع وظائف Lambda المرتبطة بـVPC بإمكانية الوصول إلى الإنترنت افتراضيًا — فهي تحتاج إلى NAT Gateway للإنترنت الصادر. وينبغي أن تتبع مجموعات الأمان المرتبطة بوظائف Lambda قواعد أقل قدر من الصلاحيات: السماح بالمنافذ والوجهات المحددة المطلوبة فقط. تجنب استخدام قواعد الصادر 0.0.0.0/0 في مجموعات أمان وظائف الإنتاج.

مراقبة الوظائف عديمة الخوادم

تتطلب مراقبة أمان الحوسبة عديمة الخوادم أساليب مختلفة عن مراقبة المضيفات التقليدية. ونظرًا إلى أن الوظائف مؤقتة، فإن وكلاء المراقبة المستندة إلى المضيف غير عملية. وتشمل المراقبة الفعالة ما يلي: استخدام AWS CloudTrail لتسجيل جميع استدعاءات Lambda لواجهة API (الاستدعاءات، وتغييرات الإعداد، وافتراض الأدوار)؛ واستخدام CloudWatch Logs Insights للاستعلام عن سجلات تنفيذ الوظائف بحثًا عن أنماط شاذة؛ واستخدام Amazon GuardDuty لاكتشاف التهديدات، بما في ذلك نشاط الشبكة غير المعتاد الخاص بـLambda؛ واستخدام أدوات الأمان التجارية الأصلية للحوسبة عديمة الخوادم، مثل Protego (التي أصبحت الآن جزءًا من Check Point) أو مراقبة الحوسبة عديمة الخوادم من Datadog، التي تراقب الوظائف عبر الطبقات لتوفير رؤية أثناء التشغيل.

# Query CloudWatch Logs for Lambda errors and anomalies
aws logs start-query \
  --log-group-name '/aws/lambda/my-function' \
  --start-time $(date -d '-1 hour' +%s) \
  --end-time $(date +%s) \
  --query-string 'fields @timestamp, @message | filter @message like /ERROR|WARN|credential/'

اختبار أمان الحوسبة عديمة الخوادم

يتطلب اختبار أمان الحوسبة عديمة الخوادم أدوات متخصصة: يفحص كل من PureSec CLI (التي أصبحت الآن تابعة لـCheck Point) وProwler إعدادات السحابة بحثًا عن أخطاء إعداد الحوسبة عديمة الخوادم؛ ويمكن لأدوات DAST اختبار الوظائف التي تُشغَّل عبر HTTP بحثًا عن ثغرات الحقن؛ كما يكشف التحليل الساكن لشفرة الوظائف باستخدام أدوات مثل Bandit (Python) أو إضافات الأمان لـESLint أنماط البرمجة غير الآمنة؛ وينبغي أن يحصر الاختبار اليدوي جميع مصادر الأحداث القادرة على تشغيل كل وظيفة، ثم يختبر كل مصدر بحمولات مشوهة وخبيثة. ويوفر OWASP Serverless Top 10 قائمة تحقق شاملة بالثغرات الخاصة ببنى الحوسبة عديمة الخوادم.

# Prowler: check Lambda security posture
prowler aws --service lambda
# Checks: public URL, over-privileged roles, unencrypted env vars,
# outdated runtime, missing VPC config, excessive timeout

المسؤولية المشتركة في الحوسبة عديمة الخوادم

تدفع الحوسبة عديمة الخوادم نموذج المسؤولية المشتركة بدرجة أكبر نحو موفر الخدمة. ويتحمل موفر الخدمة السحابية مسؤولية: بيئة تشغيل الوظيفة، وتصحيحات نظام التشغيل، وأمان البنية التحتية الأساسية، والمنشآت المادية. بينما يظل العميل مسؤولًا عن: أمان شفرة الوظيفة، وتصميم صلاحيات IAM، وإدارة الأسرار، والتحقق من المدخلات، وإدارة التبعيات، وإعداد التسجيل، وسياسات الشبكة. ولا تعني المسؤولية الأقل عن البنية التحتية مسؤولية أمنية أقل — بل تعني فقط انتقال موضع تركيز الاستثمار الأمني، ليتركز أساسًا على أمان مستوى التطبيق وIAM.

تحقق سريع

اختبر مدى فهمك لمفاهيم CompTIA Security+ (SY0-701) الواردة في هذا الدرس.

مراجعة الدرس

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

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

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

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

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

حدّدوا سطح الهجوم الفريد للدوال عديمة الخوادم (أدوار IAM ذات الامتيازات المفرطة، وحقن الأحداث، ومخاطر التبعيات)، وطبّقوا ضوابط أقل امتياز والتحقق من المدخلات. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟

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

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

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

هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟

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

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

  1. أمان الحاويات: تقوية الصور والحماية أثناء التشغيل
  2. أمان Kubernetes: RBAC وسياسات الشبكة وأمان Pod
  3. أمان الحوسبة عديمة الخوادم والدوال
  4. فحص أمان البنية التحتية باعتبارها شيفرة
← العودة إلى Cloud & IT Cert Prep