امنیت VLAN ها و ترانک­ها

نوشته شده توسط بهادر اکرمی در ۲۶ آبان ۱۳۹۲

امنیت VLAN ها و ترانک­ها

درست است کهVLANها از یک جنبه­ هایی امنیت را فراهم می­کنند مثلاً با جدا کردن ترافیک بخش­های مختلف از هم، به طوری که یک بخش قادر به مشاهده ترافیک بخش دیگر نباشد؛ اما از لحاظ دیگر می­توانند امنیت شبکه را دچار مشکل کنند.

یکی از مهمترین مشکلات وجود VLAN1 است که به صورت پیش فرض در هـمه سوئیچ­ها به عنوان native VLAN  تعبیه شده است و پیام­هایی که از این VLAN صادر می­شود برچسب نخواهند خورد. و همین امر باعث می­شود که کلیه پیام­هایVLANهای ۱ به راحتی قابل شنود باشند. دلیل بعدی آن همان طور که گفتیم ترافیک بین سوئیچ­ها از طریق ترانک­ها و توسط پروتکل­های ترانکینگ ISL و Q 802.1 کنترل می­شوند. این پروتکل­ها تنها از طریق Header بسته­های رسیده از VLAN ها به وظایف خود عمل می­کنند، حالا یک مهاجم از ترکیب این دو ویژگی می­تواند به هر کدام از VLAN  ها که خواست دسترسی داشته باشد. چگونه؟ مهاجم بسته خارج شده از VLAN1 را که به راحتی قابل شنود است و بسته بندی هم نشده است، بسته بندی می­کند و Header خود را به آن اضافه می­کند! پروتکل­های ترانکینگ با بسته­ای سر و کار دارند که هدر دارد و مامور است و معذور که پیام را به سوئیچ مربوطه برساند! اما چگونه می توان جلوی این موضوع را گرفت؟ بهترین کار این است که تمامی پورت­ها و ترانک­ها را از VLAN1 خارج کنیم و تا آنجا که می­توانیم از این VLAN استفاده نکنیم، در عوضVLAN دیگری را به عنوان native VLAN تعریف کنیم. اگر پروتکل­هایی داریم که تنها باید از  VLAN1 استفاده کنند سعی کنیم که VLAN1 نهایت امنیت را به کار ببریم.

 مورد بعدی اینکه تمام پورت­هایی که در یک سوئیچ بلا استفاده هستند را خاموش (shut down) کنیم، باید توجه داشت که حتی disable  کردن هم امن نیست چرا که امکان Enable کردنش وجود خواهد داشت و سپس این پورت­های بلااستفاده را در یک VLAN جداگانه قرار دهید و آن VLAN را به هیچ VLAN دیگری ارتباط ندهید. به این VLAN ها اصطلاحاً Parking lot VLAN می­گویند!

  1. اگر یک سری از پورت­ها خیلی مهم حیاتی هستند آن­ها را از سایر پورت­ها جدا کرده و در یکVLAN جداگانه­ی امن، نگهداری کنید.
  2. اگر نسبت به یک سری از کاربران مشکوک هستید، آن­ها را در VLAN های جداگانه­ای قرار بدهید (نگاهی کنید به شکل ۶).
  3. پروتکل DTPرا که امکان ترانک کردن یک پورت در صورت نیاز را مهیا می­کرد، غیر فعال کنیم، چرا که این کار می­تواند توسط یک هکر صورت گیرد!
  4. برای سوئیچ­ها پسورد بگذارید. از سیاست­های port security استفاده کنید.
  5. توجه داشته باشید که این تنها پاره­ای از مواردی بود که می­شد با اتکا به آنها امنیت بیشتری را در VLAN ها برقرار کرد و پیدا کردن باقی راه­ها و روش­ها بر عهده خودتان است.

زیر دستور port-security :

از این دستور برای ایجاد امنیت بیشتر در سوئیچ مورد استفاده قرار می گیرد. بطوریکه با استفاده از این دستور می توان محدودیتهایی را درخصوص دسترسی به یک پورت اعمال کرد.

می خواهیم مشخص کنیم چه کسی اجازه دارد به یک پورت Switch وصل شود. می دانیم switch یک device لایه دو می باشد و آدرس دهی و دسترسی از طریق Mac می باشد. بنابراین با port security می خواهیم محدودیت سازی کنیم روی یک پورت Switch کدام Mac Address ها اجازه دارند وصل شوند.

و همچنین از این طریق می­توانیم مشخص کنیم چه تعداد PC می­تواند به پورت switch دسترسی داشته باشند.

سوال پیش می آید که چطور یک پورت سوییچ می­تواند بیشتر از یک Mac را Learn کند؟

پاسخ این است که وقتی ما به Mac table یک switch نگاه می­کنیم زمانی روی یک port آن بیش از یک Mac add را یاد می­گیرد که به switch دیگری متصل باشد و از طریق این اتصال و این port، تمامی Mac add های switch را Learn می­کند.

قابلیت دیگری که وجود دارد این می­باشد که گاهی می­خواهیم تعداد mac add هایی را که روی یک port خاص،learn  می­شود را محدود کنیم. تا به پورت سوییچ، سوییچ دیگری متصل نگردد.

و اگر تخلفی رخ داد چه اتفاقی می افتد و سوییچ با متخلف چه برخوردی می کند؟

در نظر بگیرید در یک سازمان بزرگ ما توسط دستور nonegotiate پورت های بلا استفاده را در شبکه Block کرده ایم ولی اگر شخصی سوکت شبکه ای را از پشت یکی از PCهای مجموعه جدا کند و به دستگاه خود وصل کند مطمئناً می تواند وارد شبکه شود زیرا پورت را به حالت Access تنظیم کرده ایم، به منظور جلوگیری از این قبیل مسایل از دستور Port-Security استفاده می کنیم.

بر روی سوییچ ها دو نوع Port داریم:

ACCESS : پورت های بین Switch و User انتهایی

TRUNK: پورت­های بین سوییچ ها

نکته مهم این می باشد که port security فقط Access Port ها پیاده سازی می­شود.

برای راه اندازی Port Security بر روی پورت مورد نظر، سوییچ را با دستور زیر به حالت Access می­بریم:

cfcl(config)#interface fastethernet 0/1

cfcl(config-if)#switchport mode access

فعال کردن Port Security روی پورت مورد نظر:

cfcl(config-if)#switchport port-security

معرفی کردن Mac Address های مجاز:

یک کلاس درس را تصور کنید که دارای یک switch می باشد و همچنین تعداد client ها نیز،۱۰ عدد می باشد.

می خواهیم فقط کامپیوترهای کلاس یه سوییچ وصل شوند و نمی خواهیم کسی از بیرون به شبکه­ی ما دسترسی داشته باشند.

فرض کنید به ترتیب پورت­های ۱ تا ۱۰ به کامپیوترهای کلاس وصل می­باشد. بنابراین باید وارد هرکدام از پورت­ها شویم و Mac Address کامپیوتر متصل شده به آن پورت را، به صورت دستی تعریف کنیم در Port Security.

Configure allowed mac addresses :

cfcl(config-if)#switchport port-security mac-address H.H.H (e23f.23e2.ef2e) 1st mac
cfcl(config-if)#switchport port-security mac-address H.H.H (e23f.23e2.ef3e)2nd mac
cfcl(config-if)#switchport port-security mac-address H.H.H (e23f.23e2.ef24) 3rd mac

در حال حاضر کلیه­ی کامپیوترهای کلاس مجازند و کامپیوتر متخلف نداریم. غیر از این Mac add ها هر کسی به سوییچ وصل بشه تخلف رخ داده!

cfcl(config-if)#switchport port-security mac-address sticky
(Max=1 by default)

Configure maximum MAC addresses (Max=1 by default) :

cfcl(config-if)#switchport port-security maximum 2

تعداد ماکزیمم Mac Address هایی که می­تواند بر روی یک پورت Learn شود  از طریق دستور بالا می­باشد.

از آنجایی که Confige کردن کلیه ی Port ها، کار مشکل و وقت گیری می­باشد، یک Range از interface ها را انتخاب می کنیم و Confige مربوطه را به کلیه Interface ها اعمال میکنیم

Interface range configuration :
cfcl(config)#interface range fastethernet 0/1-8 , fastethernet 0/24

Violation :

وقتی بر روی یکی از پورت ها تخلفی صورت بگیرد، به صورت defult، پورت مورد نظر Shutdown می گردد. از طریق Violation می­توانیم یکی از item­های زیر را انتخاب کنیم و Defult قرار دهیم

Shutdown               Disable port(yes)      Discard packets(yes)    Send Log(yes)

Restrict                   Disable port(No)       Discard packets(yes)    Send Log(yes)

Protect                    Disable port(No)      Discard packets(yes)    Send Log(No)

cfcl(config-if)#switchport port-security violation {restrict|protect|shutdown}

Note : “Shutdown” and “no shutdown” command is needed for error disabled ports.

بنابراین به طور خلاصه برای راه اندازی port-Security سه مرحله را باید راه اندازی کنیم

۱- ابتدا باید Port-Security را بر روی اینترفیس مربوطه راه اندازی می­کنیم

cfcl(config-if)#switchport port-security

(به احتمال فراوان پس از وارد کردن این دستور و اعمال کردن Port-Security ،پیام زیر را خواهیم دید):

Command rejected: FastEthernet0/1 is a dynamic port

۲- پس از دیدن این پیغام، می­بایست Fast-Ethernet 0/1 را از dynamic port به Access port انتقال دهیم

cfcl(config-if)#switchport mode access

cfcl(config-if)#switchport port-security

 پس از اینکه mode Fastethernet0/1 را به access انتقال دادیم دوباره می­بایست دستور زیر را اعمال کنیم تا Port security اعمال گردد

cfcl(config-if)#switchport port-security

۳- مرحله سوم این است که باید بدانیم از port security چه می­خواهیم و انتخاب کنیم.

یا می­توانیم محدود کنیم چه تعداد Mac add، می­تواند learn شود یا اینکه کدام Mac add می­تواند learn شود!

از این دستور برای تعیین حالت سوئیچ استفاده می کنیم، که حالتهای سوئیچ به شرح ذیل می­باشد:

۱-     Server : به سوئیچ­های Client ، Update می­دهد، در مواقعی که تعداد سوئیچ­ها و Vlanها زیاد باشد مو

۲-     Client

۳-     Transparent

دیدگاه‌تان را ارسال کنید ...



طراحی قالب توسط: بهادر اکرمی