شرح أداة ProxyChains

 هذه تدوينة قمت بكتابها لصالح مجتمع القبعات البيضاء وقام بمساعدتي فيها اﻻخ مهند شحات
Proxy Chains عبارة عن أداة تمكنك من الإتصال ببروتوكولات مثل SSH, TELNET, VNC, FTP من خلف خادم بروكسي HTTP, HTTPS, SOCKS.

متى يمكن استخدام ProxyChains:

  1. عندما تكون الطريقة الوحيدة لأي اتصال خارج شبكتك عن طريق بروكسي
  2. لتخطي بعض إعدادات جدران الحماية Firewalls للإتصال الخارجي
  3. لإستخدام أكثر من بروكسي للإتصال
  4. لإستخدام البروكسي في بعض بروتوكولات TCP مثل TELNET وغيرها
لتوضيح الفائدة من هذه الأداة لنأخذ مثال للتوضيح:
لنفترض أننا نريد أن نقوم بعمل فحص لخادم www.google.com عن طريق برنامج nmap لكن أريد ان أكون مجهول الهوية بقدر الإمكان عند فحصي للخادم. في هذه الحالة يمكن استخدام ProxyChains + شبكة TOR.

افتراض:
افترض انك تستخدم توزيعة Backtrack والتي تأتي إفتراضياً محملة بـ ProxyChains وبرنامج Tor يستمع افتراضيا على المنفذ رقم 9050 ويمكنك التحقق من ذلك بواسطة اﻻمر التالي :

في ملف إعدادت ال ProxyChains تستطيع تحديد البروكسي الذي تريد استخدامه , وكما هو موضح باﻻزرق أمثلة على انواع البروكسي , وفي حالتنا هنا استخدمنا بروتوكول socks4 وعنوان البروكسي هو الجهاز الخاص بنا ورقم المنفذ هو 9050 الذي يستخدمه برنامج Tor

اﻻن لو قمت بعمل فحص لخادم www.google.com بدون استخدام شبكة TOR , يمكن التعرف على هويتك عن طريق الـIP باستخدام نظام كشف للتسلل Intrusion Detection Systems، او غيره.

ولكي تخفي هويتك تحتاج لإستخدام برنامج nmap من خلف بروكسي TOR عن طريق استخدام أداة ProxyChains

ختاماً، إستخدامات ProxyChains كثيرة يمكنك اكتشافها حسب الحاجة والمتطلبات فإستخدمها في بعض الأوقات يعتبر مفيد جداً.

سكربت fanout لإرسال الاوامر لأكثر من سيرفر في نفس الوقت

هل صادفت مرة معك وان احتجت لنفس اﻻمر على على أكثر من سيرفر ؟ كمثال تريد تحديث أنظمة الريدهات الموجودة لديك :
yum update -y
طبعاً  لن تواجه مشكلة لو كان عندك سيرفرين او 3 أو حتى 5 , لكن لمّا نتكلم عن أكثر من 20 سيرفر , أكيد سوف تتعرض لمشكلة , لأنه من غير الطبيعي انك تدخل على كل سيرفر وتنفذ نفس اﻻمر ! دائماً مدير اﻻنظمة الجيّد لايفعل نفس الشيئ مرتين !  
طبعاً يوجد مايعرف  بconfiguration managmant softwear مثل puppet,chef , هذه اﻻدوات جداً احترافية وتحتاج كثير من الوقت والمعرفة عشان تقوم في بنائها في البيئة الخاصة بك.
اليوم راح أتكلم عن سكربت بسيط يدعى fanout , وظيفة السكربت هذا انه يقوم بإرسال اﻻمر نفسه الى  العدد الذي تطلبه من السيرفرات ومن ثم يقوم بجمع كل مخرجات السيرفرات وعرضها لك على الشاشة بشكل مرتب وبسيط !
أحياناً أيضاً تحتاج انك تنفذ نفس الأمر على عدد من السيرفرات في نفس الوقت, مثل في حالة إعدادك للـCluster تحتاج بدء بعض الخدمات في نفس الوقت أو لن تتمكن من تشغيل الخدمة.
طيب نجي للشغل وطريقة الإستخدام, قم بتحميل اﻻداءة من هنا.
نقوم الان بفك الضغط عن المجلد
tar -xvf fanout-current.tar.gz
ثم اﻻنتقال للمجلد الذي قمنا بإستخراجه
cd fanout-current
  ثم تقوم ببناء البرنامج 
[root@centos57 fanout-current]# make

