Simple Network Management Protocol
(SNMP)
يحتاج مدير الشبكة للتعرف على اوضاع
الأجهزة العاملة في الشبكة واوضاع الوصلات (links) ومدى الحمل
عليها والعديد من القراءات اللازمة لتتبع حالات الشبكات.
يقدم بروتوكول (SNMP) الحل
لذلك كونه يوفر امكانية مراقبة
وادارة مكونات أجزاء أجهزة الشبكة وكذلك الاجهزة الطرفية العاملة على الشبكة
وتجميع القراءات والاحصائيات (statistics) حول تلك المكونات وارسالها لخوادم مركزية تتيح لمدير الشبكة
الرجوع إليها.
الـ (SNMP) من
بروتوكولات الطبقة السابعة (application layer) يعرف صيغة الرسائل بين الاجهزة
التي يتم مراقبة اوضاعها (الأجهزة العميلة agents) والأجهزة التي تقوم بجمع اوضاع الأجهزة
العميلة والتي تسمى الأجهزة المديرة (managers) من خلال
برمجيات متخصصة تعمل على الجهاز المدير.
تقوم الأجهزة العميلة بمتابعة العديد من مكونات الأجزاء
الداخلية لها بما فيها البروتوكولات، ويتم تسجيل الاحصائيات عنها. وتختلف الاجزاء
الداخلية القابلة للمراقبة من جهاز لآخر حسب طبيعة الجهاز، ففي حالة الراوتر يمكن
مراقبة منافذ ال (Serial) بينما
يتعذر ذلك في جهاز السويتش، كذلك يمكن مراقبة الاقراص الصلبة في أجهزة الخودام
وهذه الاجزاء غير متوفر في أجهزة الراوتر أو السويتش.
يتم التمييز بين المكونات التي يمكن مراقبتها لمختلف الاجزاء
الداخلية لأي جهاز من خلال ارقام محددة، حيث يوجد رقم مخصص لكل مكون. فمثلا الرقم
المخصص لعدد الاخطاء الحاصلة على أحد المنافذ مختلف عن الرقم المخصص لتتبع وضعية المنفذ
كونه مكوّن آخر لنفس الجزء. تخزن ارقام المكونات التي يمكن مراقبتها ضمن قاعدة بيانات تسمى (Management Information Base MIB).
يقوم الجهاز المدير (manager) بارسال رسائل لقراءة قيم المكونات التي يجري مراقبتها وتسجيلها على الأجهزة
العميلة (agents) وذلك
بشكل دوري يتم تحديد الفترات من قبل مدير الشبكة. إذ يتم ارسال رسائل للحصول على
القيم والاحصائيات المسجلة من خلال رسائل تسمى (get message). كما
يوفر بروتوكول (SNMP) امكانية
أن يرسل الجهاز العميل رسائل تبليغ (trap) عند تجاوز قيمة معينة لأحد الاجزاء التي تجري مراقبتها، فمثلا عند تجاوز
نسبة اشغال (CPU) لقيمة معينة ومحددة من قبل مدير الشبكة يقوم الجهاز العميل بارسال
رسالة تحمل هذه القيمة دون انتظار رسالة من الجهاز المدير.
يتيح (SNMP) ايضا
امكانية ادارة الأجهزة عن بعد عن طريق تغيير اعدادات (settings) مكونات
الأجهزة سواء أكانت عتاد (hardware) او
بروتوكول. فيمكن تغيير اعدادات احد المنافذ على جهاز الراوتر باستخدام (SNMP). حيث يستخدم رسائل خاصة بالتحكم (ادارة) الجهاز تسمى (set message).
قاعدة بيانات
المكونات MIB
يعتبر أي شيء يمكن مراقبته أو التحكم
به هو مكوّن (object)، ويعرف
كل مكوّن من خلال رقم يدل عليه (object ID). يمكن
لأي جهاز عميل معرفة الاشياء (المكونات) التي يمكن مراقبتها أو التحكم بها من خلال
قاعدة بيانات خاصة تحتوي على أرقام المكونات التي يستطيع (SNMP) العمل
عليها في الجهاز.
يشكل رقم المكوّن على شكل شجرة لها جدور وتفرعات. حيث يستدل من
الرقم على الشركة المصنعة ونوع الجهاز وماهية الجزء المعني في هذا الرقم وكذلك يحدد
المكون الذي يتم مراقبته أو التحكم به. في الشكل التالي مثال لهيئة ارقام
المكونات.
الرقم (1.3.6.1.4.1.9.2.1.58.0) يدل
على معدل تغير نسبة الاشغال (utilization) لمعالج الجهاز (CPU) خلال
(5) دقائق.
ارقام المكونات المعرفة ضمن قاعدة
البيانات للأجهزة تكون ايضا معرفة في الأجهزة المديرة (SNMP managers) وذلك من
خلال برمجيات خاصة توفر امكانيات واسعة مثل اصدار تقارير واظهار الاعطال وتخزين
الاحصائيات لمدة طويلة. من هذه البرمجيات التي تستخدم بشكل واسع: Cisco Prime، HP Openview، SolarWinds Orion NPM.
بروتوكول (SNMP) النسخة الثانية
يقدم بروتوكول (SNMP) بنسخته
الثانية عدة تعديلات على النسحة الأولى تتعلق بأنواع الرسائل المستخدمة. يقدم (SNMPv2) رسائل (get bulk) للحصول
على احصائيات مجموعة كبيرة من المكونات برسالة واحدة اضافة للرسائل (get) و (get next). كما
يقدم (SNMPv2) رسائل
جديدة موسعة عن الاخطاء التي تحدث في الجهاز أو الشبكة (error messages).
من خصائص الـ (SNMP) بنسختيه
الأولى والثانية امكانية استخدام آلية بسيطة لرفع مستوى الأمن لعمل بروتوكول (SNMP) وذلك باستخدام كلمة المرور تسمى (community string) في
الرسائل المستخدمة في الـ (SNMP). حيث
تضمن كلمة المرور (community string) في
الرسائل كنص مقروء (plaintext) وليس
مشفر. إذ يمكن تخصيص كلمة مرور للمراقبة (read-only) أي ضمن
رسائل (get) وكلمة
مرور أخرى للمراقبة والتحكم (الادارة) تكون بمثابة (read-write).
بروتوكول (SNMP) النسخة الثالثة
عمل بروتوكول (SNMP) بنسخته
الثالثة تعديلات مهمة على جانب أمن الشبكات لمعالجة ضعف النسختين السابقتين في هذا
الجانب من خلال عمل الاضافات التالية:
-
سلامة
الرسائل (message integrity) لضمان
عدم تعرض الرسائل للعبث خلال انتقالها عبر الشبكات
-
المصادقة
(authentication) للتأكد
من أن موثوقية مرسل الرسالة
-
التشفير
(encryption) لاخفاء
مضمون الرسالة عن الاطراف غير المعنية.
ومن الممكن تشغيل (SNMPv3) بعدة مستويات من الحماية معتمدة
على خيارات الأمن المتوفرة، وهي على النحو التالي:
-
وضعية
(noAuthNoPriv) ويتم تطبيق
الموثوقية عن طريق اسم استخدام (username) دون تطبيق خاصية التشفير
-
وضعية
(authNoPriv) ويتم تطبق الموثوقية
باستخدام واحدة من الخوارزميات (MD5) أو (SHA) دون تطبيق خاصية التشفير
-
وضعية
(AuthPriv) ويتم
تطبيق الموثوقية عن طريق واحدة من الخوارزميات (MD5) أو (SHA) مع استخدام خاصية تشفير (DES) أو (DES-256).
تشغيل الـ (SNMP) على أجهزة سيسكو
يتطلب تشغيل (SNMP) تحديد كلمة
المرور باستخدم الأمر التالي:
Router(config)# snmp-server community Abc@11 RO
ويتم تحديد كلمة المرور الخاصة بالادارة باستخدام نفس الأمر السابق لكن
بتغيير خيار (RO) ليصبح (RW).
كما يمكن احكام كلمة المرور لبروتوكول(SNMP) ليعمل من خلال جهاز المدير(manager) محدد باستخدام (ACL):
Router(config)# snmp-server community Abc@11 RO
ACL-SNMP
حيث يتم تحديد عنوان جهاز المدير (SNMP) على من خلال
الـ (ACL):
Router(config)# ip access-list standard ACL-SNMP
Router(config-acl)# permit host 10.1.1.10
ومن الخيارات الأخرى الاضافية التي يمكن عملها من خلال (SNMP) تحديد موقع
الجهاز (location) وكذلك جهة الاتصال (contact):
Router(config)# snmp-server location Building1-Floor5
Router(config)# snmp-server contact Ahmad Salem