| تحكّم بسيرفراتك بسهولة باستخدام iCommander |
| الكاتب عبدالمهيمن الآغا |
| الخميس, 29 أبريل 2010 21:42 |
|
iCommander هو نظام Command & Control Centre هدفه توفير طريقة سهلة وآمنة تمكّن مدراء السيرفرات من التحكم بجميع سيرفراتهم من مكان واحد وبنفس الوقت. في هذا المقال سأشرح بالتفصيل كيف يمكننا اعداد سيرفر وعميل iCommander واستخدامه للتحكم بعدّة سيرفرات بسهولة.
التنصيب:في البداية يجب التأكد من وجود مفسّر Ruby منصّب على السيرفر: ruby -vسيكون الناتج مثلاً حسب الاصدار الذي تستخدمه: ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-linux]في حال لم يكن المفسّر موجود يمكنك تنصيبه بسهولة باستخدام الأمر: yum install rubyاذا كنت تستخدم سيرفر RHEL/CentOS/Fedora.. أو الأمر: apt-get install rubyاذا كنت تستخدم سيرفر Ubuntu أو أي توزيعة أخرى مبنية على Debian كذلك يمكنك تنصيب Ruby من المصدر بعد تحميلها من هذه الصفحة. الآن سنقوم بتحميل iCommander باستخدام الأمر: wget http://icommander.isecur1ty.org/download/icommander.tar.gzفك الضغط باستخدام الأمر: tar xzvf icommander.tar.gzcd icommander-* الأن لو استعرضنا الملفات سنجد التالي: icommander-0.2/log/icommander-0.2/executed/ icommander-0.2/config/ icommander-0.2/README icommander-0.2/ip_addresses.lst icommander-0.2/installer icommander-0.2/icommander-client icommander-0.2/icommander icommander-0.2/COPYING icommander-0.2/commands.sh icommander-0.2/CHANGELOG icommander-0.2/config/server.conf icommander-0.2/config/client.conf يمكنك البدء باستخدام iCommander مباشرة دون الحاجة لتنصيب كونه لا يعتمد على أي مكتبات خارجية ولا يقوم بتغيير اعدادات النظام, لكن في حال أردت تنصيب iCommander على السيرفر يمكنك القيام بذلك ببساطة عن طريق البرنامج المرفق معه لكن لاحظ أنك ستحتاج لصلاحيات root لتنفيذ ذلك, نفّذ الأمر التالي للاطلاع على خيارات الـ Installer: ./installer -hولتنصيبه كل ما عليك هو تنفيذ الأمر: ./installer -iليظهر لك شبيه بالرسالة التالية تخبرك بتنصيب iCommander بنجاح: Starting iCommander Installer on [Fedora.Linux] at (Thu Apr 29 20:30:46 2010)Copyright (C) 2010 iSecur1ty <http://icommander.isecur1ty.org> [*] Installing iCommander in '/etc/icommander', please wail... [*] iCommander has been installed succesfully. حتى الآن كل ما تم هو نسخ مجلّد icommander الى المسار /etc ومازلنا بحاجة لاعداد سيرفر التحكم وباقي السيرفرات.
الاعداد:iCommander Server: لاعداد سيرفر تحكم iCommander يهمّنا ثلاث ملفّات فقط هي: /etc/icommander/config/server.conf/etc/icommander/ip_addresses.lst /etc/icommander/commands.sh الملف الأول هو ملف الاعدادات الخاص بالسيرفر, أما الثاني فيجب أن نضع به الـ IP Addresses الخاصّة بالسيرفرات المراد التحكّم بها وسنضع في commands.sh الأوامر المراد تنفيذها على باقي السيرفرات. سنبدء بتعديل الملف الأول باستخدام محرّر النصوص, شخصياً سأستخدم برنامج nano: nano /etc/icommander/config/server.confيمكنك تغيير الاعدادت الموجودة حسب ما يناسبك, لكن ما يهمنا حالياً هو تحديد كلمة مرور للسيرفر والا سيقوم السيرفر بتوليد كلمة سر عشوائية عند كل اعادة تشغيل وهذا شيء لا نريده طبعاً: PASSWORD = iSecur1ty.orgوسأغيّر أيضاً قيمة RANGE لتحديد نطاق الشبكة المسموح به وهذا أمر مهم جداً اذا كنت تريد التحكّم بعدّة سيرفرات موجودة ضمن نفس النطاق, مثلاً يمكنك تحديد النطاق: RANGE = 192.168.0.0/24اذا كانت السيرفرات موجودة داخل شبكة محلّية وبهذه الحالة أي IP موجود ضمن النطاق المحدد سيسمح له بالاتصال مع سيرفر التحكم ويمكنك ابقاء امكانية الاتصال مع سيرفر التحكم مفتوحة للجميع اذا حددت نطاق مثلاً: RANGE = 0.0.0.0/0لكن هذا أمر غير منصوح به طبعاً ودائماً يفضّل تحديد نطاق محدد للمحافظة على مستوى أمان أفضل. اذا كنت تملك عدّة سيرفرات موزّعة وليست موجودة ضمن نطاق واحد, هنا يأتي دور ملف ip_addresses.lst لتضيف أيبيات السيرفرات اليه. nano /etc/icommander/ip_addresses.lstأضف IP كل سيرفر في سطر جديد ثم احفظ التغييرات. ما بقي علينا هو تحديد الأوامر المراد تنفيذها على السيرفرات, وهنا يأتي دور الملف commands.sh: nano /etc/icommander/commands.shلاحظ أن الملف يحتوي على أوامر تستخدم للتجربة وسأبقي عليها حاليّاً, أما أنت فتستطيع أن تضع أي أوامر أو Shell script تريد أن يتم تنفيذه على السيرفرات الأخرى: #!/bin/bash# This is a simple shell script for testing. echo "[*] Username:" whoami echo "[*] Running kernel:" uname -rv echo "[*] Current Processes:" ps aux echo "[*] Network Connections:" lsof -i الآن لنقم بتجربة السيرفر عن طريق تشغيله باستخدام الأمر: cd /etc/icommander./icommander لتظهر لنا رسالة تشبه: Starting iCommander Server 0.2 at (Thu Apr 29 20:55:53 2010)Copyright (C) 2010 iSecur1ty <http://icommander.isecur1ty.org> [*] Waiting for connections on port [2012], Thu Apr 29 20:55:53 2010 هذا يعني أن السيرفر يعمل بشكل سليم وينتظر الاتصالات الواردة على المنفذ 2012, اذا أردت جعل iCommander يعمل مع بدء التشغيل أغلق السيرفر بالضغط على Ctrl+C ثم أنشئ ملف جيد باسم icommander.sh: nano /etc/icommander/icommander.shوأضف اليه التالي: #!/bin/bash/etc/icommander/icommander > /dev/null 2>&1 بعد حفظ الملف نجعل الملف تنفيذي باستخدام الأمر: chmod +x /etc/icommander/icommander.shبعد ذلك عدّل على الملف: nano /etc/rc.localوأضف اليه السطر التالي: /etc/icommander/icommander.shبهذه الحالة نكون انتهينا من اعداد سيرفر تحكّم iCommander وكل ما علينا هو تشغيل الملف icommander.sh: ./icommander.shويمكنك متابعة ملّف اللوج الخاص بالسيرفر: tail /etc/icommander/log/server.log
iCommander Client: يمكنك تنصيبه بنفس الطريقة التي استخدمناها لتنصيب سيرفر تحكّم iCommander وما سيختلف هو الاعدادات فقط. عوضاً عن تعديل الملف: /etc/icommander/config/server.confسنقوم بتعديل: /etc/icommander/config/client.confفي البداية سنحدد IP سيرفر تحكم iCommander: SERVER = 192.168.0.3وسنستخدم نفس كلمة المرور التي استخدمناها عند اعداد سيرفر التحكم: PASSWORD = iSecur1ty.orgولا تنسى تحديد ايميلك ليتم ارسال مخرجات التنفيذ اليه: EMAIL = email@example.comأخيراً بقي علينا تحديد مدّة الانتظار بين كل عملية طلب للأوامر الجديدة وتحديدها يعتمد على طبيعة السيرفرات الموجودة, القيمة الافتراضيّة هي: TIME = 6:hوهذا يعني 6 ساعات, يمكنك تغييرها للقيمة التي تناسبك وفق التنسيق التالي: 30:s45:m 12:h 2:d يمكنك تحديد أي رقم تريد أما s فتعني ثانية, m دقيقة, h ساعة و d يوم. في هذا المثال سأبقي القيمة الافتراضية كما هي لتقوم السيرفرات بطلب الأوامر الجديدة من سيرفر التحكم كل 6 ساعات. وأيضاً يمكنك انشاء ملف باسم icommander-client.sh مثلاً واضافته لبدء الشتغيل بعد اعداده بنفس الطريقة التي تم توضيحها مسبقاً. كذلك يمكنك متابعة مجريات التشغيل عن طريق ملف client.log: tail /etc/icommander/log/client.logأمر أخير أود الاشارة اليه وهو امكانية تحديث سيرفر iCommander بسهولة باستخدام الأمر: ./icommander -uمع التذكير بضرورة اعادة تشغيل سيرفر التحكم بعد تحديثه, أما بالنسبة لسيرفرات العملاء فلقد تم اضافة خاصيّة تحديثهم بشكل تلقائي في حال تحديث سيرفر التحكم أي اذا قمت بتحديث سيرفر التحكم وكان هنالك تحديث متوفّر للعملاء, سيطلب سيرفر التحكم من العملاء تحديث نفسهم بشكل تلقائي واعادة تشغيل نفسهم ثم الاتصال بسيرفر التحكّم مرة أخرى.. بهذه الطريقة عملية التحديث والترقية لن تكون مشكلة وسنحافظ على التوافقية بين iCommander Server و iCommander Client.
إضافة إلى المفضلة
مشاركة
إرسال إلى صديق
المشاهدات: 1417 التعليقات (3)
![]() أرسلت بواسطة: hamza_hack_dz في April 30, 2010
والله دائما مبدعين مشكورين على أداة رائعة
أرسلت بواسطة: root3ksa في May 01, 2010
مشكور عبد المهيمن على الابداء والله يجزاك خيرا
أرسلت بواسطة: H4kr3m في May 02, 2010
السلام عليكم ورحمة الله اخي عبد المهين دائماً تتالق ، لا استطيع ان استعمله لانني املك سرفر لكن باذن الله ساحاول حصول على واحد وتجربة اداء ، وجميل انك برمجته وهذا يعود الى الخبرة والمستوى ويدل على انك ـ مشاء الله ، وفقك الله واداة اعجبتني بفكرتها الجميلة وطريقة عملها والاروع فيها انها بـاللغة Ruby بارك الله فيك انا مبتدى في بايثون .. وان شاء الله
سنتعلم روبي الرائعة ، دمت بسلامة جزاك الله خيرا أضف تعليق
يجب عليك الاشتراك بالموقع لتتمكن من كتابة التعليقات, الاشتراك مجاني ويستغرق بضع ثوان فقط!
اذا كنت مشترك مسبقا في الموقع فضلاً قم بتسجيل الدخول. |








