المشاركة الأصلية بواسطة علي الشمري مشاهدة المشاركة
السلام عليكم ورحمة الله وبركاته

رمضان مبارك أولاً وكل عام وأنتم بخير إن شاء الله ...

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

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

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

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

أولاً: تركيب وإعداد العميل
قم بفك ضغط ملف طارق ونسخه الى /etc/ مثلاً كالتالي:
كود:
[LEFT]tar xvfj tariq.tar.bz2
cp -r tariq /etc/[/LEFT]
بعد ذلك لنغيير تصاريح مجلد العميل:
كود:
[LEFT]chmod 600 /etc/tariq/.client-gpg[/LEFT]
الآن كون Tariq يستعمل GnuPG فيجب علينا تهيئة المفاتيح والإعدادات اللازمة لذلك …
كود:
[LEFT]gpg --homedir /etc/tariq/.client-gpg --gen-key[/LEFT]
بعد ذلك قم بإختيار الخيار الثاني (2):
كود:
[LEFT](2) DSA and Elgamal[/LEFT]
وبعدها أضغط Enter عند وصولك لهذه:
كود:
[LEFT]DSA keys may be between 1024 and 3072 bits long.
What keysize do you want? (2048) [/LEFT]
الآن كذلك اضغط Enter وذلك لجعل المفتاح لا ينتهي بزمن، طبعاً أنت ممكن تعمله ينتهي بزمن لكن بعد ذلك يجب ان تعيد عملية عمل المفتاح وما الى ذلك … لغرض الشرح والتوضيح سنكمل مع خيار الأساسي:
كود:
[LEFT]Key is valid for? (0) [/LEFT]
الآن سيؤكد عليك … ولهذا جوابك يكون نعم:
كود:
[LEFT]Key does not expire at all
Is this correct? (y/N) [/LEFT]
عند وصولك الى الأسم، ضع الأسم الذي تريده للمفتاح … الأسم سيساعدك حين تدير خادم Tariq ويستخدمه مستخدمين عدة وذلك لتميز بينهم:
كود:
[LEFT]Real name: [/LEFT]
أنا سأضع لغرض الشرح Tariq كأسم:
كود:
[LEFT]Real name: Tariq[/LEFT]
وعند سؤاله عن بريد، ضع البريد الذي تريده للمستخدم، بالنسبة لي أيضاً طارق:
كود:
[LEFT]Email address: [email protected][/LEFT]
في حقل Comment ممكن تكتب مثلا إن هذا عميل طارق:
كود:
[LEFT]Comment:  Tariq Client[/LEFT]
وأخيراً عندما تصل الى الجملة التي بالأسفل يرجى الضغط على O وذلك بالموافقة:
كود:
[LEFT]Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? [/LEFT]
الآن علينا أن نقوم بتصدير المفتاح الذي عملناه لنعطيه للخادم الذي سيشغل Tariq وذلك لكي يستطيع أن يتعرف على العميل هذا … ولهذا نقوم بالتالي:
كود:
[LEFT]gpg --homedir /etc/tariq/.client-gpg -a --export [email protected] > client.pubkey.txt[/LEFT]
ارجوا أن تضع بدل [email protected] البريد الذي قمت بإستعماله، وإذا كنت تستعمل مسار آخر قم بتغييره كذلك … الرجاء عدم نسيان ذلك … وقم بنسخ المفتاح client.pubkey.txt الى الخادم الذي سيعمل عليه Tariq … الآن قم بتحرير الملف client.conf وتأكد من الإعدادات التالية:
كود:
[LEFT]client_gpg_dir=/etc/tariq/.client-gpg
[email protected]
img_dir=img
secret_ports=10000,7456,22022,12121,10001[/LEFT]
هذه أهم الأمور التي تحتاج ضبطها في جهاز العميل … الأول هو لتعريف مكان وجود مفتاح GnuPG الخاص بالعميل … والثاني هو لتعريف إسم المستخدم (بريده) والثالث هو مكان وجود الصورة التي سيتم إخفاء الأوامر المراد تنفيذها فيها بواسطة تقنية الـ Steganography
أيضاً قم بتعديلها حسب ما تناسب احتياجاتك … والسطر الأخير هو المنافذ الذي سيقوم طارق بالطرق عليها … يمكنك تغييرهم كلهم حسب ما تريد وحسب ما يناسبك … هكذا أنتهينا من إعداد العميل الذي سيتعامل مع الخادم الذي عليه طارق … الرجاء لا تنسى نسخ المفتاح الخاص بالعميل الى الخادم … أحببت تذكرتكم في ذلك …


يرجى إكمال القراءة هنا ...