مثال SNMPv3

ظهر الإصدار 3 من SNMP (بروتوكول إدارة الشبكة البسيطة) منذ وقت طويل استجابة للقدرات الضعيفة للإصدار 2 فيما يتعلق بالأمان. ومع ذلك ، على الرغم من توفر وصف بروتوكول الإصدار 3 وتوزيعه على نطاق واسع [1] ، هناك القليل من أوصاف التطبيقات المستندة إلى SNMP v3. يعكس المنشور الحالي دراسة عن مقالب تفريغ "واجهة مستخدم واجهة المستخدم الرسومية" (المشار إليها فيما يلي باسم EM) ومنصة النقل متعدد المسافات (المشار إليها فيما يلي باسم MHTP).

سنبحث في سلسلة من SNMP للحصول على الطلبات التي تم إصدارها بواسطة EM وتعيينها في وقت بدء تشغيل التطبيق والمصادقة عليه ، وردود MHTP على هذه الطلبات. قبل الخوض في تسلسل الاستعلامات ومحتواها ، يلزمك الانتباه إلى ما يلي:

1) يجب أن يكون لدى العميل (EM) ، للمصادقة الناجحة ، معلومات حول معلمات USM التالية (RFC 3414):

• اسم المستخدم - على سبيل المثال 'مدير'،
• بروتوكول المصادقة - MD5 ،
• مفتاح المصادقة - على سبيل المثال "12345"
• بروتوكول الخصوصية - الخدمات المعمارية والهندسية ،
• مفتاح الخصوصية - على سبيل المثال "12345"
• اسم السياق - "tnms".

2) عند إنشاء اتصال UDP من جانب العميل ، يختار نظام التشغيل "منفذ المصدر" (لا يجب الخلط بينه وبين "منفذ الوجهة" ، وهو 161 افتراضيًا للحصول على / ضبط SNMP). قد تتغير قيمة "منفذ المصدر" مع عمليات إطلاق مختلفة لتطبيق العميل. في هذا التطبيق ، يتم استخدام قيمة "منفذ المصدر" في التكوين الديناميكي لمعرف هوية المستخدم (OID). على سبيل المثال ، إذا قمت بتحديد "منفذ المصدر" = 60583 ، فلدينا بايت 0xEC و 0xA7 ، ولاحقة ديناميكية كجزء من OID للنموذج ".236.167".

3) عنوان IP الخاص به معروف من جانب العميل ويستخدم في التشكيل الديناميكي لـ OID. على سبيل المثال ، بالنسبة لعنوان IP الخاص بالعميل '10 .60.1.5 '، سيكون جزءًا من' .10.60.1.5 '. سيكون موجودًا في OID لبعض الطلبات.

4) تستخدم قيمة اسم المستخدم المذكورة أعلاه أيضًا في تكوين OID. على سبيل المثال ، بالنسبة لـ "المسؤول" ، جزء من ".65.100.109.105.110.105.115.116.114.97.116.111.114. (ASCII).

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

الطلبين 1 و 2. وفقًا لـ RFC 5343 ، "نكتشف" معلمات EngineID و EngineBoots و EngineTime ،

الطلب:
البيانات: الحصول على طلب ،
msgData: نص عادي ،
روابط متغيرة: -


الجواب:
البيانات: تقرير ،
msgData: نص عادي ،
روابط متغيرة: (عنصر واحد)
1.3.6.1.6.3.15.1.1.4 ( usmStatsUnknownEngineIDs ) (Integer32) ==> 1.


ومن المثير للاهتمام ، يتم استخدام قيم EngineBoots و EngineTime التي تم الحصول عليها بدءًا من الطلب 4 ، وفي الطلب 3 ، من الضروري تعيين قيم صفرية لها.

طلب 3. طلب usStatsNotInTimeWindows

الطلب:
البيانات: الحصول على طلب ،
msgData: encryptedPDU ،
روابط متغيرة: -


الجواب:
البيانات: تقرير ،
msgData: encryptedPDU ،
روابط متغيرة: (عنصر واحد)
1.3.6.1.6.3.15.1.1.2.0 ( usmStatsNotInTimeWindows ) (Integer32) ==> 0.


إجمالي عدد الحزم التي تلقاها محرك SNMP خارج النافذة الموثوقة.

طلب 4 . طلب SnmpAgentState.
الطلب:
البيانات: الحصول على طلب ،
msgData: encryptedPDU ،
روابط متغيرة: (عنصر واحد)
1.3.6.1.4.1.42229.1.1.1.7.128.6.0

