من الأمور التي تظهر بشكل متكرر في اختبارات الاختراق الأمنية التي يتعين علينا جميعًا تحملها (للأسف لسبب وجيه) هو عدم وجود أو عدم الاتساق في توفير رأس X-Content Type-Options HTTP في استجابات خادم الويب. قد يكون هذا أمرًا مزعجًا ولكن كلما كان موقعنا وزواره أكثر أمانًا كان ذلك أفضل.
ما فائدة هذا العنوان على أي حال؟ الأمر بسيط؛ يحتوي متصفحا كروم وإنترنت إكسبلورر على ما يسمى بخاصية ”MIME-Sniffing“ التي يتم تمكينها افتراضيًا وتكتشف نوع المحتوى الموجود في استجابة خادم الويب. يُستخدم هذا لعرض صفحة الويب بشكل أفضل، حتى لو أخطأ خادم الويب في شيء ما، أو كانت الصفحة مكتوبة بشكل سيء وحددت نوع محتوى غير صحيح.
على سبيل المثال، قد يرسل موقع ما ردًا يفيد بأن المحتوى المضمّن هو نص، عبر رأس نوع المحتوى وقيمة نص/بسيط. سيكتشف المتصفح أنه في الواقع ملف PDF ويعرضه بشكل صحيح. وإلا فقد يحاول عرضه كنص، مما يؤدي إلى صفحة مشوهة أو غير قابلة للقراءة. بالنسبة لبعض مطوري المتصفحات، هذه الصفحة الجميلة أفضل من الامتثال للمعايير.
ألا يبدو ذلك سيئاً للغاية؟ حسنًا، يمكن تجاوز أي برنامج قد تستخدمه في متصفحك لمنع تنزيل أو عرض أو تنفيذ أنواع معينة من المحتوى من خلال هذه الميزة. هناك الكثير من الأسباب التي قد تجعلنا نرغب في حظر الملفات التنفيذية والملفات المضغوطة وملفات Word وما شابه ذلك. على نظام التشغيل ويندوز، لا يزال من الممكن ”امتلاك“ جهاز كمبيوتر باستخدام صورة GIF فقط.
يمكن لأي برنامج نستخدمه للحماية من مثل هذه التهديدات عن طريق حظر هذا المحتوى أن يفحص فقط قيمة رأس نوع المحتوى ويتصرف بشكل مناسب بناءً على قيمته. إن قيام المتصفح بعمل شيء مختلف تمامًا عما هو متوقع ليس مفيدًا ويمثل خطرًا.
تكمن روعة استخدام موازن التحميل في أنه لا يتعين علينا القيام بذلك إلا في مكان واحد من أجل نشر ذلك على جميع خوادمنا. لا نحتاج إلى الاعتماد على المطورين أو إعادة تكوين Apache. على موازن التحميل EdgeNEXUS، نقوم فقط باستيراد قالب تكوين jetPACK وتعيين قاعدة حركة مرور مسار الرحلة إلى أي خدمة (خدمات) افتراضية نرغب في حمايتها.
تضيف القاعدة الرأس فقط إذا لم يكن موجودًا، لذا ستعمل حتى في حالة قيام خوادم الويب الخاصة بنا بإدراجه بالفعل أو إدراجها لصفحات محددة فقط. يجب أن تكون هذه القاعدة جزءًا من تهيئة الخدمة الافتراضية القياسية الخاصة بك – ليس لديك ما تخسره مهما كان الموقع على الرغم من أنه يوصى دائمًا بإجراء الاختبار. يمكنك تنزيل حزمة jetPACK على موقع EdgeNEXUS Github هنا.
هذه واحدة من العديد من قواعد مسار الرحلة التي طورناها، والتي يمكنك نشرها لتحسين أمان موقعك ومستخدميه. لمعرفة المزيد حول رؤوس HTTP المتعلقة بالأمان، راجع هذه المقالات:
- رأس أمان HTTP لمكافحة ”اختراق النقرات“ – كيفية تحسين أمان موقعك باستخدام رأس خيارات الإطار X
- كيفية تأمين حركة مرور HTTP وحماية المستخدمين باستخدام رأس أمان النقل الصارم HTTP Strict Transport Security Header
تكمن روعة استخدام موازن التحميل في أنه لا يتعين علينا القيام بذلك إلا في مكان واحد من أجل نشر ذلك على جميع خوادمنا. لا نحتاج إلى الاعتماد على المطورين أو إعادة تكوين Apache.