المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

الاصطلاحات

معلومات أساسية

إستراتيجيات بروتوكول SNMP الآمن

أختر سلسلة مجتمع SNMP جيدة

طريقة عرض SNMP للإعداد

إعداد مجتمع SNMP باستخدام قائمة الوصول

إعداد SNMP الإصدار 3

إعداد قائمة التحكم في الوصول (ACL) على الواجهات

rACLs

قوائم التحكم في الوصول (ACLs) للبنية الأساسية

ميزة أمان محول شبكة LAN Catalyst من Cisco

كيفية التحقق من أخطاء SNMP

معلومات ذات صلة

المقدمة

يوضح هذا المستند كيفية تأمين بروتوكول إدارة الشبكة البسيط (SNMP).

المتطلبات الأساسية

المتطلبات

لا توجد متطلبات خاصة لهذا المستند.

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- عرض SNMP — برنامج Cisco IOS® الإصدار 10.3 أو إصدار أحدث.

- SNMP الإصدار 3 — المقدمة في برنامج Cisco IOS الإصدار 12.0(3)T.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

الاصطلاحات

للحصول على مزيد من المعلومات حول اصطلاحات المستندات، ارجع إلى اصطلاحات تلميحات Cisco التقنية.

معلومات أساسية

من المهم تأمين بروتوكول SNMP الخاص بك خاصة عندما يمكن إستخدام نقاط ضعف بروتوكول SNMP بشكل متكرر لإنتاج رفض الخدمة (DoS).

إستراتيجيات تأمين SNMP

أختر سلسلة مجتمع SNMP جيدة

وليس من الممارسات الجيدة أن تستخدم العامة كأدوات مجتمعية للقراءة فقط أو خاصة كسلاسل مجتمعية للقراءة والكتابة.

طريقة عرض SNMP للإعداد

يمكن  Setup SNMP view للأمر حظر المستخدم مع الوصول فقط إلى قاعدة معلومات الإدارة المحدودة (MIB). وبشكل افتراضي، لا يوجد  SNMP view entry exists . يتم تكوين هذا الأمر في وضع التكوين العام ويتم تقديمه أولا في الإصدار 10.3 من برنامج Cisco IOS Software. وهو يعمل بشكل مشابه  access-list في أنه إذا كان لديك أي  SNMP View   أشجار معينة من نوع MIB، فإنه يتم رفض كل شجرة أخرى بشكل غير مفهوم. ومع ذلك، فإن التسلسل غير مهم ويمر عبر القائمة بأكملها لمطابقة قبل توقفه.

لإنشاء إدخال عرض أو تحديثه، أستخدم snmp-server view global configuration الأمر. لإزالة إدخال طريقة عرض خادم SNMP المحدد، أستخدم  no نموذج هذا الأمر.

الصيغة:

snmp-server view view-name oid-tree {included | excluded}

no snmp-server view view-name

وصف الصيغة Syntax:

- view-name— تسمية سجل طريقة العرض الذي تقوم بتحديثه أو إنشائه. يتم إستخدام الاسم للإشارة إلى السجل.

- oid-tree — معرف الكائن للشجرة الفرعية One الخاصة بالتدوين التجريدي للصياغة (ASN.1) المراد تضمينها أو إستبعادها من العرض. لتحديد الشجرة الفرعية، حدد سلسلة نصية تتكون من أرقام، مثل 1.3.6.2.4، أو كلمة، مثل  system. إستبدال معرف فرعي واحد ببطاقة بدل العلامة (*) لتحديد عائلة شجرة فرعية، على سبيل المثال 1.3.*.4.

- included | excluded— نوع العرض. يجب تحديد إما مضمنة أو مستبعدة.

يمكن إستخدام طريقتي عرض معياريتين محددتين مسبقا عندما تكون طريقة العرض مطلوبة بدلا من طريقة العرض التي يجب تعريفها. الأول هو كل شيء، مما يشير إلى أن المستخدم يمكنه رؤية كل الكائنات. أما المجموعة الأخرى فهي مقيدة ، مما يشير إلى أن المستخدم يمكنه مشاهدة ثلاث مجموعات:  system،  snmpStats، و snmpParties. يتم وصف طرق العرض المحددة مسبقا في RFC 1447.

ملاحظة:  snmp-server   الأمر الأول الذي تقوم بإدخاله يمكن كلا من إصداري SNMP.

