آموزش امن کردن سویچ | Switch های سیسکو به زبان ساده

چگونه سویچ سیسکو را امن کنیم؟ هر زمان در مورد امنیت شبکه صحبت می شود بیشتر امنیت را در لایه 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 بصورت کد شده نمایش داده شده و به راحتی در دسترس نباشند.

  • نکته : " mypass" در خطوط بالا و باقی مثال های این مقاله یک مثال می باشد ، شما می توانید به جای آن کلمه عبور دلخواه خود را بنویسید.

دومین راه ارتباط با یک سوئیچ ارتباط 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 می توانید تمامی تنظیمات امنیتی اعمال شده بر روی هر درگاه را مشاهده کنید.

تنظیمات VLAN برای امنیت بیشتر سویچ سیسکو

امنیت در لایه دو از مدل OSI
در بخش قبل در مورد تهدیداتی که از طریق افراد غیرخودی متوجه شبکه داخلی یک سازمان و راه های ایجاد امنیت در مقابل آن صحبت کردیم. اما اگر فرد دردسر ساز درون مجموعه شما باشد چطور؟ افراد و کامپیوترهای درون یک مجموعه کاربران مجاز برای استفاده از شبکه شما به حساب می آیند. تصور کنید، در سطح لایه2 شبکه ، در یک شبکه داخلی هر یک از کاربران شبکه با یک نرم افزار Sniffer براحتی می توانند تمامی ترافیک مبادله شده بین دستگاه های شبکه را رهگیری و به ثبت جریان اطلاعات بپردازند. این کار می تواند اطلاعات حساس سازمانی شما را در اختیار کاربرانی قرار دهد که نباید به تمامی اطلاعات دسترسی داشته باشند.

یکی از بهترین راه کارها برای جلوگیری از این مسئله بخش بندی کردن شبکه به بخش های مجزا است، بطوری که هر بخش فقط به ترافیک دامنه فعالیت خود دسترسی داشته باشد. به این کار در اصطلاح VLANing شبکه گویند. Virtual Local Area Network یا شبکه های مجازی محلی قابلیتی است که بوسیله آن شما می توانید یک شبکه LAN بزرگ را بدون تغییر در قسمت فیزیکی به بخش های کوچکتر و کاملا محدود تقسیم کنید. این کار علاوه بر کنترل دسترسی کاربران به بخش های مختلف ، ترافیک ناخواسته شبکه شما را نیز به مقدار زیادی کاهش دهد. VLAN در واقع دامنه انتشار ترافیک شبکه (Broadcast Domain) را کوچک می کند.

تنظیمات VTP و Trunk در امنیت سویچ سیسکو

برای اینکه تصویر ذهنی بهتری از نحوه پیاده سازی VLANing در یک شبکه داشته باشید ، کلیه آموزش های این بخش را بر روی سناریوی یک شرکت فرضی که دیاگرام آن را در زیر می بینید اجرا می کنیم.

VLAN-Example

همانطور که مشاهده می کنید در این سناریو 9 کلاینت در مجموعه های قرار دارند که بوسیله 3 سوئیچ سیسکو با یکدیگر در ارتباطند.در ابتدا باید بررسی کنید شبکه شما از چند مجموعه تشکیل شده و دامنه فعالیت هر کلاینت آن کجاست. اولین گام برای پیاده سازی VLAN تعیین و نام گذاری هر مجموعه است. در این مثال 3 مجموعه شامل بخش مدیریت، مهندسی و حسابداری وجود دارد که به شکل زیر برای هر بخش یک VLAN در نظر می گیریم.

VLAN-Example2

همانطور که مشاهده می کنید ممکن است کلاینت های یک مجموعه همیشه در کنار هم نباشند. مثلا در تصویر بالا می بینید که سیستم مدیر حسابداری در اتاق مدیران قرار دارد، ولی بر اساس نیاز ما باید در 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 قرار می دهیم.

  • نکته 1 : سوئیچ های سیسکو بصورت پیش فرض در وضعیت server می باشند.

مجموعه دستورات زیر تعاریف مورد نیاز 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) می باشد، انتخاب آن بسته به نیاز و نوع سوئیچ های شما در شبکه می باشد. بهتر است همیشه از بالاترین نسخه استفاده کنید، اما در بعضی سوئیچ های قدیمی ممکن است پشتیبانی نشود.

  • نکته 2 : mynetwork.com و mypass برای این سناریو می باشند و شما می توانید هر نام و رمز عبوری که خود می خواهید به دلخواه و نیاز شبکه خود انتخاب نمایید، فقط دقت کنید این تعاریف در تمام بخش های شبکه باید یکسان باشد.

بعد از تعریف 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


نظرات