Installing files… bin directory… fanout fanterm fanmux… doc directory… AUTHORS COPYING CREDITS ChangeLog INSTALL Makefile NEWS README TODO… done!


طيب قبل ﻻنبدأ بإستخدام هذا السكربت, نحتاج نخزن السيرفرات الخاصة بنا في متغير مثلاً اسمه SERVERS

export SERVERS=”root@192.168.1.4 root@192.168.1.6″

هنا في حالتي أريد الاتصال في سيرفرين فقط.
أيضاً شي جداً مهم ! عشان السكربت يعمل بشكل ممتاز, تحتاج اﻻتصال عن طريق الـssh بطريقة Passphrase-Less Authentication لكن عيب الطريقة هذي أنه لو أحد حصل على المفتاح الخاص بك, يمكنه عمل مايريد في السيرفر, يمكنك قراءة المزيد عن هذه الطريقة هنا.

طيب نجرب أول أمر لنا ونشوف كيف يعمل السكربت, سوف نقوم بإرسال أمر “uname -a “


./fanout “$SERVERS” ‘uname -a’
المخرجات صارت كالتالي

Starting root@192.168.1.4
Starting root@192.168.1.6
Fanout executing “uname -a”
Start time Tue Sep 11 22:00:24 AST 2012 , End time Tue Sep 11 22:00:28 AST 2012
==== As root on 192.168.1.4 ====
  Linux centos57 2.6.18-274.el5 #1 SMP Fri Jul 22 04:49:12 EDT 2011 i686 i686 i386 GNU/Linux

==== As root on 192.168.1.6 ====
  Linux centos57 2.6.18-274.el5 #1 SMP Fri Jul 22 04:49:12 EDT 2011 i686 i686 i386 GNU/Linux

Exiting fanout, cleaning up…done.

سهل صح ؟ 😀
أنا صراحة استفدت بشكل كبير من هذا السكربت خاصة في أمور الـClustering, اذا كنت تعرف شي مماثل ياليت تشاركنا فيه 🙂

Ktorrent And SOCKS Support

ماهو بروتوكول الـ SOCKS ؟
هو بروتوكول وضع و صمم لينتج طريقة اتصال محددة بين برامج الجهاز الخادم و
العملي Clint-Server-Applications على بروتوكولات TCP و UDP لكي يؤمن
الاتصال بين الأجهزة المستخدمة لتلك البروتوكولات.
لماذا احتاج برنامج بت تورنت يقوم بدعم بروتوكول الـSOCKS ؟
  1.  افترض انك في مكان محجوب فيه المنفذ لبرنامج بت تورنت, كمثال أغلب بيئات العمل تقوم بحجب هذا المنفذ, ففي هذه الحالة بروتوكول الـSOCKS يساعدك على تخطي منع هذا المنفذ.
  2. بعض الناس يريد استخدام برنامج بت تورنت مع البقاء على خصوصيته من التعقب, ففي هذه الحالة  استخدام برنامج Tor + بروتوكول SOCKS  يتيح لك هذه الخاصية.
طيب, انا جربت برنامج ktorrent وكان جداً رائع, يمكنك تحميله على لينكس توزيعة الاوبنتو عن طريق هذا اﻻمر
sudo apt-get install ktorrent
 ﻻ أعلم اذا كان متوفر للويندوز والماكنتوش , لكن يمكنك البحث.
طبعاً يمكنك ضبط اعدادت بروتوكول الSOCKS من خلال النافذة الموضحة في الصورة التالية.
المصادر:
  1. http://en.wikipedia.org/wiki/SOCKS
  2. http://en.wikipedia.org/wiki/Tor_%28anonymity_network%29
  3.  http://en.wikipedia.org/wiki/BitTorrent
  4. http://www.v4-team.com/cc/archive/index.php/t-9802.html

Volumes Deletion In OpenFiler

ماهو Openfiler ؟
هو حل تخزين مفتوح المصدر يقوم بتقديم NAS و SAN , مع خاصية الـ HA طبعاً لن اتطرق هنا لكيفية اﻻستخدام أو ماهي الفوائد , لكن الحل جداً ممتاز وعملي , استخدمه قرابة السنة وجداً مرتاح معه.
أنا هنا اريد أذكر حل لمشكلة واجهتني , وهي عندنا ادارة الVolumes  ومثلاً تريد حذف Volume  ستلاحظ انك أن ﻻتستطيع الحذف ومكتوب حالة الـ Volume “In use ” كما هو موضح بالصورة ادناه.

