آموزش امن کردن SNMP سویچ و روتر سیسکو

چگونه پروتکل SNMP سویچ و روتر سیسکو را امن کنیم؟ Simple Network Management Protocol یا همان SNMP پروتکل مشهور و پرکاربرد برای جمع آوری اطلاعات شبکه و مدیریت شبکه ست. از SNMP برای جمع آوری اطلاعات مربوط به کانفیگ ها و تجهیزات شبکه مثل سرورها، پرینترها، سوییچ ها و روترها، بر اساس یک IP، استفاده میشه، و یه نکته دیگه اینکهبه ساختمان داده این پروتکل MIB یا Management Information Base میگن.در این مقاله میخوام نشون بدم چطور میشه دسترسی به SNMP را در سویچ ها و روتر های سیسکو کنترل کرد .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

SNMP بطور پیشفرض از پورتهای UDP 161 برای پیام های عمومی و از پورت UDP 162 برای پیام های trap استفاده می کنه.باید بگم متاسفانه snmp ورژن 1 بطور گسترده در حال حاضر استفاده میشه که خیلی ایمن نیست در این ورژن اطلاعات بصورت Clear-text ارسال میشه و یکی از ضعف های اصلی این ورژن است.توصیه که ابتدا دارم اینه که اگر از سیستم های مانیتورینگ یا پروتکل SNMP استفاده نمی کنید می تونید با دستورات زیر این سرویس را غیر فعال کنید:

Switch(config)# no snmp-server community
Switch(config)# no snmp-server enable traps
Switch(config)# no snmp-server system-shutdown
Switch(config)# no snmp-server

اما اگه سرویس SNMP را واسه سویچ ها و روترهای داخل شبکه نیاز دارید بهتره مستقیم برید سراغ SNMP ورژن 3.این ورژن خیلی امن تر از ورژن 1 است چرا که از یک رمزنگاری هش برای احراز هویت برای محافظت از community string استفاده می کنه. خوب قبل از اینکه دستورات این نسخه رو بگم و اونو فعال کنید بهتره با دستوراتی که در بالا آوردم تنظیمات ورژن قدیم پاک سازی بشه. دستوراتی که در پایین آوردم نشون میده که چطور یک مدل امنیتی برای snmp v3 ایجاد بشه ، در ابتدا اکسس لیست 12 اجازه میده که فقط سیستم های خاصی سویچ را مدیریت کنند.

Switch(config)# no access-list 12
Switch(config)# access-list 12 permit 172.30.100.2
Switch(config)# access-list 12 permit 172.30.100.3

مرحله بعد تعریف یک گروه admin با با دسترسی خواندن و نوشتن MIB

Switch(config)# snmp-server group admins v3 auth read adminview write adminview

سپس یک کاربر بعنوان مثال root به این گروه با یک کلمه عبور تعریف میکنیم که می تونه قبل از ارسال هم با md5 رمز بشه و در انتهای دستور اکسس لیست 12 به این کاربر اعمال میکنیم.

Switch(config)# snmp-server user root admins v3 auth md5 MyP@ssw0rd access 12

سر انجام میشه مشخص کرد adminview به کدام قسمت های mib دسترسی داشته باشه. بعنوان مثال در دستورات زیر دسترسی به شاخه های internet از MIB داشته باشه اما به شاخه های که آدرسهای IP و اطلاعات مسیریابی را شامل میشه نه .

Switch(config)# snmp-server view adminview internet included
Switch(config)# snmp-server view adminview ipAddrEntry excluded
Switch(config)# snmp-server view adminview ipRouteEntry excluded

خوب کار تمومه هست اما برای SNMP ورژن یکی ها !! اگر فقط snmp ورژن 1 روی سویچ یا روتر قابل دسترس است با دستورات پایین، با یک اکسس لیست میتونیم دسترسی فقط خواندی به یه سری IP ها اعمال کنیم تا حداقل امنیت رو رعایت کرده باشیم.

Switch(config)# no access-list 12
Switch(config)# access-list 12 permit 172.30.100.2
Switch(config)# access-list 12 permit 172.30.100.3
Switch(config)# snmp-server community Hash-960301 ro 12

خوب آخر سر هم همینطور که میدونید سرویس SNMP Trap میتونه برای مدیریت سویچ بکار بره که میشه با این دستورات تنظیمش کرد :

Switch(config)# snmp-server host 172.30.100.2 traps Hash-960301
Switch(config)# snmp-server host 172.30.100.3 traps Hash-960301
Switch(config)# snmp-server trap-source Loopback0
Switch(config)# snmp-server enable traps

نظرات