يقوم هذا المثال بإنشاء طريقة عرض تتضمن جميع الكائنات في مجموعة أنظمة MIB-II باستثناء  sysServices (النظام 7) وجميع الكائنات للواجهة 1 في مجموعة واجهات MIB-II:

snmp-server view agon system included

snmp-server view agon system.7 excluded

snmp-server view agon ifEntry.*.1 included

هذا مثال كامل ل كيف أن يطبق ال MIB مع مجتمع خيط و الإنتاج من  snmpwalk مع  view في مكان. يحدد هذا التكوين طريقة عرض ترفض وصول SNMP لجدول بروتوكول تحليل العنوان (ARP) atEntry وتسمح به ل MIB-II و Cisco MIB الخاص:

snmp-server view myview mib-2 included

snmp-server view myview atEntry excluded

snmp-server view myview cisco included

snmp-server community public view myview RO 11

snmp-server community private view myview RW 11

snmp-server contact pvanderv@cisco.com

هذا هو الأمر والمخرجات لمجموعة أنظمة MIB-II:

NMSPrompt 82 % snmpwalk cough system

system.sysDescr.0 : DISPLAY STRING- (ascii):Cisco Internetwork Operating System Software

Cisco IOS (tm) 2500 Software (C2500-JS-L), Version 12.0(1)T,RELEASE SOFTWARE (fc2)

Copyright (c) 1986-1998 by cisco Systems, Inc.

Compiled Wed 04-Nov-98 20:37 by dschwart

system.sysObjectID.0 : OBJECT IDENTIFIER:

.iso.org.dod.internet.private.enterprises.cisco.ciscoProducts.cisco2520

system.sysUpTime.0 : Timeticks: (306588588) 35 days, 11:38:05.88

system.sysContact.0 : DISPLAY STRING- (ASCII):pvanderv@cisco.com

system.sysName.0 : DISPLAY STRING- (ASCII):cough

system.sysLocation.0 : DISPLAY STRING- (ASCII):

system.sysServices.0 : INTEGER: 78

system.sysORLastChange.0 : Timeticks: (0) 0:00:00.00

NMSPrompt 83 %

هذا هو الأمر والمخرجات لمجموعة أنظمة Cisco المحلية:

NMSPrompt 83 % snmpwalk cough lsystem

cisco.local.lsystem.romId.0 : DISPLAY STRING- (ASCII):

System Bootstrap, Version 11.0(10c), SOFTWARE

Copyright (c) 1986-1996 by cisco Systems

cisco.local.lsystem.whyReload.0 : DISPLAY STRING- (ASCII):power-on

cisco.local.lsystem.hostName.0 : DISPLAY STRING- (ASCII):cough

هذا هو الأمر والمخرجات لجدول MIB-II ARP:

NMSPrompt 84 % snmpwalk cough atTable

no MIB objects contained under subtree.

NMSPrompt 85 %

إعداد مجتمع SNMP باستخدام قائمة الوصول

توصي أفضل الممارسات الحالية بتطبيق قوائم التحكم في الوصول (ACL) على سلاسل المجتمع وضمان عدم تطابق سلاسل مجتمع الطلبات مع سلاسل مجتمع الإعلامات. توفر قوائم الدخول المزيد من الحماية عند إستخدامها مع إجراءات وقائية أخرى.

يقوم هذا المثال بإعداد قائمة التحكم في الوصول (ACL) إلى سلسلة المجتمع:

access-list 1 permit 10.1.1.1

snmp-server community string1 ro 1

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

بمجرد تمكين الملائمة باستخدام سلسلة مجتمع، يمكن تمكين السلسلة للوصول إلى SNMP في بعض برامج Cisco IOS. يجب تعطيل هذا المجتمع بشكل صريح. على سبيل المثال:

access-list 10 deny any

snmp-server host 10.1.1.1 mystring1

snmp-server community mystring1 RO 10

إعداد SNMP الإصدار 3

قم بهذه الخطوات لتكوين الإصدار 3 من SNMP:

1. قم بتعيين معرف محرك لكيان SNMP (إختياري).

2. قم بتعريف مستخدم ومستخدم ينتمي إلى مجموعة Group وتطبيق noAuthentication (بدون كلمة مرور) وnoPrivacy (بدون تشفير) على هذا المستخدم.