الحل جداً سهل, فقط كم بإيقاف خدمة iscsi-target عن طريق اﻻمر التالي

/etc/init.d/iscsi-target stop
 راح تلاحظ انه اﻻن يمكنك حذف الـVolume بسهولة كما هو موضح بالشكل ادناه.

تقريري عن مؤتمر Cloud Expo

هلا ومرحبا ! 

حصلت لي قبل اسبوعين الفرصة  الحمدالله لحضور مؤتمر Cloud Expo في نيويورك والمقام في الفترة من 11 – 14 JUNE في مركز     Javits Center , المؤتمر شهد حضور شركات لها باع طويل في الحوسبة السحابية كمقدم للخدمة وأيضا للتقنية مثل Citrix و Rackspace وكانت الميزة انه خليط بين الجلسات والعروض التقنية وبين المعرض اللي تعرض فيه الشركات منتجاتها والتي مرتبطة بشكل أو آخر للحوسبة السحابية .

الجلسات التقنية كانت تتنوع بين المواضيع التالية :Big Date & Cloud Computing – Cloud Storage Virtualization – APIs – Cloud Architecture & Security Performance 

هذا تقريباً المؤتمر العاشر للـ Cloud Expo وبصراحة كانت توقعاتي اعلى من ناحية الجلسات التقنية , كنت أبحث عن شي متخصص أكثر , لكن بصراحة المتعة والفائدة دائماً تكون في الاسئلة بعد كل جلسة وأيضاً في نوعية الناس اللي حاضرة المؤتمر , لانه تشاركون الخبرات وتشاركون الـ “best practices ”  وبرضوا فرصة حلوة جداً للتعرف على أشخاص في نفس المجال واللي ممكن يؤدي الى علاقة عمل مستقبلية.

أيضاً نفس المؤتمر كان فيه مؤتمر تحته تبع شركة الـ Right Scale وكان جداً حلو يصراحة, فالخيارات من ناحية تنوع الجلسات كانت جداً كثيرة وهذا شي ممكن انه حلو وبنفس الوقت يشتتك , بس ممكن تتفادى هالشي بالتحضير قبل المؤتمر ومعرفة وش الجلسات اللي تهمك ومين المتحدث وهل هو متمكن في هذا المجال.

بشكل عام يعني أقدر اقول اني راضي عن المؤتمر وطلعت منه بمعلومات جداً ممتازة , الحوسبة السحابية لها تعاريف كثيرة وحتى بالنسبة للغرب هي شي جديد وللحين الشركات متخوفه منها ولا تدري هل هو الحل الافضل بالنسبة لها او لا.

طبعاً مايخفى انه بعض الجلسات التقنية تنتهي بعرض المنتج وتكون تسويقية وهذا طبيعي.

هذي بعض الصور من المؤتمر


 هذي صورة تذكارية مع

Jereme Hancock
من Rackspace , بيننا معرفة سابفة وكانت فرصة جميلة اني قابلته في المؤتمر

هذي الصورة في جناح شركة Coraid والتي تقدم حلول تخزين , كانوا مسوين حركة حلوة تجذب لجناحهم بحيث مخلين رسام يرسم الزوار , طبعا “المفروض” اللي ظاهر امامكم بالصورة هذا انا لكن مادري صراحة كيف صار شكلي كذا 😛

IPMI on Linux

هلا بالحبايب !
قبل فترة مريت على حاجة جديدة بالنسبة لي وهي الـ IPMI .
طيب وش الـ IPMI من الاساس ؟

الـIPMI اختصار لـ Intelligent Platform Management Interface وهي زي ماتقول واجهة على مستوى الهاردوير بحيث تسمح لمدراء الانظمة تفحص حالة الجهاز عن بعد , مجرد ان الجهاز موصول بمصدر كهرب ,يستطيع مدراء الانظمة انهم يتحكمون في هذا الجهاز. يعني تقدر تعرف حالة الجهاز , تقدر تشغل الجهاز , تسوي له ريستارت وكثير من الامور اللي ماتقدر تسويها الا اذا كنت قدام الجهاز .

بالنسبة لي احتجتها في موضوع الـ   High Availability Cluster

طبعاً الستاندر هذا كثير من الشركات تدعمه مثل DELL,HP , بالنسبة لحالتي الخادم اللي كنت اعمل عليه هو Dell وعن طريق الـ iDRAC قدرت اعمل تفعيل الـ IPMI وتفعيل الشبكة له أيضاً فتختلف الطريقة من شركة الى شركة

وهذي صورة من الاعدادت على خادم DELL

