اذهب إلى المحتوى

أقنعة محرف البدل واستخدامها في لوائح التحكم في الوصول ACL


محمد أحمد العيل

سنخصّص درسًا لاحقًا للحديث بالتفصيل عن صياغة (Syntax) لوائح التحكم في الوصول، وهي صياغة تتكون من أجزاء متعدّدة. سنتعرَّف في هذا الدرس على جزء خاص من صياغة ACL وهو قناع محرف البدل (Wildcard mask)، الذي يصعب من دون استيعابه فهمُ ما نريد فعله في لوائح التحكم في الوصول.

يشيع استخدام محارف البدل في جوانب مختلفة من التقنية، مثلًا في عبارات البحث عن الملفات في أنظمة التشغيل. عندما تريد أن تبحث عن ملف وورد في مستعرض الملفات Explorer الخاص بوندوز فتستخدم غالبًا عبارة بحث مثل ‎*.doc أو ‎*.docx، أو ربما تجمع العبارتين معًا باستخدام عبارة البحث ‎*.doc‎?‎. يُفهَم من هذه العبارات أنك تبحث عن الملفات التي تنتهي بالامتداد doc أو docx مهما كان اسمها. النجمة * وعلامة الاستفهام ? هما محرفا بدل، بمعنى أنهما محرفان خاصان سيُستبدَلان في نتيجة البحث بمحرف واحد (في حالة علامة الاستفهام) أو أكثر (في حالة النجمة).

تُطبَّق قواعد مشابهة للمبدأ أعلاه في لوائح التحكم بالوصول، إذ تُرفَق فيها عناوين IP بأقنعة محرف بدل، الغرض منها تعريف بتّات (Bits) محدَّدة من العنوان.

عندما نتحدَّث عن أقنعة محرف البدل فنحن أمام سلسلة من البتات بطول عنوان IP (وهو32 بتّا)، أي أنها مكوَّنة من أصفار وآحاد؛ وتختلف عن قناع الشبكة (Network mask) في إمكانية وضع الأصفار والآحاد في أي موضع من القناع، وليس واجبًا أن تكون الأصفار (أو الآحاد) متجاورة. رغم ذلك، فمن الشائع – إلّا في حالات خاصّة – أن تكون الأصفار أو الآحاد متجاورة في قناع محرف البدل..

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

01-acl-wildcard-masking.jpg

قلنا إن الموازنة بين القناع والعنوان تتمّ على مستوى البتات، إلّا أننا عمليًّا نستخدم قيمًا عشرية منقَّطة، مثل ما نفعل مع عناوين IP. تظهر في الصورة أعلاه البايتات (Bytes) شائعة الاستخدام في أقنعة محرف البدل. تتضمَّن البايتات المبيَّنة في الصورة آحادًا متجاورة، إلّا أن بعضها - مثل البايت ذي القيمة 63 - يحوي آحادًا متجاورة على اليمين، وليس اليسار كما يحدث في أقنعة الشبكة.

ينبغي الحذر عند استخدام أقنعة محرف البدل حتى لا نخلط بينها مع أقنعة الشبكة، ونحصل بالتالي على قناع محرف بدل لا يؤدّي الغرض منه. مثلًا، يشيع استخدام القيمة 252 في أقنعة الشبكة، إلّا أن هذه القيمة لها مدلول مختلف تمامًا في أقنعة محرف البدل. في أقنعة الشبكة تطابق القيمة 252 البتّات الستة الأولى من البايت، في حين تطابق في أقنعة محرف البدل البتّيْن الأخيريْن فقط، فلو استخدمنا تلك القيمة في قناع محرف بدل وكنّا نقصد بها مدلولها في قناع الشبكة فإننا نعكس الأمر تماما. الملاحظة نفسها تنطبق على القيمة 63 التي تطابق عند استخدامها في أقنعة الشبكة البتّيْن الأوليْن من البايت، في حين تطابق في أقنعة المحرف البتّات الستة الأخيرة.

أمثلة تطبيقية لمطابقة أقنعة محارف البدل

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

لننظر إلى المطابقة بين العنوان 192.168.30.0 وقناع محرف البدل 0.0.0.255 في المثال الأول في الصورة التالية.

02-acl-wildcards-example.jpg

يظهر في المثال الأول أننا البايتات الثلاثة الأولى من قناع محرف البدل تحوي أصفارًا فقط، وهو ما يعني أنّ المطابقة بينها وبين عنوان IP يجب أن تكون تامّة، وبالتالي نحصل على البايتات الثلاثة الأولى من عنوان IP، أي 192.168.30، كما هي. الأمر مختلف بالنسبة للبايت الأخير من القناع، إذ أنه لا يحوي سوى آحاد، أي أنّنا لا نبحث عن مطابقة بين هذا البايت والبايت المقابل من عنوان IP، ويمكن بالتالي أن يأخذ أي بت إحدى القيمتيْن الممكنتيْن، 0 أو 1، وهو ما يُرمَز له في الصورة بالحرف x.

ما أدنى قيمة يُمكِن أن يأخذها هذا البايت؟ الجواب هو أنها القيمة التي تكون فيها البتّات جميعها مساوية للصفر؛ أمّا أعلى قيمة فهي التي تكون فيها البتّات مساويّة للواحد. أي أننا أمام مجال يبدأ بـ 00000000 وينتهي بـ11111111، وتمكن كتابة حدود المجال بالقيم العشريّة 0 و255.

نستنتج ممّا سبق أنّ المطابقة بين العنوان 192.168.30.0 وقناع محرف البدل 0.0.0.255 تُنتِج لنا مجالًا من عناوين IP يبدأ بالعنوان 192.168.30.0 وينتهي بالعنوان 192.168.30.255.

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

يمكن أن نلاحظ من الشرح أعلاه أن نتيجة المطابقة بين عنوان IP وقناع محرف البدل هي دائمًا مجال من عناوين IP، لهذا نقول إن قناع محرف البدل هو عامل مجال (Range operator).

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

3-acl-wildcards-shortcut.jpg

تتمثل هذه الطريقة، كما تشرح الصورة أعلاه، في أخذ عنوان IP الذي نريد مطابقته وجعله بدايةَ المجال، ثم إجراء عمليّة بين جمع هذا العنوان والقناع للحصول على العنوان الأخير في مجال العناوين. بالنسبة للمثال الأول فإنّ بداية المجال هي العنوان 192.168.30.0 وعندما نجمعه مع قناع محرف البدل 0.0.0.255 نجد 192.168.30.255 الذي هو نهاية المجال.

الأمر نفسه ينطبق على المثال الثاني: 192.168.30.0 + 0.0.0.7 = 192.168.30.7.

ترجمة – وبتصرّف – للمقال Access Control Lists Wildcard Masking.


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...