سنخصّص درسًا لاحقًا للحديث بالتفصيل عن صياغة (Syntax) لوائح التحكم في الوصول، وهي صياغة تتكون من أجزاء متعدّدة. سنتعرَّف في هذا الدرس على جزء خاص من صياغة ACL وهو قناع محرف البدل (Wildcard mask)، الذي يصعب من دون استيعابه فهمُ ما نريد فعله في لوائح التحكم في الوصول.
يشيع استخدام محارف البدل في جوانب مختلفة من التقنية، مثلًا في عبارات البحث عن الملفات في أنظمة التشغيل. عندما تريد أن تبحث عن ملف وورد في مستعرض الملفات Explorer الخاص بوندوز فتستخدم غالبًا عبارة بحث مثل *.doc
أو *.docx
، أو ربما تجمع العبارتين معًا باستخدام عبارة البحث *.doc?
. يُفهَم من هذه العبارات أنك تبحث عن الملفات التي تنتهي بالامتداد doc
أو docx
مهما كان اسمها. النجمة *
وعلامة الاستفهام ?
هما محرفا بدل، بمعنى أنهما محرفان خاصان سيُستبدَلان في نتيجة البحث بمحرف واحد (في حالة علامة الاستفهام) أو أكثر (في حالة النجمة).
تُطبَّق قواعد مشابهة للمبدأ أعلاه في لوائح التحكم بالوصول، إذ تُرفَق فيها عناوين IP بأقنعة محرف بدل، الغرض منها تعريف بتّات (Bits) محدَّدة من العنوان.
عندما نتحدَّث عن أقنعة محرف البدل فنحن أمام سلسلة من البتات بطول عنوان IP (وهو32 بتّا)، أي أنها مكوَّنة من أصفار وآحاد؛ وتختلف عن قناع الشبكة (Network mask) في إمكانية وضع الأصفار والآحاد في أي موضع من القناع، وليس واجبًا أن تكون الأصفار (أو الآحاد) متجاورة. رغم ذلك، فمن الشائع – إلّا في حالات خاصّة – أن تكون الأصفار أو الآحاد متجاورة في قناع محرف البدل..
عندما نوازن بين عناوين وأقنعة محرف البدل فإن الموزانة تكون على مستوى البتّات. إذا كانت قيمة البت في قناع المحرف تساوي 0
فهذا يعني أنه يجب أن يكون البتّ في عنوان IP موضوع الاختبار مساويًّا للبتّ المقابل في عنوان IP المرفَق بالقناع في لائحة التحكم في الوصول. أما إن كانت قيمة البت تساوي 0
فهذا يعني أنه لا يهم إن كان البت المُختبَر يساوي 0
أو 1
. سنرى بعد قليل أمثلة لتطبيق القاعدة.
قلنا إن الموازنة بين القناع والعنوان تتمّ على مستوى البتات، إلّا أننا عمليًّا نستخدم قيمًا عشرية منقَّطة، مثل ما نفعل مع عناوين IP. تظهر في الصورة أعلاه البايتات (Bytes) شائعة الاستخدام في أقنعة محرف البدل. تتضمَّن البايتات المبيَّنة في الصورة آحادًا متجاورة، إلّا أن بعضها - مثل البايت ذي القيمة 63
- يحوي آحادًا متجاورة على اليمين، وليس اليسار كما يحدث في أقنعة الشبكة.
ينبغي الحذر عند استخدام أقنعة محرف البدل حتى لا نخلط بينها مع أقنعة الشبكة، ونحصل بالتالي على قناع محرف بدل لا يؤدّي الغرض منه. مثلًا، يشيع استخدام القيمة 252
في أقنعة الشبكة، إلّا أن هذه القيمة لها مدلول مختلف تمامًا في أقنعة محرف البدل. في أقنعة الشبكة تطابق القيمة 252
البتّات الستة الأولى من البايت، في حين تطابق في أقنعة محرف البدل البتّيْن الأخيريْن فقط، فلو استخدمنا تلك القيمة في قناع محرف بدل وكنّا نقصد بها مدلولها في قناع الشبكة فإننا نعكس الأمر تماما. الملاحظة نفسها تنطبق على القيمة 63
التي تطابق عند استخدامها في أقنعة الشبكة البتّيْن الأوليْن من البايت، في حين تطابق في أقنعة المحرف البتّات الستة الأخيرة.
أمثلة تطبيقية لمطابقة أقنعة محارف البدل
سنتعرَّف في الفقرات التالية بالتفصيل على كيفية استخدام لوائح التحكم في الوصول لأقنعة محرف البدل لمطابقة عناوين IP. من أجل ذلك سننزل إلى مستوى البتّات ونطابق العنوان مع القناع بتًّا بتّا، رغم أن الكتابة العشريّة هي المستخدمة في الواقع العملي، إلّا المطابقة على مستوى البتّات تفيد في الفهم الدقيق لآلية المطابقة.
لننظر إلى المطابقة بين العنوان 192.168.30.0
وقناع محرف البدل 0.0.0.255
في المثال الأول في الصورة التالية.
يظهر في المثال الأول أننا البايتات الثلاثة الأولى من قناع محرف البدل تحوي أصفارًا فقط، وهو ما يعني أنّ المطابقة بينها وبين عنوان 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).
رأينا في الفقرات السابقة آلية عمل قناع محرف البدل على مستوى البتّات، إلّا أنّنا في الواقع العملي نستخدم الكتابة العشرية، واللجوء إلى البتّات ليس دائمًا سهلًا وقد يكون مشوِّشا. توجد طريقة سهلة للحصول على مجال العناوين الذي يحدِّده القناع.
تتمثل هذه الطريقة، كما تشرح الصورة أعلاه، في أخذ عنوان 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.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.