موقف من الحياة اليومية#
جهازك متوصل بالإنترنت، ومعاه ملايين الأجهزة التانية. وفي أي لحظة ممكن جهاز منهم يحاول يتصل بجهازك: يمكن يكون بيدوّر على جهاز فيه ثغرة، أو بيجرّب يدخل على خدمة شغالة عندك ومانتش واخد بالك منها.
طب مين اللي بيقف على الباب ويقرر: الاتصال ده يدخل، والتاني يتمنع؟
خلاصة سريعة#
- Firewall · جدار الحمايةجهاز أو برنامج يفحص البيانات الداخلة والخارجة ويسمح بها أو يمنعها وفق قواعد محددة.عرض في القاموس (Firewall) بيفحص البيانات الداخلة والطالعة، ويقارنها بقواعد، ويقرر يسمح ولا يمنع.
- القاعدة الذهبية: Deny by Default · المنع الافتراضيمبدأ يمنع فيه جدار الحماية كل اتصال لم تسمح به القواعد صراحةً.عرض في القاموس، يعني أي حاجة ما اتسمحش بيها صراحةً تتمنع.
- فيه أنواع بتبص بعمق مختلف: من فلترة الحزم اللي بتبص على العنوان والمنفذ بس، لحد جدران التطبيقات وNGFW وWAF اللي بتفهم المحتوى نفسه.
ببساطة#
فكّر في أمن بوابة عمارة، ومعاه ورقة تعليمات:
- «الدليفري يطلع للدور التالت.»
- «الضيوف اللي أصحاب الشقق مستنيينهم يطلعوا.»
- «أي حد تاني ما يطلعش.»
الأمن بيقرا الورقة من فوق لتحت، وأول سطر ينطبق على الشخص هو اللي بيتنفذ. والسطر الأخير هو الأهم: أي حد مش مذكور يتمنع. وده بالظبط اللي جدار الحماية بيعمله مع البيانات.
بالتفصيل#
القواعد: إزاي جدار الحماية بيقرر#
جدار الحماية بيشتغل بقائمة Firewall Ruleset · قواعد جدار الحمايةقائمة القواعد التي يقارن بها جدار الحماية كل اتصال، وكل قاعدة تحدد المصدر والوجهة والمنفذ والبروتوكول، وهل يُسمح بالاتصال أم يُمنع.عرض في القاموس (Ruleset). وكل قاعدة فيها:
- المصدر: الاتصال جاي منين (عنوان IP).
- الوجهة: رايح لمين.
- Port · المنفذرقم طوله 16 بت يحدد به بروتوكول النقل البرنامج أو الخدمة المقصودة على الجهاز.عرض في القاموس و**Protocol · البروتوكولمجموعة قواعد متفق عليها تحدد شكل الرسائل التي تتبادلها الأجهزة وترتيبها، وما يفعله كل جهاز عند إرسال رسالة أو استقبالها.عرض في القاموس:** مثلًا TCP على المنفذ 443 (مواقع الويب الآمنة HTTPS).
- القرار: اسمح (Allow) ولا امنع (Deny).
وفيه أجهزة كتير بتقرا القواعد بالترتيب من فوق لتحت، وأول قاعدة تنطبق هي اللي بتتنفذ، والباقي ما بيتقراش. علشان كده ترتيب القواعد بيفرق: لو حطيت «امنع الكل» في الأول، مفيش حاجة هتعدّي خالص.
امنع افتراضيًا#
ممكن تبني القواعد بطريقتين:
- اسمح بكل حاجة، وامنع الحاجات الوحشة اللي تعرفها.
- امنع كل حاجة، واسمح بس باللي محتاجه.
والطريقة التانية اسمها Deny by Default · المنع الافتراضيمبدأ يمنع فيه جدار الحماية كل اتصال لم تسمح به القواعد صراحةً.عرض في القاموس (Deny by default)، وهي الأأمن، لأن الحاجات الوحشة كتير ومتجددة وعمرك ما هتلحق تمنعها كلها، لكن اللي محتاجه فعلًا معروف ومحدود. وكمان بتقلل كمية البيانات اللي ملهاش لازمة على الشبكة.
الأنواع: كل نوع بيبص أعمق#
1. فلترة الحزم (Packet Filtering): أبسط نوع. بيبص على كل Packet · الحزمةقطعة صغيرة من البيانات. تُقسَّم الرسالة أو الملف إلى حزم، وتنتقل كل حزمة عبر الشبكة من جهاز إلى الذي يليه حتى تصل إلى وجهتها.عرض في القاموس لوحدها: العنوان، والمنفذ، والبروتوكول، ومش بيهمه المحتوى. ومش بيفتكر الحزم اللي فاتت، علشان كده اسمه كمان Stateless (من غير حالة). والراوتر اللي عليه قوائم تحكم في الوصول (ACL) بيعمل نفس الفكرة.
2. متابعة الحالة (Stateful Inspection · فحص الحالةفلترة تتابع حالة كل اتصال في جدول، فتسمح بالردود على الاتصالات القائمة وتمنع الحزم التي لا تتوافق مع الحالة المتوقعة.عرض في القاموس): بيحتفظ بجدول للاتصالات المفتوحة. فلما جهازك يفتح اتصال بموقع، جدار الحماية يسجّله، ولما الرد ييجي يعرف إنه رد على طلب انت بعته فيعدّيه. وأي حزمة مش ماشية مع حالة الاتصال المتوقعة بتتمنع. وبيستخدم في ده معلومات TCP اللي شرحناها في مقال TCP، زي المصافحة الثلاثية.
3. جدران التطبيقات (الطبقة 7): مش بس بتبص على المنفذ، دي بتفهم البروتوكول نفسه. فممكن مثلًا تمنع إيميل جواه مرفق ملف تشغيلي، أو تكتشف برنامج شغال على المنفذ 80 وهو أصلًا مش موقع ويب.
4. الجيل الجديد (NGFW (Next-Generation Firewall) · جدار الحماية من الجيل الجديدجدار حماية يتعرف على التطبيقات والمستخدمين والمحتوى، لا على المنافذ والبروتوكولات فقط، ويضم غالبًا كشف التسلل ومنعه.عرض في القاموس): جدار حماية بيتعرّف على التطبيقات والمستخدمين والمحتوى، مش المنافذ بس، وغالبًا فيه كمان كشف التسلل ومنعه في نفس الجهاز.
5. UTM (Unified Threat Management) · الإدارة الموحدة للتهديداتجهاز واحد يجمع جدار الحماية مع وظائف أمان أخرى، مثل كشف البرامج الخبيثة وإزالتها ومنع محاولات الاستكشاف المريبة.عرض في القاموس (الإدارة الموحدة للتهديدات): جهاز واحد بيجمع جدار الحماية مع وظائف أمان تانية، زي كشف البرامج الخبيثة. ميزته إن الإدارة من مكان واحد وأبسط. وعيبه إن الجهاز لازم يبقى فيه كل المزايا المطلوبة، ويبقى قوي كفاية يعمل كل المهام دي مع بعض من غير ما يبطّأ.
6. WAF (Web Application Firewall) · جدار حماية تطبيقات الويبجدار حماية يوضع أمام خادم الويب ويفحص طلبات HTTP لاكتشاف الهجمات الموجهة إلى تطبيقات الويب ومنعها.عرض في القاموس (جدار حماية تطبيقات الويب): بيقف قدام سيرفر الويب، وبيفحص طلبات HTTP نفسها، علشان يكتشف الهجمات اللي بتستهدف تطبيقات الويب ويمنعها.
الطبقة 4 مقابل الطبقة 7#
لو فاكر نموذج OSI:
| الطبقة 4 (النقل) | الطبقة 7 (التطبيقات) | |
|---|---|---|
| بيبص على | العنوان والمنفذ والبروتوكول | المحتوى نفسه والتطبيق |
| يقدر يقول | «امنع المنفذ 23» | «امنع رفع الملفات على الموقع ده» |
| أمثلة | فلترة الحزم، ومتابعة الحالة | جدران التطبيقات، وNGFW، وWAF |
جدار الحماية بيبقى فين؟#
- على الشبكة: جهاز على حدود الشبكة بين الإنترنت والشبكة الداخلية، أو بين أجزاء الشبكة وبعضها، زي المنطقة المنزوعة (DMZ) اللي فيها السيرفرات اللي بتواجه الإنترنت، وليها مقال لوحدها.
- على الجهاز نفسه: برنامج على الكمبيوتر أو السيرفر بيحميه هو بس، زي Windows Firewall على Windows، وfirewalld على توزيعات Linux كتير. وده طبقة حماية زيادة، مش بديل لجدار الشبكة.
لو جدار الحماية نفسه وقع؟#
ده سؤال مهم في التصميم، وفيه اختيارين:
- يفضل مفتوح (Fail open): البيانات تعدّي من غير فحص. الشغل ما بيقفش، بس من غير حماية.
- يقفل (Fail closed أو Fail secure): مفيش حاجة تعدّي. الحماية فاضلة، بس الشغل واقف.
والاختيار بيعتمد على الأهم في المكان ده: إن الخدمة تفضل شغالة، ولا إن محدش يدخل.
حدود جدار الحماية#
جدار الحماية مش بيحل كل حاجة:
- بيشتغل كويس بس على البيانات اللي يقدر يفهمها. والبيانات المشفّرة مثلًا ممكن يعدّيها من غير ما يعرف فيها إيه.
- لو القاعدة بتسمح بالمنفذ 443، أي حاجة جاية على المنفذ ده ممكن تعدّي، حتى لو كانت ضارة، إلا لو الجدار بيفحص المحتوى نفسه.
- ما بيحميش من المستخدم اللي بيدوس على رابط خبيث أو بيشغّل برنامج ضار بنفسه. وده سبب إن الحماية لازم تبقى طبقات، وشوف مقال البرامج الخبيثة.
جرّب بنفسك: شوف جدار الحماية عندك#
على Linux (التوزيعات اللي بتستخدم firewalld):
- افتح الطرفية، واكتب:
firewall-cmd --stateالنتيجة المتوقعة:
running
يعني جدار الحماية شغال.
- اعرض القواعد في المنطقة (Zone) الشغالة:
firewall-cmd --list-allالنتيجة المتوقعة: اسم المنطقة، والكروت اللي تبعها، وسطر services فيه الخدمات المسموح بيها (زي ssh)، وسطر ports فيه المنافذ المفتوحة. وأي حاجة مش مذكورة هنا ممنوعة من الدخول.
على Windows:
- افتح PowerShell، واكتب:
Get-NetFirewallProfile | Format-Table Name, Enabledالنتيجة المتوقعة: جدول فيه ملفات التعريف التلاتة (Domain وPrivate وPublic)، وقدام كل واحد عمود Enabled: لو قيمته True يبقى جدار الحماية شغال في ملف التعريف ده.
لو حصلت مشكلة:
- على Linux ظهرت رسالة إن الأمر مش موجود: توزيعتك ممكن تكون بتستخدم أداة تانية لإدارة جدار الحماية غير firewalld.
- على Windows لقيت
False: يبقى جدار الحماية مقفول في ملف التعريف ده. ولو مش انت اللي قافله، اتأكد من الأمان في إعدادات Windows Security.
للمتعمقين
النسخ الأقدم: فلترة الحزم لوحدها
فلترة الحزم في قلب أغلب جدران الحماية الحديثة، لكن قليل جدًا من الأجهزة اللي بتتباع النهارده بتعمل فلترة حزم بس من غير متابعة الحالة.
جدول الحالة
في متابعة الحالة، أول حزمة في الاتصال بتتقارن بالقواعد. ولو اتسمح بيها، الاتصال بيتسجل في جدول الحالة، ولما المصافحة الثلاثية تخلص، حالة الاتصال بتبقى established، وكل الحزم اللي بعدها اللي ماشية مع الاتصال ده بتعدّي.
تحسين الأداء بترتيب القواعد
في الأجهزة اللي بتقرا القواعد بالترتيب، القواعد اللي بتنطبق على أغلب البيانات يفضّل تبقى فوق، علشان الجهاز يلاقيها بسرعة.
الفشل الآمن
NIST بيعرّف الفشل الآمن (Fail secure) بإنه طريقة توقّف بيها وظائف النظام لما يحصل عطل، من غير ما يخسر حالته الآمنة، حتى لو العطل نفسه ممكن يضر أجزاء من النظام.
المرجع الرسمي
إرشادات NIST الرسمية لجدران الحماية هي SP 800-41 Revision 1، وصدرت في سبتمبر 2009.
أخطاء شائعة#
- «عندي جدار حماية، يبقى أنا في أمان تمامًا»: لأ. جدار الحماية طبقة واحدة. ومحتاج معاه تحديثات، ومضاد برامج خبيثة، ووعي من المستخدم.
- «الأسهل إني أسمح بكل حاجة وأمنع اللي أعرف إنه وحش»: ده عكس امنع افتراضيًا، وهو الأضعف، لأن الحاجات الوحشة الجديدة هتعدّي.
- «ترتيب القواعد مش مهم»: مهم جدًا. في أجهزة كتير، أول قاعدة تنطبق هي اللي بتتنفذ.
- «WAF هو نفس جدار الحماية العادي»: لأ. WAF متخصص في طلبات الويب (HTTP) وبيقف قدام سيرفر الويب، وجدار الحماية العادي بيحمي الشبكة كلها.
المصطلحات#
- جدار الحماية (Firewall · جدار الحمايةجهاز أو برنامج يفحص البيانات الداخلة والخارجة ويسمح بها أو يمنعها وفق قواعد محددة.عرض في القاموس): جهاز أو برنامج يسمح بالبيانات أو يمنعها وفق قواعد محددة.
- قواعد جدار الحماية (Firewall Ruleset · قواعد جدار الحمايةقائمة القواعد التي يقارن بها جدار الحماية كل اتصال، وكل قاعدة تحدد المصدر والوجهة والمنفذ والبروتوكول، وهل يُسمح بالاتصال أم يُمنع.عرض في القاموس): قائمة القواعد التي يُقارن بها كل اتصال.
- المنع الافتراضي (Deny by Default · المنع الافتراضيمبدأ يمنع فيه جدار الحماية كل اتصال لم تسمح به القواعد صراحةً.عرض في القاموس): منع كل اتصال لم تسمح به القواعد صراحةً.
- فحص الحالة (Stateful Inspection · فحص الحالةفلترة تتابع حالة كل اتصال في جدول، فتسمح بالردود على الاتصالات القائمة وتمنع الحزم التي لا تتوافق مع الحالة المتوقعة.عرض في القاموس): فلترة تتابع حالة كل اتصال في جدول.
- الجيل الجديد (NGFW (Next-Generation Firewall) · جدار الحماية من الجيل الجديدجدار حماية يتعرف على التطبيقات والمستخدمين والمحتوى، لا على المنافذ والبروتوكولات فقط، ويضم غالبًا كشف التسلل ومنعه.عرض في القاموس): جدار حماية يتعرف على التطبيقات والمستخدمين والمحتوى.
- جدار حماية تطبيقات الويب (WAF (Web Application Firewall) · جدار حماية تطبيقات الويبجدار حماية يوضع أمام خادم الويب ويفحص طلبات HTTP لاكتشاف الهجمات الموجهة إلى تطبيقات الويب ومنعها.عرض في القاموس): جدار يفحص طلبات HTTP أمام خادم الويب.
- الإدارة الموحدة للتهديدات (UTM (Unified Threat Management) · الإدارة الموحدة للتهديداتجهاز واحد يجمع جدار الحماية مع وظائف أمان أخرى، مثل كشف البرامج الخبيثة وإزالتها ومنع محاولات الاستكشاف المريبة.عرض في القاموس): جهاز يجمع جدار الحماية مع وظائف أمان أخرى.
اختبر نفسك#
القواعد بالترتيب: (1) امنع أي حاجة، (2) اسمح TCP 443. حزمة جاية على TCP 443. هيحصل لها إيه؟
إظهار الإجابة
هتتمنع. الجهاز بيقرا القواعد بالترتيب، وأول قاعدة («امنع أي حاجة») بتنطبق على الحزمة، فبتتنفذ والقاعدة التانية ما بتتقراش أصلًا. والصح إن «امنع الباقي» تبقى آخر قاعدة.
ليه جدار الحماية اللي بيتابع الحالة بيعدّي رد الموقع لجهازك، مع إن مفيش قاعدة بتسمح بالبيانات الداخلة من الموقع ده؟
إظهار الإجابة
لأنه سجّل الاتصال في جدول الحالة لما جهازك بدأه، فلما الرد ييجي بيعرف إنه رد على اتصال قائم ومسموح بيه.
شركة عندها موقع ويب وعايزة تحميه من الهجمات اللي جاية في طلبات HTTP نفسها. أنهي نوع مناسب أكتر؟
إظهار الإجابة
WAF (جدار حماية تطبيقات الويب)، لأنه بيقف قدام سيرفر الويب وبيفحص محتوى طلبات HTTP، مش بس المنفذ والعنوان.