چگونه سویچ سیسکو را امن کنیم؟ هر زمان در مورد امنیت شبکه صحبت می شود بیشتر امنیت را در لایه 3 شبکه و یا لایه های بالاتر مدل OSI و یا برنامه ها تصویر می کنیم. اما تاکنون فکر کرده اید در یک شبکه داخلی LAN و به عبارتی در سطح لایه 2 چه تهدیدهایی متوجه شبکه شماست ؟
امنیت در محیط یک سازمان ، شرکت و یا ساختمان که دارای شبکه ای داخلی است چه تعریفی دارد؟ همه ما در سازمان ها و موسسات بزرگ در مکان های مختلف Node هایی از شبکه را در کنار اتاق ها یا سالن ها دیده ایم که بدون وصل بودن سیستمی به آن رها شده اند. همین Node های بلااستفاده ی به ظاهر بی خطر اگر غیرفعال یا امن نشده باشند ، قابلیت بالقوه ای برای نفوذ به شبکه داخلی می باشند.
حتی خود سوئیچ های شبکه که در محل های مختلف ساختمان ها قرار دارند معمولا دارای Interface هایی هستند که مورد استفاده قرار نگرفته و یا مورد نیاز نبوده اند و به همین شکل رها شده اند.تصور کنید یک مهمان ناخوانده با یک لپ تاپ و یک کابل شبکه به راحتی می تواند از طریق همین درگاه ها یا Node های آزاد وارد شبکه شده و مجموعه شما را تهدید کند.اگر شما مدیر شبکه یک سازمان بودید و از این خطرات آگاه ، برای بالا بردن امنیت شبکه خود چه تدابیری می اندیشید؟
سوئیچ های شبکه به طور کلی به دو دسته ( مدیریت نشده) unmanaged و ( مدیریت شده ) managed دسته بندی می شوند. در این مجموعه مقالات می خواهیم به روش های بالا بردن امنیت یک شبکه های داخلی درون سازمانی ( LAN ) بوسیله سوئیچ های سیسکو که قابلیت مدیریت و برنامه ریزی را دارند بپردازیم.
برای شروع ابتدا به سراغ خود سوئیچ و امنیت ورود به سوئیچ برویم. سوئیچ های سیسکو و همه سوئیچ های شبکه ای که قابلیت مدیریت دارند دارای یک سیستم عامل یا IOS می باشند. برای مدیریت یک سوئیچ شما باید ابتدا از طریق یکی از راه هایی که برای این کار بر روی سوئیچ در نظر گرفته شده به آن متصل شوید.
به صورت پبشفرض اولین راه اتصال به یک سوئیچ سیسکو درگاه کنسول ( Console ) آن می باشد. این درگاه بوسیله یک کابل و ارتباط با پورت RS232کامپیوتر قابل دسترسی است. پس اولین گام برای بالا بردن امنیت ، امن کردن همین درگاه از طریق فعال کردن رمز بر روی آن است. مجموعه دستورات زیر برای فعال سازی رمز ورود بر روی سوئیچ می باشد:
Switch> enable Switch# configure terminal Switch(config)# enable secret mypass Switch(config)# username admin secret mypass Switch(config)# line console 0 Switch(config-line)# password mypass Switch(config-line)# login Switch(config-line)# exec-timeout 5 30 Switch(config-line)# exit Switch(config)# service password-encryption Switch(config)# exit Switch# write
حالا بیایید نگاهی دقیقتر به برخی دستورات اجرا شده در خطوط بالا بیاندازیم. در خط سوم دستورات می توانستیم به جای enable secret از enable password هم می توانیم استفاده کنیم. اما الگوریتم رمزنگاری در Secret امنیت بالاتری از enable password را دارا می باشد که به راحتی قابل شکسته شدن نیست. عدد (30 5) در خط 8 برای مثال می باشد و تعیین کننده مقدار زمان انتظار برای دریافت اطلاعات از کاربر در Console می باشد ، شما به جای آن مقدار زمان دلخواه خود را به دقیقه و ثانیه وارد کنید. این مقدار در سوئیچ های سیسکو به صورت پیش فرض 10 دقیقه می باشد. دستور خط 10 (service password-encryption) با رمزنگاری پسوردها باعث میشود تا کلمات عبور شما در زمان ذخیره در فایل Config و یا گرفتن فرمان show running-config بصورت کد شده نمایش داده شده و به راحتی در دسترس نباشند.
دومین راه ارتباط با یک سوئیچ ارتباط Telnet از طریق Interface های سوئیچ می باشد. مجموعه دستورات زیر برای فعال سازی و تعاریف مربوط به امن کردن پروتکل Telnet بر روی سوئیچ می باشد:
Switch> enable Switch# configure terminal Switch(config)# username admin secret mypass Switch(config)# interface vlan 1 Switch(config-if)# ip address 192.168.0.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config)# line vty 0 15 Switch(config-line)# password mypass Switch(config-line)# login local Switch(config-line)# exec-timeout 5 30 Switch(config-line)# exit Switch(config)# service password-encryption Switch(config)# exit Switch# write
برای اتصال از طریق Telnet به یک سوئیچ ، ابتدا باید برای آن یک آدرس آی پی تعریف نمایید. در سوئیچ بصورت پیش فرض همه درگاه ها عضو VLan1 می باشند، پس بدین منظور آی پی موردنظر را بر روی VLan1 تنظیم می کنیم. دقت کنید آی پی انتخابی باید در Subnet شبکه داخلی شما باشد تا بتوانید به آن متصل شوید.در خط 9 با وارد کردن فرمان login local به سوئیچ می گویید که برای اهراز هویت Telnet از نام کاربری و کلمه عبوری که در خط 3 تعریف کردید استفاده کند.
در بعضی سوئیچ ها که IOS آنها قابلیت پشتیبانی از SSH را دارند این امکان وجود دارد که به جای پروتکل Telnet از SSH استفاده کنید. این تغییر خطر Sniff شدن فعالیت های شما در شبکه را تا حداقل ممکن کاهش می دهد. اگر سوئیچ شما قابلیت استفاده از SSH به جای Telnet را دارا می باشد ، این کار شديداً توصیه می شود. مجموعه دستورات زیر برای انتقال از پروتکل Telnet به SSH بر روی سوئیچ می باشد:
Switch> enable Switch# configure terminal Switch(config)# hostname <host name> (ex: MySwitch) MySwitch (config)# ip domain-name <domain name> (ex: MySite.com) MySwitch (config)# crypto key generate rsa (ex: 1024) MySwitch (config)# ip ssh version 2 MySwitch (config)# ip ssh timeout <seconds> MySwitch (config)# ip ssh authentication-retries <number> MySwitch (config)# line vty 0 15 MySwitch (config-line)# transport input ssh MySwitch (config-line)# end MySwitch # write
بعد از وارد کردن فرمان خط 5 عددی برای تعیین طول رشته rsa از شما پرسیده می شود. این مقدار به صورت پیش فرض 512 می باشد. تا اینجا همه کارهای انجام شده برای امن کردن دسترسی به مدیریت سوئیچ بود. حالا به سراغ امن کردن Interface های سوئیچ و تعاریف مربوط به دسترسی های آن می رویم. برای شروع شما ابتدا باید بر مبنای سناریوی شبکه خود تعیین کنید که به هرکدام از درگاه های سوئیچ چه دستگاهی متصل شده.
منظور از این کار تعیین این است که درگاه مورد استفاده یک کامپیوتر ، چاپگر و یا هر وسیله ای است که به اصطلاح نقطه انتهایی شبکه می باشد ، یا آن که درگاه به یک سوئیچ دیگر متصل شده. بعد از اینکه نوع استفاده کننده از درگاه های مورد نیاز تعیین شد بهتر است Interface های بلااستفاده را غیرفعال کنید تا Node رها شده ای در شبکه خود نداشته باشید. در مثالی که در مجموعه دستورات زیر مشاهده می کنید ، 4 سیستم متصل به درگاه های 1 تا 4 سوئیچ بوده و درگاه 24 به یک سوئیچ دیگر متصل شده است.
Switch> enable Switch# configure terminal Switch(config)# interface range fastEthernet 0/1 - 4 Switch(config-if-range)# switchport mode access Switch(config-if-range)# switchport port-security Switch(config-if-range)# switchport port-security mac-address sticky Switch(config-if-range)# switchport port-security maximum 1 Switch(config-if-range)# switchport port-security violation shutdown Switch(config-if-range)# exit Switch(config)# interface fastEthernet 0/24 Switch(config-if)# switchport mode trunk Switch(config-if)# exit Switch(config)# interface range fastEthernet 0/5 - 23 Switch(config)# shutdown Switch(config)# end Switch# show port-security interface fastEthernet < interface_id > (ex: 0/1) Switch# write
فرمان خط 6 باعث می شود تا سوئیچ مک آدرس دستگاهی را که به آن متصل می شود را به صورت خودکار دریافت کرده و برای آن Interface ذخیره کند. فرمان خط 7 تعیین کننده تعداد مک آدرس های قابل ثبت و مجاز برای یک درگاه می باشد. در خط 8 تعیین می کنید که اگر دستگاهی با مک آدرسی به غیر از آدرس های فعلی به Interface متصل شد سوئیچ چه عکس العملی به آن نشان دهد.
شما از سه وضعیت protect restrict shutdown میتوانید یکی را انتخاب کنید. حالت shutdown باعث می شود تا سوئیچ در مواجه با تغییر در مک آدرس این درگاه آن را به طور کامل از دسترس خارج کرده و درگاه را غیرفعال کند. در انتها با فرمان show port-security می توانید تمامی تنظیمات امنیتی اعمال شده بر روی هر درگاه را مشاهده کنید.
یکی از بهترین راه کارها برای جلوگیری از این مسئله بخش بندی کردن شبکه به بخش های مجزا است، بطوری که هر بخش فقط به ترافیک دامنه فعالیت خود دسترسی داشته باشد. به این کار در اصطلاح VLANing شبکه گویند. Virtual Local Area Network یا شبکه های مجازی محلی قابلیتی است که بوسیله آن شما می توانید یک شبکه LAN بزرگ را بدون تغییر در قسمت فیزیکی به بخش های کوچکتر و کاملا محدود تقسیم کنید. این کار علاوه بر کنترل دسترسی کاربران به بخش های مختلف ، ترافیک ناخواسته شبکه شما را نیز به مقدار زیادی کاهش دهد. VLAN در واقع دامنه انتشار ترافیک شبکه (Broadcast Domain) را کوچک می کند.
برای اینکه تصویر ذهنی بهتری از نحوه پیاده سازی VLANing در یک شبکه داشته باشید ، کلیه آموزش های این بخش را بر روی سناریوی یک شرکت فرضی که دیاگرام آن را در زیر می بینید اجرا می کنیم.
همانطور که مشاهده می کنید در این سناریو 9 کلاینت در مجموعه های قرار دارند که بوسیله 3 سوئیچ سیسکو با یکدیگر در ارتباطند.در ابتدا باید بررسی کنید شبکه شما از چند مجموعه تشکیل شده و دامنه فعالیت هر کلاینت آن کجاست. اولین گام برای پیاده سازی VLAN تعیین و نام گذاری هر مجموعه است. در این مثال 3 مجموعه شامل بخش مدیریت، مهندسی و حسابداری وجود دارد که به شکل زیر برای هر بخش یک VLAN در نظر می گیریم.
همانطور که مشاهده می کنید ممکن است کلاینت های یک مجموعه همیشه در کنار هم نباشند. مثلا در تصویر بالا می بینید که سیستم مدیر حسابداری در اتاق مدیران قرار دارد، ولی بر اساس نیاز ما باید در VLAN حسابداران قرار بگیرد تا به داده های آن بخش دسترسی داشته باشد.برای شروع به سراغ سوئیچ Main می رویم که تقریبا مرکز این شبکه می باشد و سوئیچ های دیگر شبکه به آن متصل می باشند.مجموعه دستورات زیر برای ایحاد VLAN ها و تعاریف مورد نیاز بر روی سوئیچ Main می باشد:
1. Switch> enable 2. Switch# configure terminal 3. Switch(config)# hostname MainSwitch 4. MainSwitch (config)# vlan 10 5. MainSwitch (config -vlan)# name Manager 6. MainSwitch (config -vlan)# exit 7. MainSwitch (config)# vlan 20 8. MainSwitch (config -vlan)# name Accounting 9. MainSwitch (config -vlan)# exit 10. MainSwitch (config)# vlan 30 11. MainSwitch (config -vlan)# name Enginners 12. MainSwitch (config -vlan)# exit 13. MainSwitch (config)# interface range fastEthernet 0/1 – 3 14. MainSwitch (config -if-range)# switchport mode access 15. MainSwitch (config -if-range)# switchport access vlan 30 16. MainSwitch (config -if-range)# exit 17. MainSwitch (config)# interface range gigabitEthernet 1/1 – 2 18. MainSwitch (config -if-range)# switchport mode trunk 19. MainSwitch (config -if-range)# exit 20. MainSwitch (config)# exit 21. MainSwitch# write
سوئیچ Main از یک طرف به صورت مستقیم با سیستم های مجموعه مهندسین و از طرف دیگر به دو سوئیچ متصل است، به همین جهت درگاه های گیگابیت 1 و 2 سوئیچ را در حالت trunk قرار می دهیم.دقت کنید در VLaning اگر شبکه شما بیش از یک سوئیچ داشته باشد باید VLan ها در همه سوئیچ ها تعریف شوند. از طرفی اگر شما یک شبکه بزرگ با تعداد زیادی کلاینت و سوئیچ های شبکه باشد، فرایند تعریف VLan ها در همه سوئیچ ها می تواند بسیار زمان بر و خسته کننده شود.
برای حل این معضل سیسکو پروتکلی به نام VTP را ابداع کرد. با فعال سازی و تعریف این پروتکل VLan ها بصورت خودکار در شبکه به تمام سوئیچ هایی که تنظیمات VTP مورد نیاز جهت دریافت VLan در آنها انجام شده باشد ارسال خواهد شد. سوئیچ های یک شبکه در تعاریف VTP می توانند در سه وضعیت client ، server و یا transparent قرار گیرند.
سوئیچی که حالت VTP آن در وضعیت server باشد هم قابلیت تغییر در VLan ها را دارا می باشد و هم ارسال کننده و دریافت کننده تنضیمات VLan می باشد. در حالت client سوئیچ قابلیت ارسال و دریافت به سوئیچ های دیگر را دارا می باشد
اما خود قابلیت دخل و تصرف در VLan ها را ندارد.سوئیچ transparent به نوعی یک واحد خود مختار است، به این معنی که VLan های سوئیچ های دیگر را از خود عبور داده و در شبکه منتشر می کند ولی تنظیمات خود را تغییر نمی دهد. این سوئیچ همچنین قابلیت ویرایش VLan های خود را به صورت مجزا از شبکه دارا می باشد.در سناریو شبکه این مقاله ، سوئیچ Main را در حالت server و دو سوئیچ دیگر را در حالت client قرار می دهیم.
مجموعه دستورات زیر تعاریف مورد نیاز VTP بر روی سوئیچ Main می باشد:
22. MainSwitch > enable 23. MainSwitch # configure terminal 24. MainSwitch(config)# vtp mode server 25. MainSwitch(config)# vtp version 2 26. MainSwitch(config)# vtp domain mynetwork.com 27. MainSwitch(config)# vtp password mypass 28. MainSwitch(config)# exit 29. MainSwitch# write
در دستورات بالا ، خط 24 برای این سوئیچ اختیاری می باشد ، به دلیل اینکه سوئیچ بصورت پیش فرض در وضعیت server قرار گرفته است، ولی برای اطمینان بیشتر وارد کردن آن ضرری ندارد.VTP دارای دو نسخه (1و 2) می باشد، انتخاب آن بسته به نیاز و نوع سوئیچ های شما در شبکه می باشد. بهتر است همیشه از بالاترین نسخه استفاده کنید، اما در بعضی سوئیچ های قدیمی ممکن است پشتیبانی نشود.
بعد از تعریف VLan ها و تنظیم VTP در سوئیچ Main حال فقط کافیست در سوئیچ های مجموعه حسابداری و مدیریت سرویس VTP را تنظیم کنیم تا تعاریف مربوط به VLan ها بصورت خودکار به این سوئیچ ها نیز منتقل شود.مجموعه دستورات زیر تعاریف مورد نیاز VTP بر روی سوئیچ های Accounting و Manager می باشد:
30. Manager> enable 31. Manager# configure terminal 32. Manager(config)# vtp version 2 33. Manager(config)# vtp mode client 34. Manager(config)# vtp domain mynetwork.com 35. Manager(config)# vtp password mypass 36. Manager(config)# exit 37. Manager# write
38. AccSwitch>enable 39. AccSwitch# configure terminal 40. AccSwitch(config)#vtp version 2 41. AccSwitch(config)#vtp mode client 42. AccSwitch(config)#vtp domain mynetwork.com 43. AccSwitch(config)#vtp password mypass 44. AccSwitch(config)#exit 45. AccSwitch# write
بعد از تنظیم VTP بر روی سوئیچ ها با وارد کردن دستور show vlan می توانید مشاهده کنید که تعاریف VLan به صورت خودکار به این سوئیچ ها منتقل شده است:
46. AccSwitch# show vlan VLAN Name Status Ports ---- ---------------------------- --------- ------------------------------- 1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4 Fa0/5, Fa0/6, Fa0/7, Fa0/8 Fa0/9, Fa0/10, Fa0/11, Fa0/12 Fa0/13, Fa0/14, Fa0/15, Fa0/16 Fa0/17, Fa0/18, Fa0/19, Fa0/20 Fa0/21, Fa0/22, Fa0/23, Fa0/24 Gig1/2 10 Manager active 20 Accounting active 30 Enginners active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup --More--
همانطور که می بینید VLan های 10 و 20 و 30 به صورت خودکار به این سوئیچ منتقل شده اند.بعد از تعریف VLan ها تنها کار باقی مانده عضو کردن هر درگاه به VLan مربوط به خود است.مجموعه دستورات زیر تعاریف مورد نیاز بر روی سوئیچ های Accounting و Manager می باشد:
47. AccSwitch>enable 48. AccSwitch# configure terminal 49. AccSwitch(config)# interface range fastEthernet 0/1 - 3 50. AccSwitch(config-if-range)# switchport mode access 51. AccSwitch(config-if-range)# switchport access vlan 20 52. AccSwitch(config-if-range)# exit 53. AccSwitch(config)# interface gigabitEthernet 1/1 54. AccSwitch(config-if)# switchport mode trunk 55. AccSwitch(config-if)# end 56. AccSwitch# write
Manager> enable 58. Manager# configure terminal 59. Manager(config)# interface range fastEthernet 0/1 - 2 60. Manager(config-if-range)# switchport mode access 61. Manager(config-if-range)# switchport access vlan 10 62. Manager(config-if-range)# exit 63. Manager(config)# interface range fastEthernet 0/3 64. Manager(config-if)# switchport mode access 65. Manager(config-if)# switchport access vlan 20 66. Manager(config-if)# exit 67. Manager(config)# interface gigabitEthernet 1/1 68. Manager(config-if)# switchport mode trunk 69. Manager(config-if)# end 70. Manager# write 71. Manager# show vlan VLAN Name Status Ports ---- --------------------------- --------- ------------------------------- 1 default active Fa0/4, Fa0/5, Fa0/6, Fa0/7 Fa0/8, Fa0/9, Fa0/10, Fa0/11 Fa0/12, Fa0/13, Fa0/14, Fa0/15 Fa0/16, Fa0/17, Fa0/18, Fa0/19 Fa0/20, Fa0/21, Fa0/22, Fa0/23 Fa0/24, Gig1/2 10 Manager active Fa0/1, Fa0/2 20 Accounting active Fa0/3 30 Enginners active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup --More-- 72. Manager# show vtp status VTP Version : 2 Configuration Revision : 0 Maximum VLANs supported locally : 255 Number of existing VLANs : 8 VTP Operating Mode : Client VTP Domain Name : mynetwork.com VTP Pruning Mode : Disabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0xA6 0x9C 0xEF 0x9A 0xF1 0x29 0xBC 0x5A Configuration last modified by 0.0.0.0 at 3-1-93 00:45:51
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود