عندما انضممت لأول مرة إلى هذه الصناعة، اعتقدت أيضًا أن وثائق واجهة برمجة التطبيقات لشبكة CDN عالية الدفاع كانت موضوعة على السطح مثل البضائع في السوبر ماركت، ونتيجة لذلك، داس على الحفرة وداس على الحفرة لأشك في حياتي. مرة واحدة من أجل العثور على واجهة إحصاءات حركة المرور في الوقت الحقيقي، بحثت في كل ركن من أركان الموقع الرسمي لمزود الخدمة، وأخيرًا وجدت مدخلًا مخفيًا في منشور قديم لمنتدى المجتمع في عام 2016 - هذا الشيء مخفي أعمق من جواسيس الحرب الباردة.
إن توزيع مستندات واجهة برمجة التطبيقات لمزودي خدمة CDN السائدة عالية الدفاع في السوق مجزأة للغاية. فالبعض يضع المدخل مباشرةً على الصفحة الرئيسية لوحدة التحكم، والبعض الآخر يحتاج إلى تقديم طلب للحصول على مفتاح واجهة برمجة التطبيقات قبل فتح أذونات المستند، والأكثر فظاعة هو أن بعض البائعين مبعثرون بالفعل في المستند تحت ثلاثة نطاقات فرعية مختلفة. لقد وجدت أن البائعين مثل CDN5 أكثر ذكاءً، وهناك مدخل دائم "مركز المطورين" في الزاوية اليمنى العليا بعد تسجيل الدخول إلى وحدة التحكم، بينما يحتاج CDN07 إلى تمكين الوصول إلى واجهة برمجة التطبيقات في "أمان الحساب" قبل أن يظهر رابط المستند في مركز المساعدة في الزاوية اليسرى السفلى.
لا تثق أبدًا في ما يسمى بـ "مجموعة وثائق واجهة برمجة التطبيقات الأكثر اكتمالاً للشبكة بأكملها" لمواقع الطرف الثالث، فقد رأيت في العام الماضي شخصًا ما إلى مستندات الواجهة القديمة كطفل رضيع لنتائج معلمة حد تكرار المكالمات التي تم تغييرها منذ فترة طويلة من 200 مرة في الدقيقة إلى 50 مرة، مما يؤدي مباشرة إلى الأعمال التجارية عبر الإنترنت من أخطاء الإبلاغ المتكررة. الأكثر موثوقية أو قضم مباشرة على الوثائق الرسمية، على الرغم من أن الأمر يتطلب أحيانًا بعض الجهد للعثور عليه.
وثائق مزود الخدمة الرئيسية للحصول على المعركة الفعلية
أولاً وقبل كل شيء، دعنا نتحدث عن CDN5، يعتبر هذا المستند أكثر ملاءمة للمطورين. بعد تسجيل الدخول إلى وحدة التحكم، لا تحتاج إلى تقديم طلب للحصول على أذونات إضافية، ويمكنك الاطلاع على الوثائق في الوقت الفعلي مباشرةً في صفحة "الأدوات والتكامل" - "إدارة واجهة برمجة التطبيقات". المفتاح هو أنها توفر تنزيل SDK وأدوات تصحيح الأخطاء عبر الإنترنت، ومفتاح واجهة برمجة التطبيقات الجديد في خطوتين:
CDN07 هو التفاف بعض الشيء، عليك أن تجد علامة التبويب "الميزات المتقدمة" في إعدادات أمان الحساب، وعليك التحقق من هاتفك المحمول بعد فتح الوصول إلى واجهة برمجة التطبيقات. يتم توزيع مستنداتها في مكانين: واجهة التكوين الأساسية في "دليل المطورين" في مركز المساعدة، بينما يتم وضع واجهات برمجة التطبيقات المتعلقة بسياسة الأمان بشكل منفصل في قسم "الواجهة المفتوحة" في وحدة التحكم في حماية DDoS - منطق التصميم يشبه المتاهة.
08Host أكثر يأسًا، المستند ليس مفتوحًا للجمهور على الإطلاق، فأنت بحاجة إلى الاتصال بخدمة العملاء للتقدم بطلب للحصول على "أذونات واجهة برمجة التطبيقات الشريكة"، بعد استلام الحزمة المضغوطة المشفرة، ولكن أيضًا لاستخدام مفتاح GPG المقدم لفك التشفير. لقد ساعدت في تكامل العميل العام الماضي عندما انتظرت لمدة ثلاثة أيام كاملة، بعد فك الضغط وجدت أن المستند يحتوي أيضًا على 2018 على معلمات الواجهة المهجورة ...... لذلك إذا كنت ترغب في استخدام واجهة برمجة التطبيقات الخاصة به، فمن المستحسن أن تجد مباشرةً خدمة العملاء الفنية لطلب أحدث إصدار، لا تستخدم تلك الإصدارات المتداولة على الإنترنت.
واجهة برمجة التطبيقات هذه المزالق
العثور على الوثائق هو الخطوة الأولى فقط، وهناك المزيد من الحفر في الاستدعاء الفعلي. فمعظم مزودي خدمة CDN عالية الدفاع تتطلب الآن مصادقة مزدوجة: بالإضافة إلى مفتاح واجهة برمجة التطبيقات يجب إضافة الرمز الديناميكي أيضاً. 08Host خوارزمية التوقيع الخاصة بـ 08Host منحرفة بشكل خاص، تحتاج إلى إجراء تجزئة SHA256 ثلاث مرات بعد ربط الطابع الزمني والمفتاح والمعلمة غير المتصلة:
واجهة إحصائيات حركة المرور هي الأكثر عرضة للمشاكل. بمجرد استدعاء واجهة الاستعلام عن عرض النطاق الترددي لـ CDN07 وفقًا لمثال المستند، كانت نتيجة وحدة بيانات الإرجاع لفترة من الوقت هي Mbps لفترة من الوقت هي Kbps، ووجدت لاحقًا أنه وفقًا للفترة الزمنية لتبديل الوحدة تلقائيًا - لن يتم كتابة هذا النوع من الحفرة المظلمة في المستند، يمكن الاعتماد فقط على تصحيح أخطاء الحزمة.
واجهة الاستعلام عن حالة التنظيف هي أيضًا منطقة كوارث. عند حدوث هجوم DDoS، ستتحول شبكة CDN عالية الدفاع تلقائيًا إلى وضع التنظيف، ولكن حالة كل قيمة إرجاع مختلفة للغاية. يستخدم CDN5 الأرقام من 0-4 للإشارة إلى شدة التنظيف، ويستخدم 08Host مباشرةً سلسلة "خفيف/ثقيل/مفرط"، أما CDN07 فهو أكثر فظاعة - يجب البحث عن إرجاع الرمز السداسي العشري في أقترح تغليف محلل حالة موحد. أقترح تغليف محلل حالة موحد:
يجب سحب السياسة الأمنية بالكامل
في هذه الأيام، حتى شبكات CDN يجب أن تكون "محصنة ضد هجمات الفريق". في العام الماضي كانت هناك حالة قام فيها أحد المهاجمين بتمرير مئات التيرابايتات من حركة المرور عبر واجهة بسبب تسريب مفتاح واجهة برمجة التطبيقات. تأكد من اتباع مبدأ الامتيازات الأقل:
على سبيل المثال، في سيناريو المراقبة الخالصة، يتم منح أذونات الإبلاغ_قراءة فقط، ويتم إنشاء مفتاح منفصل مع أذونات cache_purge فقط لعمليات تحديث ذاكرة التخزين المؤقت.يدعم CDN5 القائمة البيضاء المستندة إلى IP لقيود الوصول إلى واجهة برمجة التطبيقات، ويوصى بأن تكون عناوين IP لخوادم استدعاء واجهة برمجة التطبيقات في بيئة الإنتاج مقيدة جميعها:
لا تقم أبدًا بترميز مفاتيح واجهة برمجة التطبيقات في شيفرة من جانب العميل! لقد رأيت أشخاصًا يكتبون المفتاح في ملف جافا سكريبت، فقط ليتم اكتشافه من قبل الزاحف. الطريقة الصحيحة للقيام بذلك هي ترحيل المكالمة من خلال خدمة خلفية أو استخدام رمز مميز قصير الأجل (مثل الرمز المميز المؤقت الصالح لمدة ساعتين المدعوم من 08Host).
كيفية تتبع تحديثات المستندات
تكون عمليات تكرار واجهة برمجة التطبيقات لشبكات CDN عالية الدفاع أسرع بكثير مما هو متوقع، خاصةً عندما يتعلق الأمر بتقنيات هجوم DDoS الجديدة، حيث يمكن إضافة العديد من معلمات الحماية الجديدة في أسبوع. لدي ثلاث طرق موثوقة
اشترك في سجل التغييرات الرسمي RSS (كل من CDN5 و CDN07 يوفران ذلك)، وشاهد مستودع SDK الخاص بهم على GitHub (تحديثات SDK الخاصة بـ 08Host أكثر تحديثًا من المستندات)، والأكثر ترابية ولكن الأكثر فعالية هو إضافة بعض المجموعات التقنية للبائعين - غالبًا ما ترسل خدمة العملاء الخاصة بهم إشعارات التحديثات أولاً في المجموعات! والأكثر ريفيًا ولكنه الأكثر فعالية هو إضافة عدد قليل من مجموعات التبادل التقني للبائعين - غالبًا ما ترسل خدمة العملاء لديهم إشعارات التحديثات في المجموعة أولاً، وتقوم بتحديث الوثائق كل يومين فقط.
في العام الماضي، عندما غيّر CDN07 فجأةً اسم معلمة "عتبة حماية CC" من cc_level إلى cc_protection_level، ولولا أن أحد أعضاء المجموعة أبلغنا بذلك مسبقًا، لكانت جميع البرامج النصية للتشغيل الآلي لدينا قد تعطلت. لقد اعتدت الآن على التحقق من رقم إصدار الواجهة قبل كل استدعاء لواجهة برمجة التطبيقات:
في التحليل النهائي
إن العثور على مستندات واجهة برمجة التطبيقات لشبكات CDN عالية الدفاع يشبه لعبة البحث عن الكنز، ويختلف موقع خريطة الكنز وطريقة فك تشفيرها اختلافًا كبيرًا من مزود خدمة إلى آخر. ولكن بمجرد أن تتقن كل مجموعة من الطرق، يمكنك دمج قدرات الدفاع العالي بعمق في نظام التشغيل والصيانة الخاص بك - من توسيع السعة التلقائية إلى الاستجابة الطارئة للهجمات، فإن سلسلة الأتمتة الكاملة هي الهدف النهائي.
في الآونة الأخيرة، ساعدت أحد عملاء التجارة الإلكترونية في استخدام واجهة برمجة تطبيقات CDN5 لإنشاء نظام جدولة ذكي: مراقبة حالة التنظيف في الوقت الفعلي، وتحويل الموارد الأساسية الثابتة تلقائيًا إلى عقدة 08Host الاحتياطية في حالة حدوث هجوم على حركة المرور الضخمة. يمكن لهذا النظام أن ينقذ حياتك حقًا في اللحظات الحرجة، وفي الشهر الماضي، كان قادرًا على الصمود أمام هجوم هجين بسرعة 800 جيجابت في الثانية دون أي انقطاع في العمل.
إذا كنت قد بدأت للتو، فمن المستحسن أن تبدأ ببيئة صندوق الرمل الخاص بـ CDN5، والذي يحتوي على رسائل الخطأ الأكثر تفصيلاً وهو سهل الاستخدام نسبياً لتصحيح الأخطاء. تذكّر: وثائق واجهة برمجة التطبيقات ليست كتابًا مقدسًا، ودائمًا ما تكون متخلفة عن الوظيفة الفعلية، حقًا مواجهة المشاكل مباشرةً إلى الدعم الفني أكثر كفاءة من البحث في المستندات - بالطبع، شريطة أن تشتري حزمة خدمة تتضمن حقوق الدعم الفني.

