الأربعاء، 25 يناير 2012

أعدادات tcpwrappers في لينكس

بسم الله الرحمن الرحيم 

(TCP Wrappers) هو برنامج يوجد في معظم أنظمة لينكس بشكل أفتراضي , و تتخلص مهام في التحكم في الوصول إلى الحاسب من الشبكة .

و تستطيع بواسطة هذا البرنامج التحكم بقائمة العناوين المحددة ( IP أو Domains ) أو مدى من العناوين  التي يسمح لها بالوصول أو لا , و تستطيع تحديد الوصول للحاسب بشكل عام أو لخدمة مثبته في الحاسب مثل خادم HTTP و SSH .

يستخدم TCP Wrappers الملفين hosts.deny و hosts.allow لتحديد قائمة القواعد الخاصة بالمستخدم , و سوف تتعرف على كيفية كتابة القواعد الخاصة بهذين الملفين , و لكن يجب أن تعرف كيفية تحديد ما أذا كان برنامج الخادم "Server" يدعم TCP Wrappers بأستخدام هذه الخطوات :


  • من موجه الأوامر "Terminal" في نظامك قم بكتابة هذا الأمر :
ldd /usr/sbin/sshd | grep libwrap

المسار التالي للأمر lld هو المسار الخاص بالملف التنفيذي "binary" للسيرفر و في حالة عدم معرفة للمسار الملف قم بتنفيذ الأمر whereis متبوع بأسم الملف التنفيذي و في هذه الحالة "sshd" ليظهر لك المسار الخاص بالملف .

في حالة تنفيذك للأمر السابق و ظهر لك سطر مشابه لهذا  :
libwrap.so.0 => /lib/libwrap.so.0 (0x0ffd6000)

فهذا يدل على وجود دعم لخدمة TCP warppers , و العكس صحيح .


و الأن إلى شرح الملفين الخاصين بهذه البرنامج و هما etc/hosts.deny/ و etc/hosts.allow/ :

1. hosts.deny :

يتم وضع العناوين التي يتم منع أتصالها بالنظام و هذا مثال على منع الأتصال للموقع example.com :

ALL:.example.com

  • ALL : الخدمة التي تريد منع الاتصال بها و في حالة كتابة الكلمة "ALL" سيتم منع الوصول للنظام لجميع المنافذ .
  • .example.com : العنوان الألكتروني المراد منعه من الأتصال بالنظام , أذا لاحظت النقطة في بداية العنوان فذاك لحظر جميع النطاقات الفرعية في الموقع example.com من الوصول للنظام مثل (www.example.com , server1.example.com) .
  • منع الوصول لخدمة "سيرفر" معين من قبل المستخدم

sshd:.example.com

لقد أستخدامنا في هذا المثال السيرفر الخاص بخدمة SSH ( الأتصال الأمن ) , و قمنا بمنع الأتصال به من العنوان example.com. , لاحظ النقطة في بداية عنوان example.com الذي يرمز للعناوين الفرعية (sub domain) مثل (www.example.com, server1.example.com ) .

  • منع الوصول للنظام نهائياً :
ALL:ALL
سوف يقوم النظام بمنع الأتصال لجميع العنوانين الألكترونية بأستثناء العناوين الموجودة في الملف hosts.allow .

  • منع مدى معين من العناوين :
.ALL:127.0

في هذا المثال قمنا بمنع جميع العناوين التي تقع في المجال (127.0.255.255 إلى 127.0.0.0 ) , و تستطيع ذلك بكتابة الجزء الثابت من العنوان الخاصة بالشبكة مثل (192.0.) متبوعاً بنقطة للدلالة على الجزء المتغير في عناوين الشبكة .

  • أستثناء عنوان من المنع :
ALL:127.0. EXCEPT 127.0.0.1,127.0.0.3

تستطيع ذلك بأستخدام الكلمة EXCEPT و ذلك بكتابة العناوين المراد  تجنب حظرها بعد التصريح عن مدي العناوين ( في حالة أكثر من عنوان يفصل بينها بأستخدام "," ) .


2. hosts.allow:


تنتطبق نفس قواعد الكتابة الخاصة بملف hosts.deny و لكن يتم منح الوصول للعناوين الموجودة في الملف كما في هذا المثال السابق :


ALL:127.0. EXCEPT 127.0.0.1,127.0.0.3


حيث أن كتابة هذا السطر في ملف hosts.allow تعني منح الوصول لجميع العناوين من 127.0.0.0 إلى 127.0.255.255 ما عدا العنوانين (127.0.0.3 و 127.0.0.1 ) .

ليست هناك تعليقات:

إرسال تعليق