الأخبار التكنولوجية والاستعراضات والنصائح!

لماذا وكيف أقوم بتأمين نقطة نهاية API؟

كيف تقوم بتأمين API الخاص بك؟

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

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

ليس مشهدًا جميلًا على الإطلاق ، إذا سألتني.

المصدر: developer.ibm.com

وغني عن القول ، إن المخاطر كبيرة ، كما ندرك فقط عندما يحدث شيء رهيب حقًا.

لكن من يأتي أولاً يخدم أولاً. 🙂

لماذا نقاط نهاية API الآمنة؟

هذا ينبغي أن يكون سهلا، أليس كذلك؟

نحن بحاجة إلى تأمين نقاط النهاية لأن هذا ما يعتمد عليه العمل التجاري.

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

خسارة العمل 📉

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

تخيل انخفاض صرف العملات لبضع دقائق!

قضايا الامتثال

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

فقدان السمعة

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

حتى في حالة عدم حدوث خسارة فعلية للبيانات أو الأموال ، حظًا سعيدًا في محاولة إقناع عملائك القذرين. 🙂

فواتير البنية التحتية المتضخمة 💰

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

في الأنظمة الأساسية التي يتم فيها تمكين التوسع التلقائي للموارد (مثل AWS) ، يمكن أن تكون النتائج مروعة (خارج الموضوع ، ولكن إذا واجهتك مشكلة مثل هذا على AWS ، فهم يفهمون الموقف تمامًا ويتنازلون على الفور عن فاتورة متضخمة – على الأقل في وقت كتابة هذا التقرير!).

معنويات الفريق

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

إذا حدث هذا وقتًا كافيًا ، فستكون لديك ثقافة بين يديك ستندم على السماح لها بالتطور.

أرباح المنافس

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

بشكل عام ، هناك عواقب للانتهاكات الأمنية تتجاوز خسارة الأموال.

أفضل الممارسات لتأمين نقاط نهاية API

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

HTTPS دائمًا 🔒

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

لذلك اجعل https دائمًا الخيار الوحيد المتاح. بغض النظر عن مدى تافهة نقطة النهاية ، لا ينبغي أن يكون الاتصال عبر http خيارًا. شهادات TLS لا تكلف الكثير ؛ يمكنك شراء ما لا يقل عن 20 دولارًا من متجر SSL.

لماذا وكيف أقوم بتأمين نقطة نهاية API؟ 1

طريقة واحدة لتجزئة كلمة المرور

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

البديل الوحيد المقترح هو خوارزميات التشفير غير المتماثلة (أو “أحادية الاتجاه”) لتخزين كلمات المرور. بهذه الطريقة ، لن يتمكن أي مهاجم أو أي مطور أو مسؤول نظام داخل الشركة من قراءة كلمات مرور العميل.

مصادقة قوية 💪

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

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

تطبيق سقف السعر

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

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

تحقق من صحة بيانات الإدخال

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

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

تطبيق تصفية عنوان IP ، إن أمكن

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

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

أدوات لزيادة حماية API

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

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

لماذا وكيف أقوم بتأمين نقطة نهاية API؟ 2

Metasploit هو إطار عمل مفتوح المصدر شائع للغاية لاختبار اختراق تطبيقات الويب وواجهات برمجة التطبيقات. يمكنه فحص واجهة برمجة التطبيقات (API) الخاصة بك على العديد من المعلمات المختلفة وإجراء تدقيق أمني شامل لمستويات مختلفة من الثغرات الأمنية.

على سبيل المثال ، يمكن أن يخبرك الفحص الأمني ​​الذي تقوم به Metasploit ما إذا كانت تواقيع API الخاصة بك تتخلى عن التقنيات الأساسية ونظام التشغيل أم لا ؛ إخفاء هذا غالبًا ما يكون نصف المعركة التي يتم كسبها في أمان واجهة برمجة التطبيقات.

لماذا وكيف أقوم بتأمين نقطة نهاية API؟ 3

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

