Securing a Linux Box with Tariq

وصلتني إستفسارات عدة بخصوص طريقة تركيب وتشغيل طارق Tariq ويبدو إنه هناك لبس بسيط في طريقة عمل البرنامج ولهذا لم يعرف الجميع كيفية تشغيله … سأشرح في هذا الموضوع طريقة تركيب Tariq وكيفية الإستفادة منه … الشرح الذي في هذا الموضوع تم تطبيقه على توزيعة Debian الأخيرة (Debian 6 – Squeeze) … سأقوم بشرح الأمور البسيطة التي في طارق وبعدها نتوسع في مواضيع أخرى لأني أنوي ترقيته والتعديل على بعض الأمور فيه …

قبل أن أشرح طريقة إستخدام طارق (Tariq) … أود أن أشرح بشكل مبسط جداً طريقة عمله الهيكلية أو التقنية … أولاً طارق (Tariq) عبارة عن نظام لعمل الـ Port Knocking وأمور أخرى أكثر تقدماً من مجرد كونه طارق على المنافذ والتي نعرفها في التقنيات الموجودة حالياً، وسأوضح ذلك في مواضيع أخرى إن شاء الله … طريقة عمل طارق (Tariq) هي من خلال إعطائك أمر له ليقوم بتنفيذه … يأخذ هذا الأمر ويقوم بتشفيره بواسطة مفتاح العميل ومن ثم يقوم بإخفاءه بداخل صورة معينة … بعد ذلك يتم إرسال هذه الصورة مُجزئة على أجزاء بسيطة بداخل عدد الدقات التي ستقوم بها … طبعاً يفضل أن لا تكون الصورة كبيرة الحجم، وذلك لأنك وقتها ستحتاج الى وقت أكثر لترسل التعليمة المراد تنفيذها، وكذلك ستحتاج الى إما زيادة عدد الدقات، أو الى إرسال حٌزم كبيرة الحجم وذلك بحكم تقسيم الصورة على الحزم المرسلة … هذه العملية الى الآن تمت على العميل … حين يستلم طارق (Tariq) الدقات يراعي إنها أولاً تحمل بيانات ومن ثم يراعي إنها جائت وفق دقات معينة تم الإتفاق عليها وكذلك بالترتيب الذي تم الإتفاق عليه … الى هنا طارق لم يحلل ما في داخل الحزم المرسلة … بعد ذلك يعيد إرسال لنسميه تأكيد الى العميل، والتأكيد عبارة عن رقم عشوائي … هذا الرقم العشوائي يكون مُشفر بواسطة مفتاح عميل طارق العام ويُرسل بواسطة حٌزمة Packet الى العميل مرة أخرى لكي يقوم العميل بإثبات إن هذا الأمر فعلاً هو من قام بإرسالها له … العميل يستلم الحزمة، وكونها مٌشفرة بمفتاحه العام يقوم بفكها ثم يقوم بإرسال هذا الرقم مرة أخرى الى الخادم ليؤكد إنه نعم أنا صاحب الطلب والرجاء تنفيذ طلبي … هكذا تمت عملية الـ Mutual Authentication أو البعض يسميها 2Way Authentication … إذا تحقق كل هذا، يقوم طارق بتجميع الحزم وإستخراج الصورة منها … ثم يستخرج النص أو الأوامر المطلوبة منه تنفيذها من خلال فك تشفير النص المخفي بداخل الصورة بإستعمال المفتاح العام للعميل … هذا بإختصار شديد آلية عمل طارق … والكود المصدري للنظام موجود بإمكانكم تحميله والإطلاع عليه وتعديله أو العمل معي على تحسينه حسب ما ترونه … بالنهاية هو مفتوح المصدر ويخضع لرخصة GPL … وكذلك هو منشور في موقع Port Knocking الرسمي ضمن قائمة التطبيقات التي تمت في هذا المجال … هذا النظام سيفيدك في فتح المنافذ وغلقها وتنفيذ الأوامر والعمليات التي تحتاجها بدون أن تقوم بفتح الخدمة للجميع … يرجى مراجعة أنظمة Port Knocking وما هي فائدتها بهذا الخصوص أو للإستفادة أكثر …

الآن ندخل في عملية إستعمال طارق (Tariq) وقبل كل شيء ستحتاج عزيزي القاريء الى تركيب الحزم التي بالأسفل سواء للخادم أو للعميل … وعملية تركيبهم على دبيان وباقي التوزيعات اليوم أصبحت جداً بسيطة:

* Python >= 2.6
* python-imaging  - Python Imaging Library (PIL)
* GnuGP
* Scapy
* نواة حديثة تستخدم iptables مثال على ذلك هو نواة (2.6)

Continue reading

طارق – جاهز للتحميل !

السلام عليكم ورحمة الله وبركاته

قبل قليل أنتهيت من كتابة بحثي ورسالتي للدكتوراه حول الـ Port-Knocking وقمت برفع برنامج طارق Tariq بالكامل لمن يود تجربته وإستعماله … أو يطلع على الكود الخاص به … الكود بسيط جداً مكتوب بلغة بايثون بإستعمال Scapy لأغراض الـ Sniffing وأيضاً لأغراض الـ Packet Crafting … حيث يعتبر هو أساس المشروع بالكامل :)

لمن يود تحميله يمكنه ذلك من خلال الرابط التالي : DOWNLOAD

وإن كان هناك اي سؤال أو إستفسار حوله لا تترددوا في ذلك … طبعاً ساجيب حسب وقت فراغي ولهذا سامحوني على قلة التفاعل هذه الفترة …

دمتم بود …

Using Python for my Port-Knocking System & Simulator

السلام عليكم ورحمة الله وبركاته

اليوم إن شاء الله سأرسل المسودة النهائية من المقترح الخاص برسالتي الى الدكتور المشرف علي، وكنت قد أتفقت مع الدكتور على أن أعمل Simulation خاص بي وأترك NS2 لانني فعلا وجدته معقد، بالإضافة الى إعتراف الدكتور نفسه … هو ليس معقد وحسب بل ستقوم بجميع الأمور برمجياً … ولهذا بما إني سأقوم بالبرمجة، خبرت الدكتور لماذا لا أقوم أنا بعمل برمجة للنظام الجديد بالكامل … وأقوم بعمل Simulation لهجمات وإختبارات حقيقية على النظام ؟ … فقال خلاص إذا كنت قادر على عملها فلنقم بعملها وعلى ضوئها نقيس الـ Performance Measures للنظام الجديد … حسب خبرته هو الطويلة في هذا المجال أخبرني بإن NS2 سيأخذ منك وقت طويل جداً لتعلمه … قلت له وأنت الصادق تحتاج وقت طويل لتشغيله فكيف بتعليمه ::bgrim:: ولهذا خلاص نعمل واحد كامل يؤدي الغرض الذي نحتاجه أفضل بكثير … وحتى من خلال أحدى الدراسات التي أجراها وجد بإن نسبة كبيرة من طلاب الدكتوراه والباحثين يستعملون Simulator لعملهم خاص بهم ولا يعولون على البرمجيات الجاهزة مثل NetSim و NS2 و OpNET وغيرها …

من الإختبارات والهجمات الرئيسية التي سيتم عملها في الرسالة هي: Continue reading