3. قم بتعريف مستخدم و user2&nbsp إصدار ينتمي إلى المجموعة الثانية وتطبيق noAuthentication (بدون كلمة مرور) وnoPrivacy (بدون تشفير) على هذا المستخدم.

4. قم بتعريف مستخدم وuser3 الذي ينتمي إلى مجموعة GroupThree وتطبيق المصادقة (كلمة المرور هي user3passwd) وnoPrivacy (لا يوجد تشفير) على هذا المستخدم.

5. قم بتعريف مستخدم، user4 ، ينتمي إلى مجموعة المستخدمين4 وقم بتطبيق المصادقة (كلمة المرور هي user4passwd) والخصوصية (تشفير des56) على هذا المستخدم.

6. قم بتعريف مجموعة، مجموعة، بواسطة نموذج أمان المستخدم (USM) V3 وتمكين الوصول للقراءة على طريقة العرض الافتراضية v1(الافتراضية).

7. قم بتحديد مجموعة، المجموعة الثانية ، باستخدام USM V3 وتمكين الوصول للقراءة على طريقة العرض MyView .

8. قم بتحديد مجموعة، groupthree ، عن طريق USM V3، وقم بتمكين الوصول للقراءة على طريقة العرض v1default (الافتراضية)، عن طريق المصادقة .

9. قم بتحديد مجموعة، المجموعةFour، من خلال USM V3، وقم بتمكين الوصول للقراءة على طريقة العرض v1default (الافتراضية)، من خلال المصادقة والخصوصية.

10. حدد طريقة عرض، MyView ، توفر وصول القراءة على MIB-II وترفض وصول القراءة على قاعدة معلومات الإدارة (MIB) الخاصة من Cisco.

يعطي  show running الإخراج أسطر إضافية لعامة المجموعة، بسبب وجود عام خاص بسلسلة المجتمع للقراءة فقط تم تعريفه.

لا يعرض  show running الإخراج UserThree.

مثال:

snmp-server engineID local 111100000000000000000000

snmp-server user userone groupone v3

snmp-server user usertwo grouptwo v3

snmp-server user userthree groupthree v3 auth md5 user3passwd

snmp-server user userfour groupfour v3 auth md5 user4passwd priv des56

user4priv

snmp-server group groupone v3 noauth

snmp-server group grouptwo v3 noauth read myview

snmp-server group groupthree v3 auth

snmp-server group groupfour v3 priv

snmp-server view myview mib-2 included

snmp-server view myview cisco excluded

snmp-server community public RO

هذا هو الأمر والمخرجات لمجموعة أنظمة MIB-II باستخدام مستخدم userOne:

NMSPrompt 94 % snmpwalk -v3 -n "" -u userone -l noAuthNoPriv clumsy system

Module SNMPV2-TC not found

system.sysDescr.0 = Cisco Internetwork Operating System Software

Cisco IOS (TM) 4500 Software (C4500-IS-M), Version 12.0(3)T,RELEASE SOFTWARE (fc1)

Copyright (c) 1986-1999 by cisco Systems, Inc.

Compiled Tue 23-Feb-99 03:59 by ccai

system.sysObjectID.0 = OID: enterprises.9.1.14

system.sysUpTime.0 = Timeticks: (28208096) 3 days, 6:21:20.96

system.sysContact.0 =

system.sysName.0 = clumsy.cisco.com

system.sysLocation.0 =

system.sysServices.0 = 78

system.sysORLastChange.0 = Timeticks: (0) 0:00:00.00

NMSPrompt 95 %

هذا هو الأمر والمخرجات لمجموعة أنظمة MIB-II مع مستخدم user2:

NMSPrompt 95 % snmpwalk -v3 -n "" -u usertwo -l noAuthNoPriv clumsy system

Module SNMPV2-TC not found

system.sysDescr.0 = Cisco Internetwork Operating System Software

Cisco IOS (TM) 4500 Software (C4500-IS-M), Version 12.0(3)T,RELEASE SOFTWARE (fc1)

Copyright (c) 1986-1999 by cisco Systems, Inc.

Compiled Tue 23-Feb-99 03:59 by ccai

system.sysObjectID.0 = OID: enterprises.9.1.14

system.sysUpTime.0 = Timeticks: (28214761) 3 days, 6:22:27.61

system.sysContact.0 =

system.sysName.0 = clumsy.cisco.com

system.sysLocation.0 =

system.sysServices.0 = 78

system.sysORLastChange.0 = Timeticks: (0) 0:00:00.00

هذا هو الأمر والمخرجات لمجموعة النظام المحلي من Cisco باستخدام مستخدم:

NMSPrompt 98 % snmpwalk -v3 -n "" -u userone -l noAuthNoPriv clumsy .1.3.6.1.4.1.9.2.1

Module SNMPV2-TC not found

enterprises.9.2.1.1.0 = "..System Bootstrap, Version 5.2(7b) [mkamson 7b],

RELEASE SOFTWARE (fc1)..Copyright (c) 1995 by cisco Systems,

Inc..."

enterprises.9.2.1.2.0 = "reload"

enterprises.9.2.1.3.0 = "clumsy"

enterprises.9.2.1.4.0 = "cisco.com"

هذا هو الأمر والمخرجات التي تظهر أنه لا يمكنك الحصول على مجموعة النظام المحلي من Cisco باستخدام المستخدمtwo:

NMSPrompt 99 % snmpwalk -v3 -n "" -u usertwo -l noAuthNoPriv clumsy .1.3.6.1.4.1.9.2.1

Module SNMPV2-TC not found

enterprises.9.2.1 = No more variables left in this MIB View

NMSPrompt 100 %

هذا الأمر والنتيجة مخصصة  tcpdump (تصحيح لدعم الإصدار 3 من SNMP وإضافة من الطابعة):

NMSPrompt 102 % snmpget -v3 -n "" -u userone -l noAuthNoPriv clumsy system.sysName.0

Module SNMPV2-TC not found

system.sysName.0 = clumsy.cisco.com

إعداد قائمة التحكم في الوصول (ACL) على الواجهات

توفر ميزة قائمة التحكم في الوصول (ACL) تدابير أمان تمنع الهجمات مثل انتحال عناوين IP. يمكن تطبيق قائمة التحكم في الوصول (ACL) على الواجهات الواردة أو الصادرة على الموجهات.

على الأنظمة الأساسية التي ليس لديها خيار إستخدام قوائم التحكم في الوصول للاستقبال (rACLs)، من الممكن السماح بحركة مرور بروتوكول مخطط بيانات المستخدم (UDP) إلى الموجه من عناوين IP الموثوق بها باستخدام قوائم التحكم في الوصول للواجهة.

يمكن تكييف قائمة الوصول الموسعة التالية مع شبكتك. يفترض هذا المثال أن الموجه يحتوي على عنواني IP 192.168.10.1 و 172.16.1.1 مكونا على الواجهات الخاصة به، وأن جميع وصول SNMP يجب أن يكون مقصورا على محطة إدارة بعنوان IP 10.1.1.1، وأن محطة الإدارة تحتاج فقط إلى الاتصال بعنوان IP 192.168.10.1:

access-list 101 permit udp host 10.1.1.1 host 192.168.10.1

ويجب access-listبعد ذلك تطبيق الأمر على جميع الواجهات باستخدام أوامر التكوين التالية:

interface ethernet 0/0

ip access-group 101 in

يجب إدراج جميع الأجهزة التي تتصل مباشرة بالموجه على منافذ UDP بشكل خاص في قائمة الوصول السابقة. يستخدم برنامج Cisco IOS software المنافذ في النطاق 49152 إلى 65535 كمنفذ مصدر للجلسات الصادرة مثل استعلامات نظام اسم المجال (DNS).

بالنسبة للأجهزة التي لها العديد من عناوين IP التي تم تكوينها، أو العديد من الأجهزة المضيفة التي تحتاج إلى الاتصال بالموجه، لا يكون هذا حلا قابلا للتطوير دائما.

rACLs

