
Sophos Firewall Configuration Viewer: تدقيق ومقارنة الإعدادات
جدول المحتويات
مرحبًا بالجميع،
إذا سبق لك إدارة Sophos Firewall في بيئة عمل حقيقية، فأنت تعرف المعضلة: الإعدادات هي “single source of truth”. لكن بمجرد أن تريد مراجعتها خارج web UI، أو توثيقها بشكل جيد، أو مقارنة قبل/بعد أي تغيير، تتحول المهمة بسرعة إلى شيء مزعج.
نعم، يمكنك أخذ لقطات شاشة. نعم، يمكنك تصدير قواعد منفردة. لكن عندما تبدأ بتغييرات أكبر (ترحيل WAN، VLANs جديدة، تنظيف الكائنات، إعادة ترتيب منطق NAT، أو “فقط بسرعة” تعديل بعض الـ VPN)، فأنت تريد شيئَين بالأساس:
- إعدادات قابلة للقراءة.
- مقارنة ليست “عمل diff للـ XML ثم البكاء”.
وهنا يأتي دور Sophos Firewall Configuration Viewer.
هذه الأداة لا تُسقط عنك المسؤولية. ما زلت بحاجة لتصميم إعدادات نظيفة واختبار التغييرات بشكل صحيح. لكنها تزيل شيئًا يلتهم وقتًا غير منطقي في اليوميات: مشكلة الشكل/الصيغة. فهي تحول export صحيحًا تقنيًا لكنه سيئ للقراءة إلى عرض يمكنك العمل به فعليًا.
ونعم، أنا دقيق جدًا في هذا الجزء. عندما أخطط لتغيير، لا أريد فقط أن أعرف أن شيئًا تغير. أريد أن أعرف ما الذي تغير بالضبط، وهل لمست بالخطأ كائنًا أو قاعدة NAT أو إعداد VPN من طرف بعيد. الـ Viewer عملي جدًا لهذا النوع من التدقيق.
ما هو Sophos Firewall Configuration Viewer؟
Sophos Firewall Configuration Viewer هو أداة تعمل عبر المتصفح وتحول إعدادات Sophos Firewall إلى صيغة مفهومة للبشر. يمكنك استخدامها لـ:
- تصفية وترتيب والبحث داخل الإعدادات
- البحث عن كائنات/Hosts/FQDNs محددة ومعرفة أين يتم استخدامها
- مقارنة إعدادين (Added/Modified/Removed)
- تصدير النتيجة على شكل تقرير HTML
مهم: هذه أداة Standalone تفتحها فقط في المتصفح. لا يوجد شيء لتثبيته، ويمكنك استخدامها من أي جهاز Admin تقريبًا. وهذا أحد أسباب إعجابي بها: تدخل في الـ workflow بسهولة.
تحت الغطاء، هي تعتمد على ما يوفره Sophos أصلًا: export الإعدادات بصيغة XML (غالبًا Entities.xml). الفرق هو طريقة العرض. بدلًا من التحديق في XML، تحصل على عرض يشبه وثيقة مرتبة بشكل جيد.
وليست مجرد “View”. عمليًا هناك ثلاث وظائف تتكرر دائمًا:
- القراءة: عرض منظم وقابل للتصفية.
- البحث/المراجع: العثور على الكائنات ومعرفة أين يتم استخدامها.
- المقارنة: قبل/بعد أو Firewall A مقابل Firewall B.
أهم نقطة للأمان والخصوصية: Sophos يؤكد أن البيانات تتم معالجتها محليًا داخل المتصفح ولا يتم “رفعها” إلى أي مكان. التحليل وإنشاء التقارير يفترض أن يبقى على جهازك.
الأداة هنا: Sophos Firewall Configuration Viewer
إذا تفضل مشاهدة شرح سريع أولًا، هذا TechVid من Sophos:
سيناريو واقعي لشركة متوسطة (SMB)
الجمعة، 3:30 مساءً. شركة فيها حوالي 80 موظفًا: اتصال إنترنت جديد، عناوين IP عامة جديدة، وبالتوازي مشروع صغير (CRM جديد، Subnets جديدة). طلب التغيير مكتوب بشكل جيد: أي قواعد NAT، وأي نقاط VPN، وأي قواعد Firewall يجب تعديلها.
لكن الواقع يعطيك ما تتوقعه دائمًا:
- كائن مثل
WAN_Public_IPsمستخدم في ثلاث قواعد NAT، وقاعدتين Business Application Rules، وقاعدة WAF “تاريخية” لم ينظر إليها أحد منذ سنوات. - كائن FQDN لخدمة SaaS تمت إضافته إلى مجموعة في وقت ما، والآن يظهر في عشر قواعد، لكن اثنتين فقط ما زالتا مهمتين.
- تريد تنظيف الإعدادات، لكنك لا تريد مكالمة صباح الاثنين: “بعد التغيير، X لم يعد يعمل.”
هنا يوفر Configuration Viewer وقتًا حقيقيًا.
الخطوات التي أتبعها عادةً:
- تصدير قبل التغيير (Baseline)
- تنفيذ التغيير
- تصدير بعد التغيير
- تشغيل Diff داخل الـ Viewer وإرفاق تقرير HTML في التذكرة
- قبل حذف أي كائن: استخدام Usage Reference لمعرفة أين يُستخدم فعليًا
هذا ليس رفاهية. هذا يجعل التغييرات قابلة للتتبع. وهذا بالضبط ما تريده التدقيقات، والموافقات الداخلية، و"أنت" في المستقبل.
كيف تستخدم الأداة عمليًا؟
1) تصدير الإعدادات (Full أو Selective)
قم بالتصدير مباشرة من الـ Firewall:
- WebAdmin: Backup & Firmware > Import / Export
- اختر Export full configuration (الكل) أو Export selective configuration (جزء محدد، مع خيار “Include dependent entity”)
Sophos سيولد ملف .tar تقوم بتنزيله.
بعض التفاصيل التي تفرق في الواقع:
- Full export هو الخيار الافتراضي لدي لإدارة التغييرات (baseline/diff). تحصل على كل شيء وتقل احتمالية فقدان dependencies.
- Selective export ممتاز إذا أردت مراجعة جزء محدد (مثل interfaces + routing فقط) أو إذا اضطررت لمشاركة شيء مع طرف ثالث (ISP/vendor) وتريد تقليل ما تكشفه.
- Include dependent entity غالبًا مهم جدًا في selective exports: إذا صدرت firewall rules، فعادة تريد أيضًا كائنات الشبكة/الخدمات التي يتم الرجوع لها. وإلا سيكون التصدير ناقصًا وتفقد السياق.
نصيحة للمقارنات: في “Compare” صدّر دائمًا إعدادين بنفس الاختيارات (Full مقابل Full، أو Selective مقابل Selective مع نفس الخيارات). مقارنة Full مع Selective ستعطيك diff “ضخم” لكنه غالبًا عديم الفائدة.
2) فك ملف TAR والعثور على Entities.xml
من ملف .tar استخرج Entities.xml (وفي بعض الحالات قد يكون الاسم entities.xml).
على macOS/Linux:
tar -xvf backup.tar
ls -la
على Windows يمكنك استخدام أدوات مثل 7-Zip.
إذا (مثلي) لا تريد أن تبقى هذه النسخ في Downloads، استخدم مجلدًا مؤقتًا للعمل. مثال على macOS/Linux:
WORKDIR="$(mktemp -d)"
tar -xvf backup.tar -C "$WORKDIR"
ls -la "$WORKDIR"
في النهاية يمكنك حذف المجلد. هذا يبدو بسيطًا، لكنه “نظافة” تمنع ملفات إعدادات حساسة من البقاء على الجهاز أسابيع.
ولتنبيهك أمنيًا: وفقًا لتوثيق Sophos، export بدون محتوى حساس (مثل interfaces فقط) غالبًا يحتوي على Entities.xml فقط. وعندما يوجد محتوى حساس (مثل users)، قد يحتوي TAR أيضًا على ملفات مثل hashFile.json و propertyfile.
عمليًا: اعتبر ملف TAR كاملًا سريًا.
3) جعل الإعدادات “مقروءة”
داخل الـ Viewer اختر “Single configuration” (أو ما يشابهها) وارفع Entities.xml. ستظهر لك الإعدادات بشكل منسق.
حسب حجم الإعدادات، التحميل قد يستغرق ثوانٍ قليلة. بعدها تحصل على شيء غالبًا لا تحصل عليه بسهولة في web UI: عرض يشبه الوثائق، بدون التنقل بين قوائم كثيرة.
أكثر ما يعجبني: تستطيع التصفية بقوة من القائمة اليسرى. إذا كان التغيير متعلقًا بـ routing/NAT، لا تريد قراءة كل إعدادات التقارير والـ logging والميزات الجانبية. فقط فعّل الأقسام التي تحتاجها الآن.
أمثلة لتصفية شائعة:
- firewall rules + NAT فقط
- interfaces + routing فقط
- VPN فقط
عندما أراجع بيئة لأول مرة، غالبًا أمشي بهذا الترتيب:
- interfaces/zones (ما هو الداخل وما هو الخارج؟)
- routing/SD-WAN (كيف يخرج الترافيك؟ ومن أين تأتي routes العكسية؟)
- NAT (ما الذي يتم نشره؟ وما الذي يتم إعادة كتابته؟)
- firewall rules (ما هي الـ flows المسموح بها فعلًا؟)
- VPN (site-to-site و remote access حسب البيئة)
ليس هذا الترتيب الوحيد الصحيح، لكنه يمنع تقييم القواعد بدون فهم الطوبولوجيا.
وإذا احتجت شيئًا للتوثيق أو للموافقة: يمكنك تصدير تقرير HTML في أي وقت.
أنا أحب استخدامه كـ “حزمة مراجعة”: تصدر HTML، ترفقه في تذكرة التغيير (أو تخزنه في توثيق داخلي آمن)، وبذلك يستطيع شخص آخر مراجعة الإعدادات بدون صلاحية دخول للـ firewall. هذا ممتاز لمبدأ “عينين” أو للموافقات الداخلية أو للتدقيقات الخارجية.
4) Usage Reference: “أين يُستخدم هذا الكائن فعليًا؟”
هذه هي الـ killer feature بالنسبة لي.
إعدادات Sophos تعتمد كثيرًا على objects: hosts، networks، services، FQDNs، groups. هذا ممتاز لإعادة الاستخدام. لكن بعد سنوات، يصبح من غير الواضح أين يُستخدم object معين.
وهنا تحصل الأخطاء الكلاسيكية:
- أحدهم يحذف object “لأنه يبدو قديمًا” ثم يكتشف لاحقًا أنه كان مستخدمًا في NAT rule
- أحدهم يغير object (مثلاً يوسع IP range) ويغير بذلك سياسات متعددة بدون أن ينتبه
Usage Reference يجعل هذه الاعتماديات واضحة. بدلاً من البحث في web UI “بالعين”، استخدم search/Usage Reference لترى أين يتم الرجوع للكائن أو الـ hostname.
مثال من TechVid: ابحث عن box وسترى فورًا أي policies/NAT rules تشير إلى FQDN object.
الميزة الجميلة هي click-through: تنتقل من البحث مباشرة إلى الكائن وترى المراجع (أي firewall policy أو NAT rule يستخدمه). عندما أقوم بتنظيف، غالبًا أصدر هذا العرض كـ HTML وأرفقه في التذكرة ليكون واضحًا لماذا حذفت أو غيرت object معين.
ممتاز لـ:
- cleanup (إزالة objects قديمة)
- تخطيط التغييرات (ما هي القواعد التي يجب تعديلها فعلًا)
- troubleshooting (لماذا ما زالت قاعدة ما تطابق في مكان ما)
5) مقارنة إعدادين (Before/After)
في الصفحة الرئيسية للأداة تستطيع اختيار “Compare” بدل “View” ورفع ملفين Entities.xml.
يبدو بسيطًا، لكنه نمط قوي جدًا. أستخدمه مثلًا لـ:
- قبل/بعد التغيير (الكلاسيكي)
- مقارنة test/staging مع الإنتاج للعثور على drift
- التحقق بعد ترحيلات (WAN جديد، NAT جديد، VPN جديد)
ما يعجبني في compare mode: ليس مجرد diff نصي. يحاول تجميع التغييرات بطريقة مفهومة. لن ترى فقط “XML مختلف”، بل سترى: هذا object تمت إضافته، هذه القاعدة تم تعديلها، هذا المدخل تم حذفه.
وهذا بالضبط ما تحتاجه لإدارة التغييرات:
- Summary: ما الذي تم حذفه، تعديله، إضافته؟
- تفاصيل لكل object/rule
- XML خام جنبًا إلى جنب (اختياري)
- تصدير HTML للتذاكر/التدقيق
الخطوات التي أتبعها عادةً (ببساطة لكنها فعالة):
- قراءة الملخص: هل حجم التغييرات منطقي؟ (مثل “غيرت 3 قواعد” مقابل “200 كائن modified”)
- الدخول للأجزاء الحرجة: interfaces/WAN، routing، NAT، VPN، firewall rules
- حفظ HTML export بينما كل شيء ما زال واضحًا
خصوصًا الخطوة 1 تقلل التوتر. إذا رأيت أن التغييرات فقط على الأشياء المتوقعة، أنام أفضل في عطلة نهاية الأسبوع.
إذا جعلت حفظ diff قبل/بعد عادة للتغييرات الكبيرة، ستسهل حياتك كثيرًا على المدى الطويل.
الميزات بالتفصيل
حتى هنا الأداة مفيدة. لكن بعد استخدامها عدة مرات ستلاحظ: الـ Viewer ليس “nice to have” فقط، بل هو toolbox صغير لأسئلة الـ admin اليومية. هذه أهم الميزات التي أستخدمها فعلًا، مع شرح إضافي.
Human-Readable View: أخيرًا بدون ماراثون نقر
في Sophos web UI، الإعدادات غالبًا مجمعة منطقيًا، لكنها موزعة على صفحات كثيرة. للأعمال السريعة هذا مقبول. للتدقيق أو تخطيط التغييرات، يصبح مرهقًا لأنك تفقد السياق.
الـ Viewer يحولها لعرض مضغوط. أستخدمه لعمل reality check سريع:
- ما هي interfaces/zones الموجودة فعليًا؟
- أي NAT rules تنشر أي خدمات؟
- أي قواعد “واسعة” لأن في الماضي “كان لازم يشتغل”؟
هذا لا يغني عن تصميم نظيف، لكنه يريك كيف تم وصف الـ firewall في النهاية.
Filters: ركّز على ما يهم الآن
الفلاتر على اليسار تبدو بسيطة، لكنها ذهب في الواقع. أغلب التغييرات تكون في جزء محدد (WAN، NAT، VPN، routing)، وليس كل الإعدادات.
عندما أضيف اتصال إنترنت جديد، أخفي كل شيء وأركز على:
- interfaces/WAN
- routing/SD-WAN
- NAT
- firewall rules (للـ flows المتأثرة)
هذا بسيط، لكنه يمنعك من الضياع في تفاصيل جانبية أثناء المراجعة.
Search: من “box” إلى “10.20.30.0/24”
ميزة البحث ممتازة عندما تأتي من التشغيل ولديك فقط “أعراض”:
- “خدمتنا مع box.com توقفت”
- “شبكة الفرع الجديدة 10.20.30.0/24 لا تملك وصول”
- “لماذا SMTP ما زال مفتوحًا؟”
تبحث بالاسم أو IP أو FQDN أو object وتصل بسرعة إلى المكان الصحيح.
Usage Reference: رؤية التأثير (قبل أن يؤلم)
Usage Reference هي الوظيفة التي غالبًا تحدد هل cleanup “جريء” أم “مسؤول”. أستخدمها غالبًا لثلاث حالات:
- حذف objects: التحقق أولًا إذا كان مستخدمًا في أي مكان.
- تغيير objects: التحقق كم policy/rule سيتأثر بشكل غير مباشر.
- تخطيط change: التحقق أي قواعد مرتبطة بنفس object.
إذا التزمت بهذا، تقل لحظات “أوه، هذا كان مرتبطًا هنا أيضًا” بشكل كبير.
Compare + تصدير HTML: طريقتي الافتراضية لإدارة التغييرات
Compare بالنسبة لي هو “الدليل” أن change حدث كما هو مخطط.
غالبًا أفعلها هكذا:
- Export قبل
- Export بعد
- Compare
- حفظ HTML diff وإرفاقه في التذكرة
قد يبدو ذلك مبالغًا فيه، لكنه دقائق قليلة وقد يوفر ساعات نقاش لاحقًا. وفي فرق العمل، هو أيضًا تنسيق ممتاز للمراجعة.
الأمان: ما هو جيد وما هي الحدود
1) Privacy-first ممتاز، لكن لا يعني الإهمال
قول Sophos أن لا شيء يخرج من المتصفح نقطة قوية.
لكن إعدادات firewall غالبًا حساسة. حتى لو لم تكن هناك كلمات مرور في cleartext، ستجد عادة:
- شبكات داخلية، VLANs، مخططات IP
- NAT definitions و public endpoints
- VPN topologies
- مجموعات objects (تفضح أكثر مما تتوقع أحيانًا)
2) التصدير هو الخطر الحقيقي
الـ Viewer يساعدك على القراءة. لكن الخطر غالبًا قبل وبعد:
- أثناء تنزيل TAR
- أثناء فك الضغط
- أثناء حفظ/مشاركة تقارير HTML
Sophos يذكر بشكل صريح أن exports التي تحتوي معلومات حساسة قد تتضمن ملفات إضافية، وأن موضوع secure storage master key مهم عند الاستيراد.
نصيحتي اليومية:
- اجعل ملفات التصدير قصيرة العمر على الجهاز (ثم نظفها)
- لا تضع التقارير في أنظمة تذاكر “مفتوحة”
- عند العمل مع طرف ثالث: استخدم selective export وشارك الحد الأدنى
3) SSH/Advanced Shell: الـ Viewer يعرض فقط ما يوجد داخل export
شيء يحصل كثيرًا في الواقع: أثناء incident، يدخل أحدهم عبر SSH ويقوم بـ “fix سريع” داخل Advanced Shell.
النقطة ليست هل سيبقى fix بعد reboot أم لا. النقطة هي: إذا لم يدخل هذا الشيء في export (Entities.xml)، لن تراه في viewer. وهذا قد يحدث لتعديلات Advanced Shell/SSH لأنها لا تظهر دائمًا كـ “تكوين طبيعي” في export.
إذا عدلت عبر SSH/Advanced Shell، وثّق ذلك بشكل منفصل وخطط لتطبيقه عبر WebAdmin كإعداد رسمي. وإلا فستظهر المشكلة عند restore أو HA failover أو firmware update، أو ببساطة ستفوتها في diff.
4) قواعد عملية تساعد في الإنتاج
- استخدم browser profile بدون إضافات كثيرة لهذه المهام.
- احفظ TAR/HTML فقط في مكان آمن كما تحفظ أي إعدادات حساسة.
- إذا اضطررت للمشاركة: استخدم selective export وفكر بالاعتماديات.
الخاتمة
Sophos Firewall Configuration Viewer ليس ميزة “تعمل ضجة”. لكن بصدق: هذه الأدوات هي التي تساعدك فعليًا في العمل اليومي.
خلال السنوات رأيت إعدادات كثيرة كان الضغط الحقيقي فيها ليس “التقنية”، بل التتبع: ما الذي تغير ومتى؟ هل هذا الكائن غير مستخدم فعلًا؟ هل لمسنا شيئًا آخر بالخطأ؟ في web UI يمكنك أن تجد الكثير، لكن نادرًا بسرعة. وقراءة exports XML يدويًا هي شيء لا يفعله أحد لأكثر من خمس دقائق طوعًا.
الـ Viewer يغلق هذه الفجوة بشكل جيد. أستطيع قراءة الإعدادات بهدوء، التعامل معها كوثيقة، التصفية، التحقق من المراجع، ثم حفظ HTML diff. قد يبدو “nice”، لكنه في فرق العمل قوة حقيقية: المراجعات أسهل، التدقيقات أهدأ، والمفاجآت صباح الاثنين أقل.
إذا أخذت نقطة واحدة فقط: اجعل هذا عادة.
قبل تغييرات كبيرة: export مرة، بعد التغيير export مرة أخرى، شغّل Compare، ثم احفظ HTML diff. هذا دقائق قليلة لكنه من أكثر الطرق موثوقية لمحاربة “أظن أننا غيّرنا X فقط”.
وكالعادة: الـ Viewer يجعل الإعدادات أسهل قراءة، لكنه لا يجعلها أكثر أمانًا تلقائيًا. التفكير ما زال عليك. هو فقط يعطيك أداة لا تعمل ضدك.
إذا سبق وكنت تعمل تعديلات “quick and dirty” عبر SSH داخل Advanced Shell: تذكر أنها قد لا تظهر في backups، وبالتالي قد لا تظهر في viewer أيضًا.
المصادر وروابط إضافية
- Sophos Community: Sophos Firewall Configuration Viewer
- Sophos Blog (EN): Sophos Firewall Configuration Viewer
- Tool: Sophos Firewall Configuration Viewer
- YouTube: Sophos Firewall Configuration Viewer (TechVid)
- Sophos Docs: Import/Export (TAR, Entities.xml, sensitive content)
- Sophos Docs: How to update and import a configuration
- Sophos Docs: Secure storage master key
- Sophos Docs: Device management / Advanced Shell (backup note)
حتى المرة القادمة، جو