AppTran

تقدم ميزات حماية API المخصصة لـ AppTrana حلاً شاملاً قائمًا على المخاطر للحماية من مجموعة واسعة من تهديدات واجهة برمجة التطبيقات ، بما في ذلك OWASP API أعلى 10 وهجمات DDoS و bot المستندة إلى API والتهديدات المضمنة وتسرب البيانات وما إلى ذلك. مع قلم يدوي. الاختبار ، فإنه يراقب باستمرار درجة المخاطر الخاصة بك لتقوية وضعك الأمني.

تضمن حماية API لـ AppTrana الحل الأكثر شمولاً مع مزيج من اكتشاف المخاطر واكتشاف التهديدات API وسياسات الأمان الإيجابية لواجهة برمجة التطبيقات وسياسات DDoS الخاصة بواجهة برمجة التطبيقات ووحدات الروبوت الخاصة بواجهة برمجة التطبيقات ووظائف اكتشاف واجهة برمجة التطبيقات.

لماذا وكيف أقوم بتأمين نقطة نهاية API؟ 4

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

باستخدام Indusface AppTrana ، يمكنك إنشاء سياسات مخصصة خاصة بواجهة برمجة التطبيقات لمنع إساءة استخدام واجهة برمجة التطبيقات في الوقت الفعلي.

كلاود فلير

ليس فقط CDN ولكن Cloudflare يقدم الكثير من ميزات الأمان مثل WAF ، والحد من المعدل ، وحماية DDoS والتي ستكون ضرورية لتأمين واجهة برمجة التطبيقات الخاصة بك من التهديدات عبر الإنترنت.

لماذا وكيف أقوم بتأمين نقطة نهاية API؟ 5

إنفيكتى

يأتي Invicti مع USP لـ “المسح القائم على الإثبات”. بعبارات أبسط ، من الممكن غالبًا تفسير ظروف الشبكة غير المنتظمة أو بعض سلوك واجهة برمجة التطبيقات الأقل شهرة على أنها ثغرات أمنية ، والتي تبين لاحقًا أنها غير صحيحة.

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

لماذا وكيف أقوم بتأمين نقطة نهاية API؟ 6

مع وجود شركات مثل Sony و Religare و Coca-Cola و Huawei وما إلى ذلك ، في قائمة عملائها ، يمكنك التأكد من أن هؤلاء الأشخاص يفعلون شيئًا صحيحًا. 🙂

SoapUI Pro

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

لماذا وكيف أقوم بتأمين نقطة نهاية API؟ 7

يمكن لـ SoapUI العمل مع Swagger و OAS ومعايير API الشائعة الأخرى ، مما يقلل بشكل كبير من وقت بدء التشغيل. مع عملاء مثل Microsoft و Cisco و MasterCard و Oracle وما إلى ذلك ، وخطط تبدأ من 659 دولارًا سنويًا ، فهذه أداة جديرة بواجهات برمجة تطبيقات أكثر أمانًا.

ثماني

لماذا وكيف أقوم بتأمين نقطة نهاية API؟ 8

جرب Okta لتمكين مطوريك من التركيز على تحسين تجربة المستخدم مع تأمين بيانات شركتك بشكل فعال. يوفر ترخيص OAuth 2.0 وهو مصمم لكل من تطبيقات الجوال والويب. كما أنه متوافق مع خدمات إدارة واجهة برمجة التطبيقات التابعة لجهات خارجية.

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

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

يسهل الإدارة المركزية لواجهات برمجة التطبيقات ويسمح لك بحماية موارد API. يركز Okta على الأمان من خلال السماح لك بحماية الوصول بين الخدمات الصغيرة المختلفة.

استنتاج

لا يوجد نقص في أدوات أمان API المتوفرة في السوق ، سواء كانت مفتوحة المصدر أو مجانية أو تجارية أو مزيجًا من هذه الأدوات.

جرب بعضًا منهم من القائمة واعرف ما هو الأفضل لمتطلباتك.