ثلاثة أشخاص يطلبون الشيء نفسه بالكلمات نفسها: حجب الوصول إلى اسم خدمة واحد. يقصد أحدهم أن على المتصفح ألا يفتح الموقع، ويقصد آخر أن على عميل صوتي مكتبي ألا يصل إلى خادمه، ويقصد الثالث أن على مجموعة من المتعاقدين ألا تستخدم تطبيقًا داخليًا معينًا. الجملة واحدة، وآليات التنفيذ لا تشترك تقريبًا في أي شيء.

اختر الطبقة بحسب المعرّف الذي تستطيع رؤيته فعلاً، ثم بحسب العملاء الذين تغطيهم. البدء من أمر جدار ناري تعرفه مسبقًا هو الطريق الذي ينتهي بقواعد لا تحجب شيئًا، أو تحجب أكثر من اللازم.

الاسم ليس هوية تستطيع كل طبقة التحقق منها

تتصل Netfilter وما يشبهها من مرشّحات الحزم بالعناوين والبروتوكولات والمنافذ. وهي لا ترى أسماء المضيفين، وبحلول وقت وصول الحزمة إليها يكون الاسم قد حُلّ بالفعل. والقاعدة المكتوبة ضد عنوان هي قاعدة تتعلق بذلك العنوان، أيًا كان الاسم الذي كتبه المستخدم للوصول إليه.

تقع سياسة DNS في وقت أبكر على المسار وترى الاستعلام، وهو كائن مختلف عن الاتصال الذي يليه. وهي تحكم الإجابات التي يعيدها خادم أسماء مُدار، لا الاتصالات المفتوحة مسبقًا، ولا العملاء المهيَّئين لتجاوز ذلك الخادم. كما يمكن أن يتغير العنوان المحلول بين مراجعة السياسة والطلب التالي، ولهذا فإن إجابة DNS ليست بيان تفويض دائمًا.

ترى الطبقات الأعلى سياقًا أكثر وتغطي عملاء أقل. هذه المقايضة هي الموضوع كله، وهي تفسر لماذا لا يكون أي صف واحد من الجدول هو الإجابة الصحيحة أبدًا. اختر الصف الذي يرى المعرّف الذي تتعلق به سياستك فعلاً. ثم اقبل التغطية التي يستلزمها ذلك الصف.

ما يمكن لكل طبقة التعرف عليه

اقرأ الجدول من العمود الأوسط إلى الخارج: المعرّف الذي ترى الطبقة يحدد السياسة التي يمكنها فرضها بصدق.

LayerIdentifier it seesWhat it cannot see
Packet filteraddress, protocol, portthe name, or which other services share that address
DNS policythe queried name and the answer handed backconnections made by clients that ignore the resolver
Managed browsersupported URL patterns on managed profilesnon-browser clients, or unmanaged devices
CONNECT proxyhost and port for tunnelled requeststhe path inside an encrypted request

لا تدخل الطبقة في السياسة إلا عندما يطابق المعرّف الذي تراه المعرّف الذي تحكمه. ويوضح الجدول أيضًا لماذا نادرًا ما تنتقل قاعدة مكتوبة في طبقة إلى أخرى دون أن يُقرَّر من جديد ما تحميه.

حيث تفشل القاعدة البديهية

قاعدة العنوان صحيحة تمامًا لخدمة لها عنوان مخصص تتحكم فيه، وينبغي كتابة هذه الملكية في السياسة. وهي خاطئة تمامًا لأي شيء يقف خلف عنوان مشترك لتوصيل المحتوى، حيث تمس القاعدة نفسها خدمات غير ذات صلة، ولا تحوّل إجابة DNS محدّثة القاعدة إلى تفويض باسم مضيف.

تعبر سياسة متصفح مُدار عن تقييد ويب بشكل أكثر مباشرة من قائمة عناوين منسوخة، لكنها تنطبق على المتصفحات والملفات الشخصية التي يديرها نظام الإدارة.

لا تفعل تلك القاعدة الخاصة بالمتصفح شيئًا تجاه عميل صوتي يرسل UDP إلى مضيف مختلف، وأنماطها يحددها ذلك المنتج لا أعراف الحروف البديلة المستعارة من مكان آخر. وبالمثل يتلقى وسيط CONNECT اسم مضيف ومنفذًا لطلب داخل نفق، ولا يستطيع قراءة المسار داخل الجلسة المشفرة. صمّم القاعدة حول ما يكشفه البروتوكول. ثم اكتب ما تتركه دون تغطية، لأن تلك الفجوة هي مصدر الطلب التالي.

اختر بحسب العملاء، لا بحسب الأمر

اسأل عن العملاء الذين يجب أن تغطيهم السياسة وأيها قد تفوته. سياسة متصفح مُدار تغطي ما يصل إليه نظام الإدارة وتتوقف عند حدود المتصفح. سياسة الخادم تغطي كل ما يستخدم خادمك، وهي مجموعة أوسع، وتفشل مفتوحة لمن لا يستخدمه.

بالنسبة إلى خدمة تديرها، فإن التفويض في التطبيق أقوى من أي حد شبكي، لأنه يتبع الحساب لا المسار. مسار VPN هو إمكانية وصول لا أكثر: القدرة على إرسال حزمة إلى خدمة ليست إذنًا باستخدامها. وحيث يكون المعرّف المهم مستخدمًا أو إذن قناة، فرضه هناك واعتبرها القاعدة الشبكية طبقة ثانية.

اكتب القاعدة من حيث المورد

السياسة القابلة للدفاع تسمّي المورد والهويات والتطبيقات ضمن النطاق والمسار الذي يحملها، بما في ذلك عائلتا العناوين المستخدمتان. وتذكر أيضًا ما يحدث للبنية التحتية المشتركة التي ستتأثر بها القاعدة عرضًا.

هذه الصياغة تنتج قرارًا يمكن لشخص تدقيقه لاحقًا. القاعدة المبررة بعنوان اليوم المحلول تنتج حادثًا في أول مرة يتغير فيها العنوان، ولن يستطيع أحد شرح لماذا كان الحجب صحيحًا يومًا ما.

مقالات ذات صلة