الجواب:
البيانات: الحصول على استجابة ،
msgData: encryptedPDU ،
روابط متغيرة: (عنصر واحد)
1.3.6.1.4.1.42229.1.1.1.7.128.6.0 (snmpAgentState) (Integer32) ==> 3 (ENABLED).

حالة الوكيل.

طلب 5 . طلب SysDescr
الطلب:
البيانات: الحصول على طلب ،
msgData: encryptedPDU ،
روابط متغيرة: (عنصر واحد)
1.3.6.1.2.1.1.1.0 (sysDescr)

الجواب:
البيانات: الحصول على استجابة ،
msgData: encryptedPDU ،
روابط متغيرة: (عنصر واحد)
1.3.6.1.2.1.1.1.0 (sysDescr) ==> '--------- Copyright 2019 ******. جميع الحقوق محفوظة. (OctetString)

طلب 6. يشبه طلب interfaceVersion هيكليا 4 و 5.
طلب 7. طلب usMXUserLastSuccessfulLogin
الطلب:
البيانات: الحصول على طلب ،
msgData: encryptedPDU ،
روابط متغيرة: (عنصر واحد)
1.3.6.1.4.1.42229.1.1.1.9.2.1.13.13.65.100.109.105.110.105.115.116.114.97.116.111.114

الجواب:
البيانات: الحصول على استجابة ،
msgData: encryptedPDU ،
روابط متغيرة: (عنصر واحد)
1.3.6.1.4.1.42229.1.1.1.9.2.1.13.13.65.100.109.105.110.105.115.116.114.97.116.111.114 (usmXUserLastSuccessfulLogin)
==> 07: e3: 09: 0a: 06: 1f: 36: 00: 2b: 00: 00 (OctetString)
==> 2019-09-10 ، إلخ
اسم المستخدم ('المسؤول') - '. 65.100.109.105.110.105.115.116.114.97.116.111.114.' يتم تضمينه مباشرة في OID ، حيث يتم طلب وقت آخر مصادقة ناجحة.

طلب 8. طلب إنشاء جلسة
الطلب:
البيانات: مجموعة الطلب ،
msgData: encryptedPDU ،
روابط متغيرة: (4 عناصر)
1.3.6.1.4.1.42229.1.1.1.9.6.1.2.6.10.60.1.5.236.167 ==> 4 (Integer32) ==> createAndGo 1.3.6.1.4.1.42229.1.1.1.9.9.6.1.5.6.10.60.1. 5.236.167 ==> 2 (Integer32) ==> sessionRemoteLogin
1.3.6.1.4.1.42229.1.1.1.9.6.1.3.6.10.60.1.5.236.167 ==> 41646d696e6973747261746f72 (OctetString) ==> sessionUserName ('Administrator')
1.3.6.1.4.1.42229.1.1.1.9.6.1.4.6.10.60.1.5.236.167 ==> 4043542020 (OctetString) ==> sessionManager ==> 'root'
الجواب:
البيانات: الحصول على استجابة ،
msgData: encryptedPDU ،
روابط متغيرة: (4 عناصر)
1.3.6.1.4.1.42229.1.1.1.9.6.1.2.6.10.60.1.5.236.167 ==> 4 (Integer32) ==> createAndGo 1.3.6.1.4.1.42229.1.1.1.9.9.6.1.5.6.10.60.1. 5.236.167 ==> 2 (Integer32) ==> sessionRemoteLogin
1.3.6.1.4.1.42229.1.1.1.9.6.1.3.6.10.60.1.5.236.167 ==> 41646d696e6973747261746f72 (OctetString) ==> sessionUserName ('Administrator')
1.3.6.1.4.1.42229.1.1.1.9.6.1.4.6.10.60.1.5.236.167 ==> 4043542020 (OctetString) ==> sessionManager ==> 'root'
يتم تضمين عنوان IP والمنفذ المصدر مباشرةً في OID: '.10.60.1.5.236.167'.

يوضح المنشور باختصار ميزات تطبيق SNMP v3 المتأصلة في MHTP.

[1] دوغلاس ر. ماورو وكيفن ج. شميدت "Essential SNMP" (الطبعة الثانية).
[2] gtacknowledge.extremenetworks.com/articles/How_To/How-to-decrypt-SNMPv3-packets-in-Wireshark
[3] labs.spritelink.net/talking-snmpv3-with-nsn-hit7300

Source: https://habr.com/ru/post/ar484442/


All Articles