نظرة عامة #
تشرح هذه المقالة كيفية ترحيل قاعدة iRule شائعة الاستخدام في F5 BIG-IP لإدراج رأس أمان HTTP إلى RELIANOID باستخدام ميزات مزرعة HTTP/S الأصلية.
تقوم قاعدة iRule التالية بإضافة عدة رؤوس أمان استجابة HTTP:
عند HTTP_RESPONSE_RELEASE { إذا لم يكن رأس HTTP موجودًا "X-XSS-Protection" { أضف رأس HTTP "X-XSS-Protection" "1; mode=block" } إذا لم يكن رأس HTTP موجودًا "Strict-Transport-Security" { أضف رأس HTTP "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload" } إذا لم يكن رأس HTTP موجودًا "content-security-policy" { أضف رأس HTTP "content-security-policy" "frame-ancestors 'none'" } إذا لم يكن رأس HTTP موجودًا "X-Content-Type-Options" { أضف رأس HTTP "X-Content-Type-Options" nosniff } }
In RELIANOID، ويمكن تكوين عناصر التحكم الأمنية هذه مباشرة من خلال واجهة المستخدم على الويب دون الحاجة إلى برمجة TCL.
تفعيل نظام HSTS (أمن النقل الصارم) #
HSTS يُجبر المتصفحات على استخدام اتصالات HTTPS فقط. تشمل الفوائد ما يلي:
- منع هجمات اختراق SSL
- فرض الاتصالات المشفرة
- تحسين أمان النقل من جانب المتصفح
القسم التالي من iRule:
HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"
يمكن نقل البيانات مباشرة عبر واجهة المستخدم الرسومية.
انتقل إلى: المزارع > مزرعة HTTP/S > الخدمات
ثم:
- اختر خدمة HTTP/S المطلوبة
- قم بتفعيل مفتاح STS
هذا يقوم بحقن Strict-Transport-Security رأس الاستجابة في بروتوكول HTTPS.
تكوين رأس الأمان X-XSS-Protection #
يُمكّن هذا الخيار تصفية هجمات XSS في المتصفحات القديمة. على الرغم من أن المتصفحات الحديثة تعتمد بشكل أكبر على سياسة أمان المحتوى (CSP)، إلا أن هذا العنوان لا يزال مفيدًا في حالات التوافق.
انتقل إلى: المزارع > مزرعة HTTP/S > عام > متقدم > رؤوسثم: انقر Create rule. يختار:
النوع: Response: Add header
الرأس: X-XSS-Protection
القيمة: 1; mode=block
تكوين رأس أمان سياسة أمان المحتوى #
يتحكم في كيفية تضمين المحتوى وتحميله. المزايا:
- يمنع عمليات النقر الخادعة
- يقيد التأطير غير المصرح به
- تحسين الوضع الأمني للمتصفح
انتقل إلى: المزارع > مزرعة HTTP/S > عام > متقدم > رؤوسثم: انقر Create rule. يختار:
النوع: Response: Add header
الرأس: Content-Security-Policy
القيمة: frame-ancestors 'none'
تكوين رأس الأمان X-Content-Type-Options #
يمنع المتصفحات من تحليل نوع MIME. الفوائد:
- يمنع تفسير المحتوى الضار
- يقلل من بعض طرق حقن البرامج النصية
انتقل إلى: المزارع > مزرعة HTTP/S > عام > متقدم > رؤوسثم: انقر Create rule. يختار:
النوع: Response: Add header
الرأس: X-Content-Type-Options
القيمة: nosniff
التحقق #
بعد تطبيق الإعدادات، تحقق من صحة رؤوس الاستجابة باستخدام:
curl -I https://
الناتج المتوقع:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload X-XSS-Protection: 1; mode=block Content-Security-Policy: frame-ancestors 'none' X-Content-Type-Options: nosniff
فحص الجهاز #
عدم ظهور العناوين #
التحقق:
- يتم تطبيق القواعد على المزرعة الصحيحة
- HTTPS تم تمكينه لـ HSTS
- تم تكوين قواعد الترويسة على النحو التالي: استجابة القواعد
- تم تطبيق/إعادة تحميل إعدادات المزرعة
رؤوس مكررة #
إذا كان تطبيق الواجهة الخلفية يقوم بالفعل بإضافة رؤوس، فقد تظهر بيانات مكررة. التوصية:
- حدد ما إذا كان ينبغي إدارة العناوين بواسطة تطبيق الواجهة الخلفية أو بواسطة RELIANOID تكوين المزرعة
- تجنب إدارة نفس العناوين في كلا المكانين.
نظام HSTS لا يعمل #
لضمان ما يلي:
- يتصل العملاء عبر بروتوكول HTTPS
- تم تثبيت شهادات SSL صالحة
- لا يتم إجراء الاختبارات عبر بروتوكول HTTP في المتصفحات
يتم تجاهل رؤوس HSTS في الاتصالات غير TLS.
ملخص #
يمكن ترحيل قواعد F5 iRules المستخدمة لإدراج رأس أمان HTTP إلى RELIANOID استخدام ميزات مزرعة HTTP/S الأصلية بدون برمجة TCL.
يُبسط هذا النهج الإدارة مع الحفاظ على وظائف الأمان المكافئة.