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

كيف حالك تأمين API الخاص بك?


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

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

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

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

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

لكن أول الأشياء أولاً. ��

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

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

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

خسارة تجارية

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

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

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

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

فقدان السمعة

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

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

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

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

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

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

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

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

مكاسب المنافس

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

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

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

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

HTTPS دائمًا

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

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

تجزئة كلمة المرور أحادية الاتجاه

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

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

مصادقة قوية

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

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

تطبيق تحديد المعدل

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

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

التحقق من المدخلات

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

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

فرض تصفية عنوان IP ، إن أمكن

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

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

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

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

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

ميتاسبلويت

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

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

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

Cloudflare

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

نتسبركر

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

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

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

SoapUI Pro

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

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

Trustwave

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

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

كما أنهم يفتخرون بفريق قوي من الباحثين الأمنيين الذين يقومون باستمرار بتحديث قدرات الخدمة. إذا كنت كبيرًا في الامتثال ، فإن Trustwave هو حل جيد.

إذا كنت تعيش بالأرقام وترغب في الاستمتاع بميزات مثل الرد على التهديد ، وإعادة تشغيل الاختبارات بنقرة واحدة بعد الإصلاحات ، وما إلى ذلك ، فلا مزيد من البحث!

هناك لا نقص من أدوات أمان API المتوفرة في السوق ، سواء كانت مفتوحة المصدر أو مجانية أو تجارية أو أي مزيج من هذه. لا تتردد في استكشاف المزيد ، وإذا وجدت شيئًا أفضل ، فالرجاء كتابة ذلك في التعليقات وسأكون سعيدًا لإدراجه! ��

العلامات:

  • API

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map