كيفية مواجهة تحديات الأمان بدون خادم Serverless security

اقرأ في هذا المقال


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

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

1. استخدام بوابات API كمخازن للأمان

تتمثل إحدى طرق منع إدخال بيانات الأحداث في التطبيقات بدون خادم في فصل البيانات عن الوظائف باستخدام بوابات نقطة نهاية (HTTPS API)، مع جلب البيانات من مجموعة واسعة من المصادر، ستعمل بوابة (API) كمخزن أمان، مما يؤدي إلى الفصل بين مستخدمي التطبيق على جانب العميل والوظائف التي لا تحتوي على خادم في الواجهة الخلفية.

هذا يقلل من سطح الهجوم من خلال توفير العديد من عمليات التحقق من الأمان باستخدام وكيل عكسي، كما أنه يتيح للمستخدم استخدام نقاط نهاية (HTTP) للاستفادة من بروتوكولات الأمان المضمنة، مثل: تشفير البيانات وإدارة مفاتيح مزوده، مما يساعد على حماية البيانات المخزنة ومتغيرات البيئة والبيانات الحساسة.

ملاحظة: “HTTPS ” اختصار لـ “Hyper Text Transfer Protocol Secure”.

ملاحظة: “API” اختصار لـ “Application Programming Interface”.

2. فصل البيانات والتكوينات الآمنة

لتجنب هجمات (DoW)، يجب على المستخدم اتخاذ بعض الإجراءات، مثل: مسح الكود وفصل الأوامر والاستعلامات وتحديد أي مفاتيح سرية مكشوفة أو مشغلات غير مرتبطة، ثم تكوينها للالتزام بأفضل ممارسات (CSP) للتطبيقات بدون خادم، يجب أيضًا تعيين مهلات الوظيفة على الحد الأدنى لضمان عدم مقاطعة استدعاءات التنفيذ بواسطة مهاجمي (DoS).

التعامل مع المصادقة غير الآمنة للتخفيف من مخاطر المصادقة المعطلة، حيث يحتاج المستخدم إلى تنفيذ العديد من خدمات المصادقة والتحكم في الوصول المتخصصة، لضمان صعوبة اختراق المصادقة، يمكن استخدام حلول التحكم في الوصول الخاصة بـ (CSP)، بما في ذلك (OAuth و OIDC و SAML و OpenID Connect) والمصادقة متعددة العوامل (MFA)، بالإضافة إلى ذلك، يمكن فرض متطلبات وسياسات مخصصة لتعقيد كلمة المرور فيما يتعلق بالطول ونوع الحرف، مما يجعل من الصعب على المتسللين اختراقها.

ملاحظة: “CSP” اختصار لـ “Content Security Policy”.

ملاحظة: “DoS” اختصار لـ “Disk Operating System”.

ملاحظة: “MFA” اختصار لـ “Multi-Factor Authentication”.

3. استخدام أدوات التسجيل و المراقبة

يعد استخدام أدوات التسجيل والمراقبة من الإجراءات الهامة للحصول على رؤية متعمقة لجميع الوظائف داخل تطبيق بدون خادم، لا يكفي الاعتماد فقط على أدوات التسجيل والمراقبة التي يوفرها (CSP)، لأنها لا تغطي الطبقة المطلوبة، لذلك تعتبر هذه مخاطرة كبيرة لأن بيانات التطبيق داخلها تتعرض لهجمات أمنية ويمكن أن تكون بمثابة نقاط دخول محتملة للهجمات إذا لم تتم مراقبتها بطريقة مختلفة.

4. تقليل الامتيازات

أفضل ممارسة لتقليل الامتيازات في الوظائف المستقلة هي فصل الوظائف عن بعضها البعض والحد من تفاعلاتها من خلال توفير إدارة الهوية والوصول (IAM)، يحيث مكن تحقيق ذلك أيضًا من خلال ضمان تشغيل الكود بأقل عدد من الأذونات المطلوبة لأداء الغرض المطلوب بنجاح.

ملاحظة: “IAM” اختصار لـ “Identity and Access Management”.

5. توفير بيئات تطوير مناسبة للتطبيقات المختلفة

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

6. أتمتة الضوابط الأمنية

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

7. تشفير جميع البيانات

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

8. تنفيذ خطة الاستجابة للحوادث

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

9. تنفيذ عملية تسجيل الدخول للتطبيقات بطريقة صحيحة

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

10. وضع استراتيجية أمنية شاملة

يجب على المستخدم أن يضع في اعتباره جميع المخاطر والتحديات التي يمكن أن يواجهها تطبيقه بدون خادم والقيام بإنشاء استراتيجية أمان قوية لتجنب الثغرات الامنية الرئيسية منذ البداية، هناك بعض النصائح المفيدة لتحسين الاستراتيجيات الأمنية، مثل: التحقق من صحة التطبيق وبيانات الإدخال التي تأتي من حركة مرور (HTTP / HTTPS) إلى التطبيق بدون خادم واستكشاف سياسات الأمان الخاصة به وأذونات الوصول بالتفصيل.

11. تدقيق التعليمات البرمجية

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

ملاحظة: “AWS” اختصار لـ “Amazon Web Services“.

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


شارك المقالة: