جهاز Mac الخاص بك يتحدث الآن. ليس مجازًا: في هذه اللحظة، تحتفظ عشرات العمليات بمقابس مفتوحة إلى خوادم لم تسمع بها قط، ومعظم ذلك لا بأس به. فحص التحديثات، والمزامنة، والإشعارات الفورية، وبيانات القياس عن بُعد، وخط يُجلب. الغاية من مراقبة الشبكة ليست الهلع من الحجم بل القدرة على الإجابة عن سؤال واحد بشأن أي سطر منفرد منها: أي تطبيق، وإلى من، ولماذا. يمنحك macOS ثلاث أدوات مجانية تقطع بك جزءًا من الطريق. تشرح هذه المقالة ما تعرضه كل واحدة منها، وأين تتوقف، وما الذي يضيفه جدار الحماية الخاص بكل تطبيق فوقها.
مراقب النشاط: المجاميع، لا المقاصد
افتح «مراقب النشاط»، وانقر على علامة التبويب «الشبكة»، فتحصل على النظرة العامة الصادقة التي صمّمته Apple لها. يصف دليل Apple اللوحة السفلية: الحزم الواردة والصادرة، والبيانات المستلمة والمرسلة بالميغابايت، ورسم بياني يمكنك تبديله بين معدل الحزم ومعدل البيانات. وتخبرك قائمة العمليات فوقها بكم أرسلت كل عملية واستلمت. أما ما لا تخبرك به فهو الوجهة. لا عمود للمضيف البعيد، ولا منفذ، ولا بلد. يجيب «مراقب النشاط» عن سؤال «هل يستهلك شيء ما الكثير من عرض النطاق؟» ويتوقف هناك. إنه الأداة الصحيحة لملاحظة أن عملية مساعدة رفعت غيغابايتَين خلال الليل، والأداة الخاطئة لمعرفة إلى من.
lsof: لقطة لكل مقبس مفتوح
تسرد أداة سطر الأوامر lsof الملفات المفتوحة، وعلى Unix يكون مقبس الشبكة ملفًا. ومع الخيار -i، الذي تصفه صفحة دليل macOS بأنه يختار الملفات التي يطابق عنوان الإنترنت الخاص بها، تحصل على كل اتصال مفتوح مع اسم العملية المالكة، ومعرّفها، والبروتوكول، والعنوان والمنفذ المحليَّين والبعيدَين. أضف -n و-P لإبقاء العناوين والمنافذ رقمية بدلًا من انتظار DNS العكسي. والنتيجة هي أكمل صورة مجانية يمكنك الحصول عليها للحظة الحاضرة، والتركيز على كلمة لحظة: lsof لقطة. فالاتصال الذي فُتح، وأرسل كيلوبايت، وأُغلق في نصف الثانية التي سبقت ضغطك على Enter ليس موجودًا ببساطة. كما أنها تحدد العملية بالاسم والمعرّف، لا بمن وقّعها، فيبدو ملف تنفيذي يسمى «Adobe Update Helper» في مجلد مؤقت مطابقًا تمامًا للأصلي.
nettop: العرض نفسه، محدّثًا مباشرة
nettop هو أقرب ما يأتي مع macOS إلى مراقب اتصالات حي. تصفه صفحة دليله بأنه يعرض قائمة مقابس أو مسارات مع إحصاءات شبكة تُحدَّث دوريًا. وعمليًا ترى كل عملية، واتصالاتها المفتوحة، والبايتات الواردة والصادرة لكل اتصال، والواجهة المستخدمة، وحالة الاتصال، مع تحديث كل ثانية. يعالج مشكلة اللقطة في lsof ويبقى أفضل إجابة مدمجة عن سؤال «ما الذي يفعله ذلك التطبيق الآن». وحدوده هي حدود lsof نفسها في كل جانب آخر: لا هوية تتجاوز اسم العملية، ولا مفهوم للبلد أو المنظمة وراء عنوان ما، ولا ذاكرة لما حدث قبل ساعة، ولا سبيل لقول لا. يمكنك مشاهدة اتصال بـ nettop؛ ولا يمكنك إيقافه.
جدار الحماية المدمج لا يفيد هنا
يفترض الناس غالبًا أن تشغيل جدار الحماية في «إعدادات النظام» يغطي هذا. وهو لا يفعل. فدليل Apple نفسه دقيق في كلماته: يحمي جدار حماية macOS جهازك من الاتصال غير المرغوب فيه الذي تبدأه أجهزة كمبيوتر أخرى. إنه مرشّح وارد. وليس لديه ما يقوله عمّا ترسله تطبيقاتك إلى الخارج، وهو الاتجاه الذي يشير إليه كل سؤال في هذه المقالة. وللتحكم الصادر الخاص بكل تطبيق، توفّر Apple إطار عمل Network Extension، الذي تتيح موفّرات مرشّح المحتوى فيه لتطبيق من طرف ثالث رؤية تدفقات الشبكة وتصفيتها مع هوية التطبيق الذي أنشأها. ذلك هو الأساس الذي تُبنى عليه جدران الحماية الحديثة الخاصة بكل تطبيق على macOS، وهو ما يحوّل قائمة مقابس إلى قائمة قرارات.
ما الذي يضيفه جدار الحماية الخاص بكل تطبيق
أربعة أمور، تحديدًا. الهوية: يُنسب التدفق إلى تطبيق موقّع، فتنطبق قاعدة Slack على Slack لا على أي شيء يصادف أنه يحمل اسمه؛ ولهذا السبب تتبع قواعد FireAI الخاصة بكل تطبيق توقيع شفرة التطبيق. والرؤية: يُعرض كل اتصال لحظة حدوثه، بما في ذلك تلك التي تدوم نصف ثانية. والسياق: يُحلّ عنوان IP المجرّد إلى المنظمة والبلد وراءه، ويعرض FireAI ذلك على خريطة عالمية حية مع الاتصالات المحظورة بالأحمر. والتحكم: يمكن السماح باتصال أو رفضه بحسب المضيف أو النطاق أو IP أو المنفذ، وعلى التطبيق غير المعروف أن يطلب الإذن قبل اتصاله الأول، مع عرض سبب حكم النموذج الذي يعمل على الجهاز في التنبيه. وإن لم توافق على قرار اتخذه الذكاء الاصطناعي، فتتراجع عنه، ويصبح التراجع قاعدة مرئية يمكنك قراءتها لاحقًا أو تصديرها كملف نصي.
ويقبل FireAI أيضًا أوامر بلغة طبيعية، بالإنجليزية أو الفرنسية، مثل «block Microsoft Teams»، وهي طريقة أسرع لكتابة قاعدة من مربع حوار بأربعة حقول. وما لا يفعله يستحق أن يُقال بالوضوح نفسه: لا يفحص محتوى الحركة المشفّرة، ولا يفحص الملفات، ولا يفحص العمليات أو الذاكرة. إنه يعمل على مستوى من يتصل بماذا، وهو صادق بشأن تلك الحدود.
كيف تقرأ اتصالًا واحدًا
خذ أي سطر من nettop أو من سجل جدار حماية واطرح ثلاثة أسئلة. أولًا، الشركة: من يملك العنوان؟ تذهب معظم الحركة إلى حفنة من مزوّدي الاستضافة وشبكات المحتوى، وتطبيق موسيقى يتحدث إلى Amazon أو Cloudflare إنما يتحدث عادةً إلى خدمته الخلفية. والنمط الذي ينبغي ملاحظته هو عدم التطابق: تطبيق ملاحظات يتصل بشبكة إعلانية، أو أداة لقطات شاشة تتصل بمزوّد استضافة لا سبب لديها لاستخدامه. ثانيًا، البلد: ليس لأن الخادم الأجنبي سيئ، بل لأن التغيّر معلومة. فالتطبيق الذي اتصل بأيرلندا سنةً كاملة ويتصل اليوم ببلد جديد للمرة الأولى قد غيّر شيئًا. ثالثًا، المنفذ. 443 هو HTTPS ويغطي كل شيء تقريبًا؛ و80 هو HTTP غير المشفّر وينبغي أن يكون نادرًا في 2026؛ و53 هو DNS؛ و22 هو SSH؛ و445 هو مشاركة ملفات SMB؛ و5353 هو Bonjour على الشبكة المحلية. وتطبيق استهلاكي يفتح المنفذ 22 أو 445 إلى عنوان على الإنترنت أمر غير معتاد بما يكفي لتبرير سؤال.
أنماط تستحق نظرة ثانية
- الإشارات الدورية (beaconing): العملية نفسها تتصل بالعنوان نفسه على فترات ثابتة، كل ستين ثانية أو كل عشر دقائق، بحمولات ضئيلة. يصف MITRE ATT&CK القيادة والتحكم بأنها محاولة المهاجم التواصل مع الأنظمة المخترَقة للتحكم فيها، والنبض المنتظم هو الشكل الأكثر شيوعًا الذي يتخذه ذلك. وفحص التحديثات يرسل إشارات دورية أيضًا، فالدليل هو عملية غير مألوفة، لا الإيقاع وحده.
- عقد خروج Tor: ينشر مشروع Tor قائمة عقد خروجه، ولا سبب عاديًا لتطبيق إنتاجية للوصول إلى إحداها. يطبّق FireAI تلك القائمة محليًا بوصفها إحدى خلاصات معلومات التهديدات لديه.
- HTTP غير مشفّر يحمل بيانات اعتماد: نموذج تسجيل دخول أو مفتاح API أو رقم بطاقة يُرسل عبر المنفذ 80 يمكن لأي أحد على المسار قراءته. وحارس البيانات غير المشفّرة في FireAI مبنيّ لهذه الحالة تحديدًا ويمنع أرقام البطاقات وكلمات المرور ومفاتيح API من الخروج عبر HTTP غير المشفّر.
- اتصال أول من تطبيق مثبّت منذ زمن: تطبيق ظل صامتًا شهورًا ويفتح مقبسًا فجأة قد حُدّث أو استُبدل أو اختطفته إضافة. وكل الحالات الثلاث تستحق أن تُعرف.
- ملفات تنفيذية غير موقّعة أو غير معروفة تتصل بالإنترنت أصلًا: على جهاز Mac يكون فيه كل ما تستخدمه موقّعًا، يُعدّ ملف تنفيذي غير موقّع يجري اتصاله الأول أنفع تنبيه على الإطلاق يمكن لجدار حماية أن يطلقه. وتحظر أوضاع الأمان الأشد في FireAI، Paranoid وUnder attack، التطبيقات غير الموقّعة كليًا.
- عناوين على قوائم حظر منشورة: تصف Spamhaus قائمتها DROP بأنها نطاقات خطرة إلى حدّ أنها تقدّمها مجانًا لكل من يريد تلك الطبقة من الحماية؛ وتجمع FireHOL خلاصات IP العامة المركّزة على الهجمات والإساءة وتوثّقها؛ وتدير abuse.ch منصات معلومات تهديدات يقودها المجتمع. يطبّق FireAI هذه الخلاصات محليًا، بوصفها قوائم حظر IP على مستوى النظام، من دون إرسال حركة بياناتك إلى أي مكان.
تصفية DNS، بصدق
DNS هو المكان الذي تعيش فيه كثير من منتجات تصفية الشبكة، فمن العدل أن نسأل أين يقف FireAI. اليوم، يصفّي FireAI على مستوى الاتصال نفسه: يطبّق خلاصات معلومات التهديدات وقوائم حظر IP على العناوين التي تصل إليها تطبيقاتك فعلًا، ويمكن للقواعد الخاصة بكل تطبيق مطابقة اسم مضيف أو نطاق. وما لا يفعله بعد هو العمل بوصفه محلّل DNS الخاص بك أو تقديم DNS مشفّر خاص به؛ وذلك مخطط له، ونفضّل أن نقوله على أن نوحي به. وهناك نتيجة عملية ينبغي فهمها. فـ DNS المشفّر، المحدد بوصفه DNS عبر TLS في RFC 7858 وDNS عبر HTTPS في RFC 8484، والمدعوم على مستوى النظام في macOS منذ جلسة Apple في WWDC 2020 عن تفعيل DNS المشفّر، يخفي استعلاماتك عن أي أحد على مسار الشبكة. وهذا جيد للخصوصية ويعني أيضًا أن المرشّح الذي لا يراقب سوى استعلامات DNS يصير أعمى حين يستخدم المتصفح محلّل DoH الخاص به. أما المرشّح الذي يعمل على عنوان المقصد فما زال يرى الاتصال، لأن على التطبيق أن يفتحه على أي حال. ولا يكتمل أي من الأسلوبَين وحده، ولهذا فإن الموقف الصادق هو «كلاهما، في النهاية» لا الادعاء بأن أحدهما يحلّ محل الآخر.
روتين عملي
لست بحاجة إلى مراقبة الشبكة طوال اليوم. الروتين العملي هو ثلاث دقائق مرة في الأسبوع: افتح قائمة الاتصالات في FireAI، ومرّ عليها تطبيقًا تطبيقًا، وانظر إلى ما لا تعرفه منها. تحقق من الشركة والبلد وراء أي شيء جديد. اكتب قاعدة لما تقرره، كي لا تراجع الاتصال نفسه مرتَين أبدًا، وصدّر قواعدك من حين إلى آخر ليبدأ جهاز Mac جديد بقراراتك لا من الصفر. وستبقى الأدوات المجانية موجودة دائمًا حين تريد العرض الخام؛ أما جدار الحماية الخاص بكل تطبيق فهو ما يجعل ذلك العرض شيئًا يمكنك التصرف بناءً عليه.
دور FireAI وHisnLabs
lsof and nettop will show you a snapshot; what they cannot do is stop a connection, remember your decision, or tell you in plain words which company and country sit behind an IP address — and that gap is exactly the one FireAI was built to fill.
FireAI هو منتج HisnLabs نفسها: جدار حماية بذكاء اصطناعي يعمل على جهاز Mac مباشرة. يعرض بلغة واضحة كل اتصال تجريه تطبيقاتك، ويترك لك القرار فيما يخرج من جهازك — ذكاؤه الاصطناعي يعمل محليًا، فلا يُرسَل ترافيكك إلينا ولا إلى أي جهة أخرى أبدًا. فريق أبحاث الأمن في HisnLabs هو من يحافظ على دقة هذه القرارات: يصنّف النطاقات بين قياس عن بُعد عادي وخدمة حقيقية، ويتتبّع بلد وشبكة كل اتصال، ويدرّب النموذج المحلي (ميزة Autopilot) على حركة اتصال حقيقية، دون أن يغادر أي شيء جهاز Mac.
يمكنك الاطلاع على القرارات التقنية وراء ذلك، أو تجربة FireAI لمدة 17 يومًا، على FireAI من HisnLabs.
