الجدران النارية أو جدران الحماية (Firewall) و هي بمثابة الحاجز بين جهاز الكمبيوتر الخاص بك أو شبكتك الداخلية والعالم الخارجي، الانترنت. قد يستخدم تطبيق جدار الحماية واحداً أو أكثر من الطرق لتوفير هذا الحاجز ، و هي: تصفية الحزم، تصفية الحزم حسب الحالة، مصادقة المستخدم ومصادقة تطبيق العميل. على الأقل، يعمل جدار الحماية بتصفية الحزم الواردة استناداً إلى محددات مثل حجم الحزمة وعنوان IP المصدر والبروتوكول ومنفذ الوجهة.
أنواع جدران الحماية
كما نعلم بالفعل، يأتي كل من Linux وWindows (يشمل هذا كل إصدار من Windows منذ XP وحتى Windows 10 وإصدارات المخدم) مع جدار حماية بسيط مدمج في نظام التشغيل. تقدم Norton وMcAfee حلول جدار الحماية الشخصية لأجهزة الكمبيوتر الفردية. وجدران الحماية هذه مخصصة لأجهزة فردية. كما أن هناك حلول أكثر تقدماً متاحة للشبكات. في بيئة المؤسسات، ستحتاج إلى جدار حماية مخصص بين شبكتك والعالم الخارجي.
قد يكون هذا جهاز توجيه (Router) يحتوي أيضاً على إمكانيات جدار حماية مدمجة. أو قد يكون الخادم مخصصاً لتشغيل برامج جدران الحماية. هناك عدد من حلول جدران الحماية التي يمكن الاختيار منها وفق كل حالة. يعد اختيار جدار الحماية قراراً هاماً. وتعتبر جدران الحماية التي تعمل بتصفية الحزم أبسط أنواع جدران الحماية وأقلها تكلفة. ولكل من أنواع جدران الحماية الأخرى مزاياها وعيوبها. الأنواع الأساسية لجدران الحماية هي:
- تصفية الحزمة (Packet filtering)
- تفتيش الحزم حسب الحالة (Stateful Packet Inspection)
- بوابة التطبيق (Application Gateway)
- بوابة مستوى الدارة (Circuit Level Gateway)
جدران الحماية – (Packet filtering)
هو النوع الأكثر أساسية من جدران الحماية. في جدار الحماية الذي يعمل بتصفية الحزم (Packet Filtering Firewall)، يتم فحص كل حزمة واردة. يُسمح فقط للحزم التي تتطابق مع المعايير التي تحددها بالمرور. تتضمن العديد من أنظمة التشغيل، مثل Windows (مثل Windows 8 و10) والعديد من توزيعات Linux، برامج تصفية الحزم بشكل أساسي مع نظام التشغيل. كما يشار إلىهذا النوع من جدران الحماية، بجدران الحماية التي تعمل بالفحص (screening firewalls). يمكنها تصفية الحزم بناءً على حجم الحزمة والبروتوكول المستخدم وعنوان IP المصدر والعديد من المحددات الأخرى. تقدم بعض أجهزة الراوتر (التوجيه) هذا النوع من الحماية بالإضافة إلى وظائف التوجيه العادية.
تعمل جدران الحماية التي تعمل على تصفية الحزم عن طريق فحص عنوان مصدر الحزمة وعنوان الوجهة ومنفذ المصدر ومنفذ الوجهة ونوع البروتوكول. بناءً على هذه العوامل والقواعد التي تم تكوين جدار الحماية لاستخدامها، فإنها تسمح أو تمنع مرور الحزمة. من السهل جدًا تكوين جدران الحماية تلك، وهي أيضاً غير مكلفة مادياً. تتضمن بعض أنظمة التشغيل، مثل Windows 10 وLinux، إمكانيات تصفية الحزم.
لكن بالمقابل، هناك بعض العيوب في هذا النوع من جدران الحماية، أحد العيوب هو أنها لا تفحص الحزمة فعلياً أو تقارنها بالحزم السابقة؛ وبالتالي، فهي عرضة تماماً إما لفيض ping أو فيض SYN. كما أنها لا تقدم أي مصادقة للمستخدم. نظراً لأن هذا النوع من جدران الحماية ينظر فقط إلى ترويسة (Header) الحزمة للحصول على معلومات، فإنه لا يحتوي على معلومات حول محتويات الحزمة.
كما أنه لا يتتبع الحزم، لذلك لا يحتوي على معلومات حول الحزم السابقة. لذلك، إذا جاءت آلاف الحزم من نفس عنوان IP في فترة زمنية قصيرة، فلن يلاحظ المضيف أن هذا النمط غير عادي. غالباً ما يشير هذا النمط إلى أن عنوان IP المعني يحاول تنفيذ هجوم حرمان من الخدمة على الشبكة. ولتكوين جدار حماية لتصفية الحزم، ما عليك سوى إنشاء قواعد تصفية مناسبة. يجب أن تغطي مجموعة القواعد لجدار الحماية المحدد ما يلي:
- أنواع البروتوكولات المسموح بها (FTP وSMTP وPOP3 وما إلى ذلك)
- منافذ المص المسموح بها
- منافذ الوجهة المسموح بها
- عناوين IP المصدر المسموح بها (يمكنك حظر عناوين IP معينة إذا كنت ترغب في ذلك)
ستسمح هذه القواعد لجدار الحماية بتحديد حركة المرور المسموح بها وحركة المرور التي يجب حظرها. نظراً لاستخدام هذا النوع من جدران الحماية لموارد نظام محدودة للغاية، فمن السهل نسبياً تكوينه ويمكن الحصول عليه بتكلفة زهيدة. على الرغم من أنه ليس النوع الأكثر أماناً من جدران الحماية، لكنه أكثرها انتشاراً.
فحص الحزم حسب الحالة (Stateful Packet Inspection)
يعتبر جدار الحماية لفحص الحزم حسب الحالة (Stateful Packet Inspection) تحسيناً لتقنية تصفية الحزم الأساسية. يفحص هذا النوع من جدران الحماية كل حزمة. ثم يرفض أو يسمح بالوصول ليس فقط بناءاً على فحص الحزمة الحالية، ولكن أيضاً بناءاً على البيانات المستمدة من الحزم السابقة في المحادثة. وبالتالي، يعني ذلك أن جدار الحماية على دراية بالسياق الذي تم فيه إرسال حزمة معينة. وهذا يجعل جدران الحماية تلك، أقل عرضة للإغراق بـ ping أو SYN، فضلاً عن كونها أقل عرضة للتزوير. جدران الحماية SPI أقل عرضة لهذه الهجمات للأسباب التالية:
- يمكنها معرفة ما إذا كانت الحزمة جزءاً من تدفق كبير بشكل غير طبيعي من الحزم من عنوان IP معين، وبالتالي تشير إلى أن هجوم DoS محتمل قيد البناء.
- يمكنها معرفة ما إذا كانت الحزمة تحتوي على عنوان IP مصدر يبدو أنه يأتي من داخل جدار الحماية، وبالتالي تشير إلى أن IP spoofing (تزوير IP) يحدث.
- يمكنها إلقاء نظرة على المحتويات الفعلية للحزمة، مما يسمح ببعض قدرات التصفية المتقدمة.
في الوقت الحاضر، تستخدم معظم جدران الحماية عالية الجودة طريقة فحص الحزمة حسب الحالة (SPI) عندما يكون ذلك ممكناً، و هو النوع الموصى به من جدران الحماية لمعظم الأنظمة. في الواقع، تتمتع معظم أجهزة التوجيه المنزلية بخيار استخدام فحص الحزم وفقاً للحالة.
يشتق اسم فحص الحزم وفقاً للحالة من حقيقة أنه بالإضافة إلى فحص الحزمة، يفحص جدار الحماية حالة الحزمة فيما يتعلق بمحادثة IP بالكامل. وهذا يعني أن جدار الحماية يمكن أن يشير إلى الحزم السابقة، بالإضافة إلى محتويات تلك الحزم ومصدرها ووجهتها. وكما قد تتوقع، أصبحت جدران الحماية SPI شائعة جداً.
بوابة التطبيقات (Application Gateway)
بوابة التطبيقات (المعروفة أيضاً باسم application proxy) هي برنامج يعمل على جدار حماية. يشتق هذا النوع من جدران الحماية اسمه من حقيقة أنه يعمل عن طريق (negotiating- تفاوض ) عبر المصادقة والتحقق مع أنواع مختلفة من التطبيقات للسماح لحركة المرور الخاصة بها بالمرور عبر جدار الحماية. وبعبارة أخرى، بدلاً من النظر إلى البروتوكول والمنفذ الذي تستخدمه الحزمة، ستفحص بوابة التطبيقات، التطبيقات من جهتي العميل (client ) والمخدم (server) الذي تحاول الاتصال به. ثم ستحدد ما إذا كان يُسمح بحركة مرور تطبيق العميل المعين من خلال جدار الحماية. ويختلف ذلك بشكل كبير عن جدار الحماية لتصفية الحزم، والذي يفحص الحزم وليس لديه معرفة بنوع التطبيق الذي يرسلها.
تمكن بوابات التطبيق مسؤول الشبكة أن يسمح بوصول أنواع معينة محددة من التطبيقات، مثل متصفحات الويب أو FTP. عندما ينشئ برنامج عميل، مثل متصفح الويب، اتصالاً بخدمة وجهة، مثل خادم الويب، فإنه يتصل ببوابة تطبيق أو وكيل. ثم يتفاوض العميل مع خادم الوكيل من أجل الوصول إلى خدمة الوجهة.
في الواقع، ينشئ الوكيل الاتصال بالوجهة خلف جدار الحماية ويعمل نيابة عن العميل، ويخفي ويحمي أجهزة الكمبيوتر الفردية على الشبكة خلف جدار الحماية. تنشئ هذه العملية اتصالين. يوجد اتصال واحد بين العميل وخادم الوكيل واتصال آخر بين خادم الوكيل والوجهة. بمجرد إنشاء اتصال، تتخذ بوابة التطبيق جميع القرارات بشأن الحزم التي سيتم إعادة توجيهها. نظراً لأن جميع الاتصالات تتم من خلال خادم الوكيل، فإن أجهزة الكمبيوتر الموجودة خلف جدار الحماية محمية.
مع بوابة التطبيق، يتطلب كل برنامج عميل مدعوم برنامجاً فريداً لقبول بيانات تطبيق العميل. يسمح هذا النوع من جدران الحماية بمصادقة المستخدم ، مما يجعلها فعالة جداً في منع حركة المرور غير المرغوب فيها. ومع ذلك، فإن العيب هو أن هذا النوع من جدران الحماية تستخدم الكثير من موارد النظام. تستخدم عملية مصادقة تطبيقات العميل المزيد من الذاكرة ووقت وحدة المعالجة المركزية مقارنة بتصفية الحزم البسيطة.
تكون بوابات التطبيق أيضاً عرضة لهجمات الإغراق المختلفة (SYN، ping، وما إلى ذلك) لسببين. قد يكون السبب المحتمل الأول لهجوم الإغراق هو الوقت الإضافي الذي يستغرقه التطبيق للتفاوض على مصادقة طلب. تذكر أن تطبيق العميل والمستخدم قد يحتاجان إلى المصادقة. يستغرق هذا وقتاً أطول من مجرد تصفية الحزم بناءاً على محددات معينة.
لهذا السبب، يمكن لسيل من طلبات الاتصال أن يغرق جدار الحماية، مما يمنعه من الاستجابة للطلبات المشروعة. قد تكون بوابات التطبيق أيضاً أكثر عرضة لهجمات الإغراق لأنه بمجرد إنشاء اتصال، لا يتم التحقق من الحزم. إذا تم إنشاء اتصال، فيمكن استخدام هذا الاتصال لإرسال هجوم إغراق إلى الخادم الذي تم الاتصال به، مثل خادم الويب أو خادم البريد الإلكتروني.
يتم تخفيف هذه الثغرة الأمنية إلى حد ما من خلال مصادقة المستخدمين. بشرط أن تكون طريقة تسجيل دخول المستخدم آمنة (كلمات مرور مناسبة، نقل مشفر، إلخ)، فإن احتمالية تمكن شخص ما من استخدام اتصال شرعي من خلال بوابة تطبيق لهجوم فيضان تقل بشكل كبير.
Circuit Level Gateway
جدران الحماية (Circuit Level Gateway) تشبه بوابات التطبيق ولكنها أكثر أماناً ويتم تطبيقها عموماً على معدات متطورة. تستخدم هذه الأنواع من جدران الحماية أيضاً مصادقة المستخدم، لكنها تفعل ذلك في وقت مبكر من العملية. يتم فحص تطبيق العميل أولاً لمعرفة ما إذا كان يجب منح الوصول، ثم يتم مصادقة المستخدم. مع هذا النوع من جدران الحماية، فإن مصادقة المستخدم هي الخطوة الأولى.
يتم التحقق من معرف تسجيل الدخول وكلمة المرور للمستخدم، ويتم منح المستخدم حق الوصول قبل إنشاء الاتصال بالرواتر. وهذا يعني أنه يجب التحقق من كل فرد، إما من خلال اسم المستخدم أو عنوان IP، قبل إمكانية إجراء أي اتصال آخر. بمجرد إجراء هذا التحقق وإنشاء الاتصال بين المصدر والوجهة، يمرر جدار الحماية البايتات بين الأنظمة. توجد “دارة” افتراضية بين العميل الداخلي وخادم الوكيل.
تمر طلبات الانترنت عبر هذه الدارة إلى خادم الوكيل، ويقوم خادم الوكيل بتسليم هذه الطلبات إلى الانترنت بعد تغيير عنوان IP. يرى المستخدمون الخارجيون فقط عنوان IP لخادم الوكيل. ثم يتلقى خادم الوكيل الاستجابات ويرسلها مرة أخرى عبر الدارة إلى العميل. ويعد الاتصال الآمن الخاص بين تطبيق العميل وجدار الحماية حلاً أكثر أماناً من بعض الخيارات الأخرى، مثل جدار الحماية لتصفية الحزم البسيط وبوابة التطبيقات. بينما يُسمح بمرور البيانات لا ترى الأنظمة الخارجية الأنظمة الداخلية أبداً.