طيب الحين نجي على مستوى نظام التشغيل , بحالتي هنا استخدم LINUX RHEL 5.8

نقوم بتركيب الحزم المطلوبة عن طريق الامر هذا

yum install OpenIPMI OpenIPMI-tools
 
ثم نقوم بتشغيل خدمة الـ IPMI 
service ipmi start
ثم نتأكد ان الخدمة هذي تبدء مع مرة يشتغل النظام
chkconfig ipmi on
 
طيب خلينا نستعرض بعض الاوامر للـ IPMI 
 
هذا الامر لمعرفة حالة الجهاز 
ipmitool chassis status
 
وراح يجيك مخرجات زي كذا 
 
System Power         : on
Power Overload       : false
Power Interlock      : inactive
Main Power Fault     : false
Power Control Fault  : false
Power Restore Policy : always-off
Last Power Event     : command
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false
Sleep Button Disable : not allowed
Diag Button Disable  : not allowed
Reset Button Disable : not allowed
Power Button Disable : allowed
Sleep Button Disabled: false
Diag Button Disabled : false
Reset Button Disabled: false
Power Button Disabled: false 
وهذا الامر مثلاً لاطفاء الخادم
ipmitool chassis power off 
 
ويوجد الكثير الكثير من الاوامر , لمعرفة المزيد عن الاوامر هذي ادخل
ipmitool man

طيب للتحكم عن بعد تحتاج اعداد اسم مستخدم واعدادات الشبكة , هذا الامر لعرض المستخدمين
ipmitool user list 1
طبعا افتراضياً رقم المستخدم "الروت" هو 2 , فهذا الامر يقوم بوضع كلمة مرور للمستخدم الروت
ipmitool user set password 2 <new_password>
 
طيب نجي لاعدادات الشبكة , اولاً نقوم بعرض الاعدادت الحالية 
ipmitool lan print 1
وعن طريق الاوامر التالية نقوم بإعداد الشبكة 
ipmitool lan set 1 ipsrc [ static | dhcp ]
ipmitool lan set 1 ipaddr 192.168.1.101
ipmitool lan set 1 netmask 255.255.255.0
ipmitool lan set 1 defgw ipaddr 192.168.1.254
 
وبعد ماتنتهي من الاعداادات , المفترض انك تستطيع انك تتصل من جهاز آخر عن طريق الامر التالي
ipmitool -I lan -U root -H 192.168.1.101 chassis status
 
بإفتراض ان الخادم الي تبي تتصل فيه هو 192.168.1.101
 
هذا وصلى الله وبارك  

Reverse SSH Tunneling

ماهو بروتوكول الـ SSH ؟
الجواب هنا
ماهو الـ SSH TUNNEL؟
الجواب هنا
موضوعنا اليوم عن الـ Reverse SSH Tunneling  وبصراحة موضوع SSH Tunneling ماله حدود ! استخداماته كثيرة وتعتمد على قوة خيالك !
سيناريو:
ابن عمك دق عليك وقالي عندي مشكلة في نظام اللينكس حقي وابغاك تدخل تشوف وش المشكلة , طبعاً انت ودك تدخل مباشرة على الTerminal الخاص فيه بدون استخدام احد برامج التحكم عن بعد مثل Team Viewer , وغالباً ماراح تقدر تدخل مباشرة على جهازه ﻻنه عنده برايفت IP ومعمول له NAT , فالاي بي حقه راح يكون حاجه زي 192.168.1.44 
الحل :
في حالتنا خلينا نفرض ان جهاز ولد عمك يحمل اﻻي بي 192.168.1.44( وهو الجهاز المراد الدخول عليه )
جهازك يحمل اﻻي بي 212.98.44.22  ( اي بي عام , غير معمول له NAT) 
من جهاز ولد عمك نفذ اﻻمر التالي
ssh -R 19999:localhost:22 sourceuser@212.98.44.22
sourceuser: هو اسم المستخدم حق جهازي الشخصي واللي اﻻي بي حقه هو  212.98.44.22
19999 طبعا ممكن يكون اي منفذ غير مستخدم 
 
بعدها ببساطة , من جهازي الشخصي اللي يحمل اﻻي بي 212.98.44.22 راح اعمل
ssh root@localhost -p 19999
root هو اسم المستخدم الخاص في جهاز ولد عمك .
والReverse SSH Tunneling له استخدامات كثيرة جداً , ممكن تعطوننا بعض اﻻفكار في التعليقات !
واي احد عنده سؤال ﻻيتردد يكتبه تحت.
المصادر:
  1. http://www.linuxjournal.com/content/ssh-tunneling-poor-techies-vpn?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+linuxjournalcom+%28Linux+Journal+-+The+Original+Magazine+of+the+Linux+Community%29&utm_content=Google+Reader
  2. http://www.howtoforge.com/reverse-ssh-tunneling