بالنسبة للأنظمة الأساسية الموزعة، يمكن أن تكون قوائم التحكم في الوصول للاستقبال خيارا يبدأ في برنامج Cisco IOS الإصدار 12.0(21)S2 لموجه محول جيجابت من السلسلة Cisco 12000 Series (GSR) والإصدار 12.0(24)S لسلسلة Cisco 7500. تحمي قوائم الوصول للاستقبال الجهاز من حركة المرور الضارة قبل أن تتمكن حركة المرور من التأثير على معالج الموجه. كما تعد قوائم التحكم في الوصول لمسار الاستقبال أفضل ممارسة أمان شبكة، ويجب اعتبارها كإضافة طويلة المدى لأمان الشبكة الجيد، وكذلك كحل بديل لهذا الضعف المحدد. يتم توزيع حمل وحدة المعالجة المركزية على معالجات بطاقة الخط ويساعد على تخفيف الحمل على معالج التوجيه الرئيسي. إن الكتاب الأبيض المعنون GSR: قوائم التحكم في الوصول للاستقبال يساعد على تحديد حركة المرور الشرعية. أستخدم هذا التقرير الأبيض لفهم كيفية إرسال حركة مرور مشروعة إلى جهازك ورفض جميع الحزم غير المرغوب فيها أيضا.

قوائم التحكم في الوصول (ACLs) للبنية الأساسية

على الرغم من أنه غالبا ما يكون من الصعب حظر حركة المرور التي تنقل شبكتك، إلا أنه من الممكن تحديد حركة المرور التي يجب عدم السماح لها باستهداف أجهزة البنية الأساسية وحظر حركة المرور هذه على حدود شبكتك. تعد قوائم التحكم في الوصول للبنية الأساسية أفضل ممارسة أمان شبكة ويجب اعتبارها كإضافة طويلة المدى لأمان الشبكة الجيد وكذلك كحل بديل لهذا الضعف المحدد. يقدم التقرير الرسمي، المعنون حماية طبقتك الأساسية: قوائم التحكم في الوصول لحماية البنية الأساسية"، إرشادات وتقنيات نشر موصى بها لقوائم التحكم في الوصول للبنية الأساسية (iACLs)..

ميزة أمان محول شبكة LAN Catalyst من Cisco

تعمل ميزة قائمة تصريح IP على تقييد وصول Telnet و SNMP الوارد إلى المحول من عناوين IP للمصدر غير المصرح به. يتم دعم رسائل Syslog و SNMP traps لإخطار نظام الإدارة عند حدوث انتهاك أو وصول غير مصرح به.

يمكن إستخدام مجموعة من ميزات أمان برنامج Cisco IOS software لإدارة الموجهات ومحولات Cisco Catalyst Switches. يلزم إنشاء سياسة أمان تحدد عدد محطات الإدارة التي يمكنها الوصول إلى المحولات والموجهات.

لمزيد من المعلومات حول كيفية زيادة الأمان على شبكات IP، ارجع إلى زيادة الأمان على شبكات IP .

كيفية التحقق من أخطاء SNMP

قم بتكوين قوائم التحكم في الوصول إلى مجتمع SNMP باستخدام  log الكلمة الأساسية. مراقبة  syslog المحاولات الفاشلة، كما هو موضح أدناه.

access-list 10 deny any log

snmp-server community public RO 10

عندما يحاول شخص ما الوصول إلى الموجه مع عامة المجتمع، سترى syslog  مماثلا لما يلي:

%SEC-6-IPACCESSLOGS: list 10 denied 172.16.1.15packet

يعني هذا الإخراج أن قائمة الوصول 10 رفضت خمس حزم SNMP من المضيف 172.16.1.1.

تحقق من بروتوكول SNMP بشكل دوري بحثا عن الأخطاء باستخدام  show snmp الأمر، كما هو موضح هنا:

router#show snmp Chassis: 21350479 17005 SNMP packets input

37 Bad SNMP version errors**

15420 Unknown community name**

0 Illegal operation for community name supplied

1548 Encoding errors**

0 Number of requested variables

0 Number of altered variables

0 Get-request PDUs

0 Get-next PDUs

0 Set-request PDUs 0 SNMP packets output

0 Too big errors (Maximum packet size 1500)

0 No such name errors

0 Bad values errors

0 General errors

0 Response PDUs

0 Trap PDUs

شاهد العدادات التي تم وضع علامة عليها ** للزيادات غير المتوقعة في معدلات الخطأ التي يمكن أن تشير إلى محاولة إستغلال مكامن الضعف هذه. للإبلاغ عن أي مشكلة أمان، ارجع إلى الاستجابة لحوادث أمان منتجات Cisco.

معلومات ذات صلة

- استعلامات أمان SNMP من Cisco

- الدعم الفني والتنزيلات من Cisco