حماية Azure OpenAI باستخدام Azure Web Application Firewall على Azure Front Door

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

Azure Web Application Firewall (WAF) هو منتج Azure Networking يحمي تطبيقات الويب وواجهات برمجة التطبيقات من هجمات الويب العشرة الأولى من OWASP، والثغرات الأمنية والتعرض الشائعة (CVEs)، وهجمات الروبوت الضارة.

توضح هذه المقالة كيفية استخدام Azure Web Application Firewall (WAF) على Azure Front Door لحماية نقاط نهاية Azure OpenAI.

المتطلبات الأساسية

إذا لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.

إنشاء مثيل Azure OpenAI باستخدام نموذج gpt-35-turbo

أولا، قم بإنشاء مثيل OpenAI.

  1. إنشاء مثيل Azure OpenAI ونشر نموذج gpt-35-turbo باستخدام إنشاء مورد خدمة Azure OpenAI وتوزيعه.

  2. حدد نقطة نهاية Azure OpenAI ومفتاح API.

    افتح استوديو Azure OpenAI وافتح خيار الدردشة ضمن Playground. استخدم الخيار View code لعرض نقطة النهاية ومفتاح API. لقطة شاشة تعرض ملعب Azure الذكاء الاصطناعي Studio Chat.

    لقطة شاشة تعرض نموذج التعليمات البرمجية ل Azure OpenAI مع نقطة النهاية والمفتاح.

  3. التحقق من صحة مكالمة Azure OpenAI باستخدام Postman. استخدم نقطة نهاية Azure OpenAPI وقيم مفتاح api الموجودة في الخطوات السابقة. استخدم هذه الأسطر من التعليمات البرمجية في نص POST:

    {
    "model":"gpt-35-turbo",
    "messages": [
    {
    "role": "user",
    "content": "What is Azure OpenAI?"
    }
    ]
    }
    
    

    لقطة شاشة تعرض نص المنشور.

  4. استجابة ل POST، يجب أن تتلقى 200 OK: لقطة شاشة تعرض POST 200 OK.

    ينشئ Azure OpenAI أيضا استجابة باستخدام نموذج GPT.

إنشاء مثيل Azure Front Door باستخدام Azure WAF

استخدم الآن مدخل Microsoft Azure لإنشاء مثيل Azure Front Door باستخدام Azure WAF.

  1. إنشاء طبقة محسنة من Azure Front Door مع نهج أمان WAF مقترن في نفس مجموعة الموارد. استخدم خيار إنشاء مخصص .

    1. التشغيل السريع: إنشاء ملف تعريف Azure Front Door - مدخل Microsoft Azure
  2. إضافة نقاط النهاية والمسارات.

  3. إضافة اسم مضيف الأصل: اسم مضيف الأصل هو testazureopenai.openai.azure.com.

  4. أضف نهج WAF.

تكوين نهج WAF للحماية من الثغرات الأمنية في تطبيق الويب وواجهة برمجة التطبيقات

قم بتمكين نهج WAF في وضع الوقاية وتأكد من تمكين Microsoft_DefaultRuleSet_2.1Microsoft_BotManagerRuleSet_1.0 .

لقطة شاشة تعرض نهج WAF.

تحقق من الوصول إلى Azure OpenAI عبر نقطة نهاية Azure Front Door

تحقق الآن من نقطة نهاية Azure Front Door.

  1. استرداد نقطة نهاية Azure Front Door من Front Door Manager.

    لقطة شاشة تعرض نقطة نهاية Azure Front Door.

  2. استخدم Postman لإرسال طلب POST إلى نقطة نهاية Azure Front Door.

    1. استبدل نقطة نهاية Azure OpenAI بنقطة نهاية AFD في طلب Postman POST. لقطة شاشة تعرض POST النهائي.

    ينشئ Azure OpenAI أيضا استجابة باستخدام نموذج GPT.

التحقق من صحة WAF يحظر هجوم OWASP

أرسل طلب POST يحاكي هجوم OWASP على نقطة نهاية Azure OpenAI. يمنع WAF المكالمة برمز استجابة محظور 403 .

تكوين قواعد تقييد IP باستخدام WAF

لتقييد الوصول إلى نقطة نهاية Azure OpenAI إلى عناوين IP المطلوبة، راجع تكوين قاعدة تقييد IP باستخدام WAF ل Azure Front Door.

مشكلات عامة

العناصر التالية هي المشكلات الشائعة التي قد تواجهها عند استخدام Azure OpenAI مع Azure Front Door وAzure WAF.

  • تحصل على رسالة 401: رفض الوصول عند إرسال طلب POST إلى نقطة نهاية Azure OpenAI.

    إذا حاولت إرسال طلب POST إلى نقطة نهاية Azure OpenAI مباشرة بعد إنشائه، فقد تتلقى رسالة 401: رفض الوصول حتى إذا كان لديك مفتاح API الصحيح في طلبك. عادة ما تحل هذه المشكلة نفسها بعد مرور بعض الوقت دون أي تدخل مباشر.

  • تحصل على رسالة 415: نوع الوسائط غير المدعومة عند إرسال طلب POST إلى نقطة نهاية Azure OpenAI.

    إذا حاولت إرسال طلب POST إلى نقطة نهاية Azure OpenAI باستخدام عنوان text/plainنوع المحتوى ، فستتلقى هذه الرسالة. تأكد من تحديث عنوان نوع المحتوى إلى application/json في قسم الرأس في Postman.