سوالف اندرويد




العودة   سوالف سوفت > سوالف الشبكات والاستضافة وما يتعلق بهما > الشبكات والخوادم وقواعد البيانات
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو نشيط
#1  
تحكّم بسيرفراتك بسهولة باستخدام iCommander

iCommander هو نظام Command & Control Centre هدفه توفير طريقة سهلة وآمنة تمكّن مدراء السيرفرات من التحكم بجميع سيرفراتهم من مكان واحد وبنفس الوقت. في هذا المقال سأشرح بالتفصيل كيف يمكننا اعداد سيرفر وعميل iCommander واستخدامه للتحكم بعدّة سيرفرات بسهولة.

لقد عرّفت عن iCommander وبعض ميّزاته عند اطلاقه قبل مدّة ليست بالبعيدة لكن قبل أن أبدء الشرح قد يسأل شخص نفسه, بماذا سيفيدني iCommander وما هو هدفه؟ حسناً لنفرض أنك مدير سيرفرات في احدى الشركات مسؤول عن ادارة 5-10 سيرفر موجود في الشبكة أو حتى موزّعة بمناطق مختلفة وتقوم بادارتها من الانترنت وقررت اعادة اعداد احدى الأمور بجميع السيرفرات, على سبيل المثال تغيير الـ DNS Nameserver أو اعادة اعداد سيرفر Apache, حذف/اضافة مستخدم جديد, تحديث هذه السيرفرات, تركيب برنامج جديد... بهذه الحالة 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.gz
كود:
cd 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:s
45:m
12:h
2:d
يمكنك تحديد أي رقم تريد أما s فتعني ثانية, m دقيقة, h ساعة و d يوم. في هذا المثال سأبقي القيمة الافتراضية كما هي لتقوم السيرفرات بطلب الأوامر الجديدة من سيرفر التحكم كل 6 ساعات.

بعد الانتهاء من الاعدادات وحفظها, يمكنك تشغيل icommander-client باستخدام الأمر التالي:
كود:
./icommander-client
وأيضاً يمكنك انشاء ملف باسم icommander-client.sh مثلاً واضافته لبدء الشتغيل بعد اعداده بنفس الطريقة التي تم توضيحها مسبقاً.

ما سيحدث الآن هو قيام icommander-client بطلب الأوامر الجديدة من سيرفر التحكم, تخزينها في المجلد executed وتشغيلها ثم ارسال المخرجات للايميل الذي قمت بتحديده في ملف الاعدادات والانتظار حتى انتهاء المدة المحددة ليقوم بطلب الأوامر مرّة أخرى.

كذلك يمكنك متابعة مجريات التشغيل عن طريق ملف client.log:
كود:
tail /etc/icommander/log/client.log
أمر أخير أود الاشارة اليه وهو امكانية تحديث سيرفر iCommander بسهولة باستخدام الأمر:
كود:
./icommander -u
مع التذكير بضرورة اعادة تشغيل سيرفر التحكم بعد تحديثه, أما بالنسبة لسيرفرات العملاء فلقد تم اضافة خاصيّة تحديثهم بشكل تلقائي في حال تحديث سيرفر التحكم أي اذا قمت بتحديث سيرفر التحكم وكان هنالك تحديث متوفّر للعملاء, سيطلب سيرفر التحكم من العملاء تحديث نفسهم بشكل تلقائي واعادة تشغيل نفسهم ثم الاتصال بسيرفر التحكّم مرة أخرى.. بهذه الطريقة عملية التحديث والترقية لن تكون مشكلة وسنحافظ على التوافقية بين iCommander Server و iCommander Client.

المصدر: تحكّم بسيرفراتك بسهولة باستخدام iCommander






__________________
||-[ Br4v3-H34r7.com ]-[ iSecur1ty.org ]-||

آخر تعديل بواسطة Br4v3-H34r7 في 01-05-2010 الساعة 01:17 AM.
Br4v3-H34r7 is offline   قديم 01-05-2010, 01:10 AM
الرد مع إقتباس
عضو سوبر نشيط
#2  

أداة رائعة من شخص رائع وانصح بتجربتها ونحن نستخدم شىء مشابه في التحكم بسيرفراتنا منذ فترة
بالتوفيق اخي العزيز ساري






__________________
متخصصون في ادارة السيرفرات والدعم الفني على مدار الساعة ومن عملائنا:
http://www.arabhosters.com/customers.html
صفحتنا على فيس بوك
https://www.facebook.com/arabhosters
Arabhosters.com is offline   قديم 01-05-2010, 03:17 AM
الرد مع إقتباس
عضو سوبر نشيط
#3  

جزاك الله خيرا على الاداه الرائعه ...

لم اكن اعلم بوجودها من قبل ولكني قمت ببرمجة شيئ مشابه عن طريق ال bash shell يمكنني التحكم في جميع السيرفرات مره واحده من ترقيات وخلافه

نتمنى منك المزيد من الابداع بادواتك الجديده






king vb is offline   قديم 01-05-2010, 10:35 AM
الرد مع إقتباس
عضو نشيط
#4  

شكراً Arabhosters.com , king vb على التشجيع وأتمنى أن يكون iCommander مفيد للبعض بالنسبة للاعتماد على shell script لتنفيذ ذلك, الأمر ممكن لكن iCommander أسهل في الاستخدام ويوفّر خيارات ودرجة حماية أفضل. تحياتي,,






__________________
||-[ Br4v3-H34r7.com ]-[ iSecur1ty.org ]-||
Br4v3-H34r7 is offline   قديم 02-05-2010, 12:06 PM
الرد مع إقتباس
الرد على الموضوع



أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
ترميز ملف كـ utf-8 باستخدام ال php , كيف ؟؟ dewan159 PHP 11 18-04-2008 05:32 PM
شرح اخذ باك اب بسهولة ahdaf.net الويب والويب 2.0 والـ Semantic Web 10 05-10-2007 09:10 PM
هل يمكن ذلك باستخدام ال PHP ؟ KAD PHP 1 09-03-2007 01:51 PM
CSS بسهولة (2) سردال الويب والويب 2.0 والـ Semantic Web 16 11-03-2004 04:28 AM
CSS بسهولة (1) سردال الويب والويب 2.0 والـ Semantic Web 18 26-04-2003 08:59 AM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 11:56 AM.