الدرس 2 من 4 · 9 دقيقة
جدران الحماية: الترشيح الحسّاس للحالة وخيارات macOS
كيف يقرر جدار حماية حسّاس للحالة ما يسمح بمروره، والفرق بين ترشيح الوارد وترشيح الصادر، والأدوات التي يوفرها macOS لكل منهما.
تبدو مهمة جدار الحماية بسيطة: السماح بمرور حركة البيانات الجيدة، ومنع السيئة. الجزء المثير للاهتمام هو كيف يقرر ذلك، وعند أي مستوى. يتناول هذا الدرس الترشيح الحسّاس للحالة كمفهوم، ثم الأدوات المحددة والمنفصلة التي يقدمها macOS، كل واحدة تعمل عند طبقة مختلفة.
الترشيح الحسّاس للحالة: تذكّر المحادثة
يفحص جدار حماية مبكر «غير حسّاس للحالة» (stateless) كل حزمة بمعزل عن غيرها مقابل مجموعة ثابتة من القواعد. أما جدار الحماية الحسّاس للحالة فيتتبع بدلًا من ذلك الاتصالات المفتوحة، وكما يصف قاموس Cloudflare لمصطلحات الشبكات ذلك، «يحفظ معلومات عن الاتصالات المفتوحة ويستخدم هذه المعلومات لتحليل حركة البيانات الواردة والصادرة، بدلًا من فحص كل حزمة» من الصفر. عمليًا، يعني هذا أن جدار حماية حسّاس للحالة يستطيع إبقاء المنافذ مغلقة فعليًا حتى يطلب اتصال بدأته ردًا، ثم يسمح لذلك الرد المحدد بالدخول، دون فتح المنفذ لأي شيء آخر. يكاد كل جدار حماية استهلاكي أو تابع لنظام تشغيل مستخدَم اليوم، بما في ذلك جدار حماية macOS، يكون حسّاسًا للحالة.
الترشيح الوارد مقابل الترشيح الصادر
يتحكم الترشيح الوارد في الاتصالات التي تصل إلى الجهاز، دون دعوة، من الخارج: شخص أو شيء يحاول الوصول إلى خدمة تعمل عليه. ويتحكم ترشيح الصادر (egress) في الاتصالات التي يحاول الجهاز نفسه، أو تطبيق عليه، إجراءها نحو الخارج. يهم كل منهما لأسباب مختلفة. يوقف الترشيح الوارد إمكانية الوصول إلى الجهاز وفحصه من الأساس. ويهم ترشيح الصادر بعد وقوع خطأ ما: لا تزال البرامج الضارة التي تصل إلى جهاز بحاجة إلى الاتصال بمصدرها، أو استقبال تعليمات، أو إرسال بيانات إلى الخارج، ويحتاج كل واحد من ذلك إلى اتصال صادر. لا يزال جهاز بجدار حماية وارد قوي وبلا أي ترشيح للصادر قادرًا على تسريب كل ما فيه، اتصالًا صادرًا تلو آخر.
ما الذي يقدمه macOS فعليًا
| الأداة | الطبقة | الاتجاه | ملاحظات |
|---|---|---|---|
| جدار حماية التطبيقات | لكل تطبيق، في إعدادات النظام ← الشبكة ← جدار الحماية | وارد | يقرر ما إذا كان يجوز لكل تطبيق قبول اتصالات واردة أصلًا؛ ولا يرشّح ما ترسله التطبيقات إلى الخارج. متناوَل مع أوامر للتحقق منه في مادة تحصين macOS في هذا الموقع. |
| pf (packet filter) | ترشيح حزم على مستوى النواة، موروث من BSD | كلاهما، قائم على القواعد | جدار حماية قوي وعام الغرض تستخدمه Apple داخليًا (لمشاركة الإنترنت مثلًا)، موثَّق للمسؤولين في صفحات دليل pfctl وpf.conf بدلًا من لوحة إعدادات رسومية. قواعد pf المكتوبة يدويًا هي جدار حماية قديم من BSD، لا منتج من Apple له صفحة دعم، ولا يوثّق macOS رسميًا تعديلها لأغراض تحصين المستخدم النهائي. |
| مرشحات محتوى Network Extension | على مستوى التطبيق، عبر إطار عمل NetworkExtension من Apple | صادر (ووارد بالنسبة لتدفقات البيانات التي يُمنح إليها مرشِّح) | إطار العمل الذي تستخدمه تطبيقات طرف ثالث لفحص حركة الشبكة أو حجبها لكل تطبيق أو لكل نطاق، بإذن المستخدم؛ وهو ما يجعل جدار حماية صادر لكل تطبيق على macOS ممكنًا أصلًا، لا واردًا فقط. |
القراءة العملية لهذا الجدول هي أن جدار حماية macOS المدمج والمدعوم (جدار حماية التطبيقات) يغطي الاتصالات الواردة جيدًا لكنه لا يقول شيئًا عمّا يغادر الجهاز. يستطيع pf من الناحية التقنية القيام بكليهما، لكنه أداة منخفضة المستوى قائمة على النصوص البرمجية موجَّهة لمسؤولين يرتاحون لتعديل ملفات الإعداد والتفكير في ترتيب القواعد، وليس شيئًا ستستعرض هذه المادة ضبطه، إذ يمكن لخطأ في مجموعة قواعد مكتوبة يدويًا أن يفشل بصمت إلى وضع مفتوح أو يقفل الوصول إلى الشبكة كليًا، ولا تعامله Apple كإعداد مستخدم نهائي أساسي ومدعوم بالطريقة التي تعامل بها جدار حماية التطبيقات. تتجاوز أدلة التحصين المجتمعية التي تنشر مجموعات قواعد pf جاهزة أو نصوصًا برمجية تجلب قوائم حجب عناوين IP من طرف ثالث ما توصي به هذه المادة: تحتاج تلك القوائم إلى أن يثق بها أحد ويحافظ على تحديثها، ويمكن لتحديث معطَّل أن يعطّل الاتصال دون رسالة خطأ واضحة.
تلك الفجوة — جدار حماية مدمج وارد فقط دون طريقة بسيطة ومدعومة لرؤية الاتصالات الصادرة أو التحكم فيها لكل تطبيق — هي بالضبط ما وُجد إطار عمل Network Extension من Apple ليتيح لمطوري طرف ثالث سدّها، بإذن صريح من المستخدم عند التثبيت.
أهم النقاط
- يتتبع جدار الحماية الحسّاس للحالة الاتصالات المفتوحة ويسمح بحركة الرد لاتصال بدأته أنت، دون فحص كل حزمة مقابل قائمة قواعد ثابتة.
- يوقف الترشيح الوارد إمكانية الوصول إلى جهاز من الخارج؛ ويهم ترشيح الصادر بمجرد أن يكون شيء ما موجودًا بالفعل على الجهاز ويحاول التواصل إلى الخارج.
- يرشّح جدار حماية التطبيقات في macOS الاتصالات الواردة لكل تطبيق؛ ولا يرشّح حركة البيانات الصادرة.
- `pf` جدار حماية قوي على مستوى النواة من BSD يستخدمه macOS داخليًا، لكنه ليس إعداد تحصين مدعومًا وموثَّقًا للمستخدم النهائي بالطريقة التي يكون بها جدار حماية التطبيقات.
- إطار عمل Network Extension من Apple هو ما يتيح لتطبيقات طرف ثالث توفير ترشيح صادر لكل تطبيق، وهو الفجوة التي يتركها جدار الحماية المدمج مفتوحة.
اختبر نفسك
1. ما الذي يفعله جدار حماية حسّاس للحالة بشكل مختلف عن مرشِّح حزم بسيط وغير حسّاس للحالة؟
- يحجب كل حركة البيانات افتراضيًا دون استثناءات
- يتتبع الاتصالات المفتوحة ويستخدم ذلك السياق للسماح بحركة الرد المتوقَّعة — صحيح.
- يعمل فقط على شبكات Wi-Fi
- يشفّر كل حركة بيانات الشبكة
تتذكر جدران الحماية الحسّاسة للحالة حالة الاتصالات المفتوحة بدلًا من الحكم على كل حزمة بمعزل عن غيرها، وهو ما يتيح لها السماح بأمان بردود لاتصالات بدأتها أنت.
2. لماذا يهم ترشيح الصادر رغم وجود جدار حماية وارد قوي؟
- لا يهم إذا كان الترشيح الوارد قويًا
- لأن البرامج الموجودة بالفعل على الجهاز لا تزال بحاجة إلى اتصال صادر لإرسال بيانات أو استقبال تعليمات — صحيح.
- الاتصالات الصادرة آمنة دائمًا
- يهم فقط بالنسبة لخوادم الويب
يوقف الترشيح الوارد الاتصالات غير المرغوب فيها من الوصول إلى الجهاز، لكنه لا يفعل شيئًا بمجرد أن يكون شيء ما يعمل عليه بالفعل ويحاول التواصل إلى الخارج.
3. ما الذي لا يفعله جدار حماية التطبيقات في macOS؟
- تقرير ما إذا كان يجوز لتطبيق قبول اتصالات واردة
- ترشيح الاتصالات الصادرة التي يجريها تطبيق — صحيح.
- العمل على أساس كل تطبيق على حدة
- العمل دون أي برنامج إضافي
جدار حماية التطبيقات وارد فقط؛ ويتطلب التحكم فيما ترسله التطبيقات إلى الخارج آلية مختلفة، مثل واحدة مبنية على إطار عمل Network Extension من Apple.
جرّبها مع FireAI
طبّق هذا الدرس عمليًا على جهاز Mac الخاص بك.
- القواعد: تطبيق أو موقع أو نطاق أو IP أو نطاق عناوين، إلى الأبد أو حتى إعادة التشغيل — اكتب قاعدة دقيقة كعنوان واحد أو واسعة كنطاق كامل.
- مفتاح الإيقاف الفوري — اقطع جهاز الـ Mac عن الإنترنت بنقرة واحدة عندما يبدو شيء ما خاطئًا.
- تحقيق في اتصال — قرّر بالاستناد إلى الحقائق أمامك، لا إلى تحذير مبهم.
- النشاط: كل تطبيق اتصل بالإنترنت، وبحث بسجل الاتصالات بلغة بسيطة — اطّلع على كل تطبيق اتصل بالإنترنت اليوم، وتصرف حيال أي منها بنقرة واحدة.
المصادر
- Cloudflare Learning: What is a firewall?
- Apple Support: Block connections to your Mac with a firewall
- Apple Developer: Network Extension framework
طبّق ذلك على جهاز Mac الخاص بك
جرّب كل الميزات مجانًا لمدة 17 يومًا، دون بطاقة.