بتـــــاريخ : 2/26/2011 5:20:59 AM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 869 0


    Secure Tunnels تابع سلسلة Security FAQs

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : HGB | المصدر : www.arabteam2000-forum.com

    كلمات مفتاحية  :

    23/ Secure Tunnels

    هنا سنتحدث عن L2/Tunnels Tunnels تعمل في DataLink Layer أي Layer2 في OSI , وتعمل تمرير packets المراد نقلها في مايشبه النفق بين نقطتين هذا النفق حقيقة يقوم بتغليف وتمرير ال packets بين 2 ports ل 2 applications أو services , والسبب الذي يدعو غالبا لإستخدام tunnel هو إضافة ميزة الأمن للبيانات التي ستنقل . أيضا نقل البيانات بين عدة أنواع Interfaces فيتم عمل encapsulation للبيانات المراد تمريرها حسب ال DataLink Layer في Inteface التالي ... مثلا نقل البيانات لتخرج من ethernet NIC إلى موديم PSTN يعمل على PPP protocol .

    كما قلت نستفيد غالبا من tunnels في أن نمرر البيانات بطريقة آمنة ومشفرة بالتالي نضمن عدة أمور :
    1. لايمكن لأي sniffer أن يعرف ماذا تنقل من بيانات , بالتالي DNS Poisoning وهجمات MITM لن تصلح إن كان الهدف سرقة بعض البيانات الحساسة من أحد المخولين .
    2. شركة ال ISP التي تستخدمها لتصفح الإنترنت لن تعرف ماذا تفعل أساسا ستكون مختفي وبياناتك التي تقوم بنقلها مجهولة تماما , فحتى لو كان لدى شركة ISP سياسات من الدولة بتقفي أثر البيانات التي تنقل في شبكتهم عن مستخدمي الإنترنت فلن يستفيدو شيئا .مع العلم أن البروكسيات تفضح ماتنقل من بيانات لشخص موجود في ISP التي تنقل بياناتك عن طريقه .
    3. لو كانت شركة ال ISP تقوم بحظر بعض أنواع البروتوكولات والتي تعمل في منافذ معينة بعمل filters لهذه المنافذ الثابتة فنعرف أنه يمكن إستخدام بروكسي سيرفر عادية والتي ستأتي لك بالبيانات من المكان المطلوب بالنيابة عن ISP الخاص بك بشكل مباشر , البروكسي يعمل كدور وكيل لنقل البيانات وسيحصل تزوير لرقم المنفذ الذي طلبت منه الخدمة "مثلا تريد الوصول بشكل مباشر للمنفذ 69 في جهاز بعيد لخدمة TFTP وال ISP يمنع هذا المنفذ ك destination Port بالتالي تستخدم بروكسي سيمرر البيانات عنك ولنقل في المنفذ 8080 فهذا ماسيظهر لدى ISP " وفي نفس الوقت تزوير في رقم الآيبي في الموقع الذي وصلت إليه .
    4. الخطوة 3 ليس لها علاقة بال tunnels, لكن لو كانت شركة ISP تستخدم Layer7 Filters في ال firewall , بالتالي لايغلقون المنافذ بأنها ثابتة لخدمات معينة وإنما يراقبون Packets المرسلة ويعرفون من Layer7 فيها لأي application هي تابعة ويقومون بناء على ذلك بفلترتها أم السماح لها , هنا سنشفر لهم هذه البيانات في layer7 وبعدها لنرى ماذا يمكن أن يفعلو ;) ولن تعرف ببساطة لأي خدمة هي تابعة حيث أن كل application له stamp معين في layer7 يمكن عن طريقه معرفة الخدمة "مثلا لفلترة بيانات torrent حيث أن الأخيرة لاتستخدم منافذ ثابته من الأساس" .

    كما تلاحظ إستخدامات tunnels الغالبة تتركز في الخصوصية . الآن لنذهب للخطوة التالية ونبين كيف يمكن أن نبدأ بإستخدام secure tunnels .
    أولا tunnel نفسه سيكون خدمة SSH والتي هي مسؤولة بالعمل كواسطة بين البيانات المرسلة من جهازي إلى بروكسي سيرفر بعيد على نفس السيرفر الذي فيه SSH service .
    الفكرة تكمن في أن نفتح منفذ في localhost ولنقل 3333 ونجهز جلسة tunnel لتنقل البيانات وتشفيرها للمنفذ البعيد 8080 ليستلمها proxy server الذي سيجلب لي البيانات من الإنترنت .

    في putty SSH بعد عمل connect مع الجهاز البعيد والضغط على الأيقونة في الزاوية اليسرى العليا كما في الصورة :

    Resized to 78% (was 834 x 426) - Click image to enlargeارفق صورة : monthly_10_2008/post-19273-1224643728.jpg

    ثم :
    Resized to 92% (was 705 x 489) - Click image to enlargeارفق صورة : monthly_10_2008/post-19273-1224643779.jpg

    الآن لو كان في السيرفر 10.10.10.1 الذي إتصلت به للتو بال ssh فيه بروكسي سيرفر ويعمل في المنفذ 8080 كما في الإعدادات , فكل ماعليك هو أن تغير إعدادات بروكسي سيرفر لديك في المتصفح لتصبح localhost:3333 , وبعدها تصفح الإنترنت بطريقة آمنة :)
    مايحدث كما وضحنا يتم تشفير كل البيانات التي سترسلها أنت مستخدماSSH Tunnel ثم التصفح عن طريق البروكسي 8080 سيرفر ذهابا وإيابا ويتم فك التشفير فقط في السيرفر قبل أن تمرر الباكتس من client للبروكسي وأيضا عند وصول البيانات ل client يتم فك التشفير لتمرير البيانات للمنفذ 3333 . قوة التشفير هنا تخضع لقوة مفاتيح للتشفير المدعومة من SSH Server لديك وأيضا خوارزمية التشفير المستخدمة DES / AES ... etc .

    بالطبع يمكن إستخدام tunnels في كل شيء , فلو أردت مثلا أن تتصفح إيميلك على سيرفر pop3 يكون أيضا في نفس السيرفر الذي فيه ssh service يمكن أن تقوم بتمرير البيانات فقط لمنفذ pop3 وال default له 110 , وهكذا .
    لعمل tunnel مباشرة وقت الإتصال ب SSH في لنكس يمكن أن نستخدم :
    CONSOLE

    ssh -f user@10.10.10.1 -L 3333:10.10.10.1:8080 -N


    كلمات مفتاحية  :

    تعليقات الزوار ()