حل مشكلة ادخال السيدي بعد تركيب linux integration services 3.2 على ال Microsoft Hyper-v

اذا كنت تريد تركيب لينكس على المشغل Hyper-v تحتاج بما يسمى linux integration services
اهم شي في linux integration services 3.2 فيه مشكلة انه بعد تركيبها ماتقدر تسوي ادخال لاي سيدي
ببحثت بالنت , لقيت انه مايكروسوفت قامت ذكر الحل في ملف readme  , الملف اللي دايم ننسى نقراه مع ان اسمه readme 😛
الحل هو فقط كتابة اﻻمر التالي
insmod /lib/modules/$(uname -r)/kernel/drivers/ata/ata_piix.ko
ثم قم بإدخال السيدي واكتب 
mount /dev/cdrom /mnt

SmoothWall الجدار الناري المفتوح المصدر

 
SmoothWall من الجدران النارية الجديرة بالتجربة, ﻻنه يمتلك عدد من المميزات اللي تجعلك تستخدمه , تقريباً بدء تطويره من عام 2000 ومن مميزات المشروع الرئيسية انه يحقق النقاط التالية:

  • يكون سهل بما فيه الكفاية حتى للمستخدم العادي اللي ليس لديه خلفية عن أنظمة لينكس.
  • داعم تقريباً لكل انواع كروت الشبكة والهاردوير , يعني ممكن تركبه على اي جهاز مرمي عندك.
  •  تتم إدارته عن طريق المتصفح في واجهة رسومية سهلة التعامل.
أنا بصراحة أعتقد تقدر تستخدمه في كثير من البيئات , خاصه انه الجدران النارية زي F5,Fortinet مبالغها جداً مكلفة ولايمكن مثلاً لمؤسسة صغيرة تتحملها.
النسخه المجانيه تقدم الخدمات التالية:
  • Web caching  proxy
  • pop proxy
  •  IDS
  • VPN
  • Dynamic Dns
  • DHCP
  • NTP
  • QOS
  • Logging & Reports
 هذي اللي شفتها من تجربة بسيطة للنظام .
ويوجد منه نسخه مدفوعه , يكون فيها دعم وأكثر مزايا .
ﻻيفوتكم , يستحق التجربة , ممكن تحصل عليها من هنا وهنا تحصل طريقة التثبيت

كيفية الحصول على شهادة RHCSA & RHCE

بحمدالله وفضله حصلت على شهادتي RHCSA & RHCE الاسبوع الماضي , وبصراحه من جد استمتعت واستفدت كثير جداً خلال دراستي للاختبار , طبعاً انا متأخر جداً اعتبر نفسي في حصولي عليها , واكتشفت انه ﻻزم تحط لنفسك وقت معين وﻻ صدقني مارح تسوي شي !
طبعاً هنا راح اذكر المصادر اللي تعلمت منها وافادتني كثيرا , بعض الناس يفضل انه يذهب لمعهد وياخذ الزبدة من المدرب ويدخل اﻻختبار , والطريقة هذي تختصر الكثير من الوقت , لكن كعلم وفايدة مافيه شي يقارن بالدراسة الذاتية وقراءة الكتب .
أنا درست من ثلاث مصادر , وهي كالتالي :
  1. كتب ريدهات الرسمية , وتكون ثلاث كتب وبصراحة جداً جداً مليئة بالمعلومات ومرتبة بشكل جداً رائع ! اذا تبي علم أنصحك ﻻتتعداها !.
  2. فيديوهات LinuxCBT   والميزه فيها انه تبدء فيك من الصفر ! والفيديو يكون غزير بالمعلومات ! , ابحث عنها وتحصلها بالنت.
  3. كتاب RHCE Red Hat Certified Engineer Linux Study Guide  لـ Michael Jang وبصراحه كتاب حلو , جامع بين المعلومات وبين اﻻشياء اللي مفروض تنتبه لها باﻻختبار.

وبالنهاية تذكر ان اعتمادك على مصدر واحد من المعلومات يعتبر تفريط !   وللي يسأل وين اختبرت , انا اختبرت في دبي في معهد اسمه SitesPower  , جداً ممتازين وتعاملهم راقي.
تمنياتي للجميع بالتوفيق.