مقاله آموزشی Port-Security

fashion img

Port Security

یکی از ویژگی های امنیتی که بر روی سوییچ ها موجود می باشد ویژگی Port Security است. قبل از اینکه بپردازیم به این ویژگی ابتدا نگاهی داشته باشیم به این مسئله که به چه علت Port Security بوجود آمد. 
قبل از بوجود آمدن سوییچ ها، دستگاهی تحت عنوان هاب (HUB) در شبکه ها فعالیت می کرد. هاب دستگاهی بود که در لایه ی 1 یعنی لایه ی Physical از مدل OSI فعالیت میکرد در نتیجه هیچگونه اطلاعاتی در رابطه با هیچ آدرسی نداشت. عملکرد هاب به این صورت بود که اگر یک پیام را بر روی یکی از پورت های خود دریافت می کرد آن پیام را بر روی تمامی پورت های خود ارسال می کرد. در نتیجه اگر یک کلاینت قصد داشت پیام به یک کلاینت ارسال کند، آن پیام به تمامی کلاینت هایی که به هاب متصل بودند می رسید. تصویر 1 عملکرد هاب را نشان می دهد.

تصویر 1  عملکرد هاب

در تصویر 1، PC-A یک پیام به مقصد PC-E ارسال می کند. پیام مورد نظر به دست هاب می رسد. از آنجاییکه هاب در لایه ی فیزیکال فعالیت دارد و هیچگونه اطلاعی در رابطه با آدرس MAC ندارد در نتیجه آن پیام را بر روی تمامی اینترفیس های خود ارسال می کند. درست است که پیام مورد نظر به PC-E می رسد اما به تمامی کلاینت های دیگر نیز می رسد. به نظر شما ایرادی دارد؟ صدرصد بله، شاید پیامی که PC-A ارسال کرده یک پیام محرمانه باشد که فقط باید توسط PC-E دریافت و خوانده شود اما در این شرایط تمامی کلاینت ها آن پیام را دریافت می کنند. پس یکی از مشکلات بزرگ هاب این بود که نمی توانست یک ارتباط Unicast برقرار کند.
از همین رو دستگاهی تحت عنوان سوییچ بوجود آمد که در لایه ی 2 یعنی لایه ی Data link از مدل OSI فعالیت می کرد. با بوجود آمدن سوییچ ها نوع دیگری از ترافیک ها تحت عنوان Unicast بوجود آمد. Unicast یک ارتباط نقطه به نقطه را بیان می کند یعنی اینکه از یک دستگاه پیامی به یک دستگاه مشخص ارسال شود. در نتیجه در Unicast ارتباط بین دو دستگاه مطرح می باشد. این ارتباط Unicast بر اساس آدرس MAC انجام می شود. به این صورت که هر سوییچ یک جدول تحت عنوان MAC Address Table را داراست. زمانی که کلاینت ها پیامی را ارسال می کنند به محض دریافت آن پیام سوییچ از فیلد Source MAC در هدر اترنت آدرس MAC آن کلاینت را یاد گرفته و در جدول خود ثبت می کند. در نتیجه سوییچ به این صورت آدرس MAC تمامی کلاینت ها را یاد میگیرد. حال اگر یک کلاینت بخواهد پیامی را به کلاینت دیگری ارسال کند، سوییچ با استفاده از آدرس MAC مقصد می تواند پیام را فقط به کلاینت مقصد ارسال کند یعنی دیگر باقی کلاینت ها آن پیام را دریافت نمی کنند. تصویر 2 عملکرد سوییچ را نشان می دهد.

 

تصویر 2  عملکرد سوییچ

در تصویر 2، PC1 پیامی را به PC3 ارسال می کند. پیام مورد نظر تحویل سوییچ داده می شود. از آنجایی که سوییچ در لایه ی Data Link فعالیت دارد درنتیجه با آدرس های MAC سروکار دارد. سوییچ از قبل جدول MAC Address خود را کامل کرده است (نحوه ی یادگیری آدرس های MAC را می توانید در مقاله ی مربوطه ی آن مطالعه کنید). زمانی که پیام PC1 به دست سوییچ می رسد، سوییچ نگاهی به فیلد Destination MAC در هدر اترنت پیام می اندازد. اگر آدرس MAC مقصد را بلد باشد پیام را بصورت Unicast براساس اطلاعاتی که در جدول خود دارد ارسال می کند. اما اگر آدرس MAC مقصد را در جدول خود نداشته باشد آن پیام را بر روی تمامی اینترفیس های خود به غیر از اینترفیسی که از آن همان پیام را دریافت کرده ارسال می کند که این نوع ارسال تحت عنوان Broadcast شناخته می شود (ارسال پیام از یک مبدا به تمامی دستگاه های موجود در یک سگمنت Broadcast گفته می شود). پس عملا اگر سوییچ اطلاعاتی از آدرس MAC مقصد نداشته باشد همانند هاب رفتار می کند. اما در این سناریو سوییچ آدرس MAC مقصد یعنی PC3 را در جدول خود دارد، درنتیجه آن پیام را فقط بر روی پورت F0/2 خود که آدرس PC3 یعنی AA:CC یاد گرفته شده ارسال می کند. توجه داشته باشید که آدرس MAC یک آدرس 48 بیتی می باشد که در اینجا برای ساده سازی بصورت خلاصه نوشته شده است. اما نکته ی جالب این سناریو این می باشد که دیگر PC2 پیام ارسالی PC1 را دریافت نمی کند. پس از لحاظ مباحث امنیتی سوییچ ها خیر بهتر از هاب ها عمل می کنند.
 
MAC Overflow Attack
 
با اینکه سوییچ ها از ترافیک های Unicast پشتیبانی می کنند و می توانند یک ارتباط نقطه به نقطه را ایجاد کنند اما نمی توانند بصورت پیش فرض امنیت کاملی را مطرح کنند. تصویر 2 را در نظر بگیرید. فرض کنید PC2 یک اتکر می باشد و قصد دارد اطلاعاتی که بین PC1 و PC3 درحال تبادل می باشند را دریافت کند. به نظر شما چگونه می تواند به هدف خود برسد؟
یکی از ساده ترین راه هایی که اتکر می تواند اطلاعات ارسال و دریافتی بین PC1 و PC3 را مشاهده کند این است که کاری کند که سوییچ شبیه به هاب عمل کند. یعنی اگر پیامی را دریافت کرد بر روی تمامی اینترفیس های خود ارسال کند، درنتیجه یک نسخه از پیام ها به اتکر می رسد. اما چگونه؟
 
جدول MAC Address بر روی سوییچ ها یک جدول با فضای نامحدود نیست. پس این جدول می تواند پر شود. تعداد MAC Address هایی که یک سوییچ می تواند در جدول خود نگهداری کند کاملا بستگی به نوع آن سوییچ دارد، اما در کل هیچ سوییچی وجود ندارد که فضای جدول MAC Address آن نامحدود باشد. زمانی که جدول MAC Address سوییچ پر شود سوییچ دیگر نمی تواند هیچ MAC Address جدیدی یاد بگیرد. از آنجایی که سوییچ نمی تواند MAC Address جدیدی یاد بگیرد، اگر پیامی به دست سوییچ برسد که مقصد آن در جدول سوییچ وجود نداشته باشد، سوییچ آن را Broadcast می کند.
اتکر که در این سناریو PC2 می باشد کلاینت خود را متصل می کند به سوییچ و با ابزاری همانند Yersinia که بر روی توزیع های لینوکس موجود می باشد، پیام هایی را با آدرس های MAC متفاوت و جعلی ایجاد می کند و به سمت سوییچ ارسال می کند. در هر ثانیه صدها پیام با آدرس های MAC متفاوت به سمت سوییچ ارسال می شود و سوییچ آنها را یاد می گیرد. اینقدر این عمل تکرار می شود تا جدول MAC Address سوییچ پر شود. حال دیگر سوییچ نمی تواند آدرس های PC1 و PC3 را یاد بگیرد، درنتیجه اگر PC1 پیامی به سمت PC3 ارسال کند، چون سوییچ هیچ آدرسی از PC3 را در جدول خود ندارد آن پیام را Broadcast می کند و پیام علاوه بر PC3 به دست PC2 یعنی اتکر نیز می رسد. این اتک تحت عنوان MAC Overflow Attack شناخته می شود.
 
برای جلوگیری از MAC Overflow Attack مفهومی تحت عنوان Port Security بوجود آمد. با استفاده از Port Security می توان تعداد آدرس های MAC که یک سوییچ می تواند بر روی یک پورت خود یاد بگیرد را محدود کرد. به عنوان مثال می توان مشخص کرد، سوییچ بر روی هر اینترفیس خود نهایتا 2 آدرس MAC می تواند یاد بگیرد و اگر پیام هایی با آدرس های MAC بیشتری بر روی آن پورت دریافت شد جلوی آنها گرفته شود. همچنین می توانید مشخص کنید چه آدرس هایی بر روی یک پورت مجاز می باشند و اگر آدرسی به جز آدرس هایی که شما مشخص کرده اید بر روی پورت دریافت شود جلوی آنها گرفته می شود.
Port Security یک ویژگی لایه دویی می باشد، در نتیجه بر روی اینترفیس هایی که در لایه ی 2 فعالیت دارند مورد استفاده قرار می گیرد. زمانی که شما بر روی یک اینترفیس Port Security را فعال می کنید بصورت پیش فرض تنها یک آدرس MAC اجازه دارد بر روی آن پورت از طریق دستگاه متصل به پورت دریافت شود. اگر دستگاه متصل به پورت پیام هایی با آدرس های MAC جعلی ارسال کند Port Security متوجه شده و با آن دستگاه برخورد می کند. پس با محدود کردن تعداد آدرس های مجاز MAC می توانید مشخص کنید بر روی یک پورت نهایتا چند آدرس MAC می تواند دریافت شود.
در Port Security اگر تخلفی رخ دهد بسته به اینکه چه رفتاری توسط Port Security باید بر روی آن پورت انجام شود متفاوت است. این رفتار که توسط Port Security بر روی پورتی که دچار نقض قانون یا تخلف شده انجام می شود تحت عنوان Violation شناخته می شود. در Port Security سه نوع Violation وجود دارد :
 
• Shutdown – بصورت پیش فرض با فعال کردن Port Security بر روی یک پورت، Violation درحالت Shutdown می باشد. اگر بر روی یک پورت که Violation آن Shutdown می باشد تخلفی رخ دهد،Port Security آن پورت را به حالت Err-disable می برد. در این حالت دیگر هیچ ترافیکی حتی ترافیک هایی با آدرس MAC مجاز نیز نمی توانند بر روی پورت ارسال یا دریافت شوند. همچنین در صورت وجود سرور لاگ (Syslog Server) یک لاگ برای سرور تحت این عنوان که تخلفی در Port Security رخ داده ارسال می شود.
 
• Restrict – اگر یک پورت که Violation آن Restrict می باشد تخلفی رخ دهد، پکت هایی که Source MAC Address آنها غیرمجاز می باشند، Drop می شوند اما همچنان پکت هایی با Source MAC Address مجاز می توانند بر روی پورت ارسال و دریافت شوند. درنتیجه در این Violation برخلاف Shutdown تمامی پکت ها Drop نمی شوند بلکه تنها پکت هایی که آدرس MAC آنها غیرمجاز می باشد Drop می شوند. همچنین در صورت وجود سرور لاگ یک لاگ برای سرور تحت این عنوان که تخلفی در Port Security رخ داده ارسال می شود.
 
• Protect – اگر یک پورت که Violation آن Protect می باشد تخلفی رخ دهد، پکت هایی که Source MAC Address آنها غیرمجاز می باشند، Drop می شوند اما همچنان پکت هایی با Source MAC Address مجاز می توانند بر روی پورت ارسال و دریافت شوند. درنتیجه در این Violation برخلاف Shutdown تمامی پکت ها Drop نمی شوند بلکه تنها پکت هایی که آدرس MAC آنها غیرمجاز می باشد Drop می شوند. در این Violation بر خلاف Shutdown و Restrict اگر تخلفی رخ دهد حتی اگر سرور لاگ  وجود داشته باشد بازهم هیچ لاگی توسط Port Security ارسال نمی شود. 
 
بصورت پیش فرض زمانی که بر روی یک پورت Port Security فعال می شود تنها یک آدرس MAC مجاز می باشد. اولین کلاینتی که یک پیام بر روی آن پورت ارسال کند آدرس MAC آن کلاینت بصورت اتوماتیک توسط Port Security بر روی آن پورت یاد گرفته می شود و اگر یک پیام با Source MAC ای غیر از MAC Address آن کلاینت ارسال شود تخلف رخ می دهد. پس به عبارت ساده مقدار Maximum آدرس های MAC در Port Security برای هر پورت 1 می باشد که می توانید این مقدار را بصورت دستی تغییر دهید. نکته ی قابل توجه دیگر این می باشد که آدرس MAC ای که توسط Port Security بر روی یک پورت بصورت اتوماتیک یاد گرفته شده با Reload شدن سوییچ و یا خاموش و روشن شدن آن پورت حذف می شود. گاهی نیاز داریم بر روی یک پورت تنها یک آدرس MAC مجاز باشد و حتی اگر سوییچ Reload هم شد همان MAC Address مجاز باقی بماند برای اینکار می توانیم از پیکربندی MAC Address بصورت دستی (Static) و یا بصورت Sticky استفاده کنیم. 
 
Port Security Static and Sticky MAC Address
 
می دانیم که بصورت پیش فرض زمانی که پیامی بر روی اینترفیسی که Port Security بر روی آن فعال می باشد دریافت شود بصورت خودکار Port Security از قسمت Source MAC آن پیام آدرس MAC کلاینت متصل به آن پورت را یاد میگیرد. پس Learn شدن آدرس های MAC توسط Port Security بصورت خودکار می باشد. اما نکته ی قابل توجه این می باشد که پس از خاموش و روشن شدن یک اینترفیس MAC آدرس هایی که بر روی آن اینترفیس توسط Port Security یاد گرفته شده اند حذف می شوند. همچنین اگر سوییچ ریلود شود تمامی آدرس های MAC که بر روی اینترفیس ها توسط Port Security یاد گرفته شده اند پاک می شوند. پس میبینم روش پیش فرض Port Security آنچنان جالب نیست، از همین رو روش های دیگری برای یادگیری آدرس MAC توسط Port Security وجود دارد. یکی از این روش ها که تحت عنوان Static MAC Address نام دارد به این صورت می باشد که باید بصورت دستی آدرس MAC کلاینت هایی که به اینترفیس ها متصل می باشند را به عنوان آدرس MAC مجاز به Port Security معرفی کنیم. در ادامه ی مقاله در رابطه با اینکه چه تعداد آدرس MAC بصورت Static می توانیم بر روی یک اینترفیس پیکربندی بحث شده است. اما پیکربندی آدرس های مجاز بصورت دستی بر روی تمامی اینترفیس ها کمی مشکل است. چرا؟ فرض کنید 20 سوییچ دارید و به هر سوییچ 22 کلاینت متصل می باشد. باید بر روی تمامی اینترفیس هایی که کلاینت به آنها متصل می باشد Port Security را پیکربندی کنید و آدرس کلاینت های مجاز را به Port Security یاد دهید. نکته ی قابل توجه اینجاست که به دلیل اینکه فقط میخواهیم کلاینت های مشخص مجاز باشند وارد شبکه شوند نمی خواهیم از حالت پیش فرض یادگیری آدرس MAC توسط Port Security استفاده کنیم. یکی از راه ها این می باشد که از Static MAC Address استفاده کنیم. اما اینکار چقدر زمان بر می باشد؟ چقدر احتمال دارد دچار خطا شویم؟؟ میبینم که عملا زمانی که تعداد دستگاه ها افزایش پیدا می کنند، Static MAC روش خوبی نیست. 
به همین علت روش دیگری بوجود آمد تحت عنوان Sticky MAC Address. این روش همانند روش پیش فرض عمل می کند، یعنی زمانی که پیامی از سمت یک کلاینت ارسال شود و بر روی پورتی که Port Security بر روی آن فعال می باشد از قسمت Source MAC آدرس MAC کلاینت یاد گرفته می شود، اما با این تفاوت که اینبار آدرس های یاد گرفته شده در Running-config ذخیره می شوند و شما با استفاده دستور Write و یا Copy running-config startup-config می توانید آدرس های یاد گرفته شده را در NVRAM ذخیره کنید. حال اگر اینترفیس خاموش و روشن شود و یا حتی سوییچ ریلود شود، آدرس های MAC باقی میمانند.
 
پیکربندی های پیش فرض Port Security 
 
بصورت پیش فرض Port Security پیکربندی های پیش فرض خود را دارا می باشد که می توانید آنها را تغییر دهید. پیکربندی های پیش Port Security بصورت زیر می باشد:
 
• Port Security بصورت پیش فرض بر روی تمامی اینترفیس ها غیرفعال می باشد.
• تعداد Maximum آدرس های MAC بر روی اینترفیسی که Port Security بر روی آن فعال می باشد بصورت پیش فرض عدد 1 می باشد.
• Violation پیش فرض بر روی پورت هایی که Port Security بر روی آنها فعال می باشد Shutdown می باشد.
 
راهنمای Port Security و محدودیت های آن
 
هنگام پیکربندی Port Security ، این دستورالعمل ها را دنبال کنید:
 
• اگر Violation در Port Security بصورت پیش فرض می باشد (Shutdown)، هنگامی که بر روی پورت تخلف رخ می دهد آن پورت به حالت Err-disable می رود و تمامی پکت ها Drop می شوند. برای بازگرداندن اینترفیس به حالت عادی، باید یا یکبار وارد اینترفیسی که دچار تخلف شده شوید و آن را با دستور shutdown یکبار خاموش و سپس با دستور no shutdown دوباره روشن کنید و یا اینکه با استفاده از دستور errdisable recovery cause psecure-violation در محیط گلوبال حالت ریکاوری خودکار برای Port Security را فعال کنید.
• بصورت پیش فرض آدرس های MAC بصورت خودکار بر روی پورتی که Port Security بر روی آنها فعال است یاد گرفته می شوند. با استفاده از دستور clear port-security dynamic  در محیط Privilege می توانید آدرس هایی که بصورت خودکار بر روی تمامی پورت ها یاد گرفته شده اند را حذف کنید.
• هنگام استفاده از Sticky MAC Address برای اینکه MAC Address هایی که توسط Port Security بر روی پورت های یاد گرفته شده اند حتی در زمان Reload شدن سوییچ نیز باقی بمانند الزاما باید از دستور write memory و یا copy running-config startup-config استفاده کنید تا آدرس ها در Startup config ذخیره شوند.
• Port Security از Private VLAN ها پشتیبانی می کند.
• Port Security از تانل 802.1Q پشتیبانی می کند.
• Port Security بر روی پورت Destination مبحث Switchport Analyzer (SPAN) پشتیبانی نمی شود.
• Port Security بر روی اینترفیس های Etherchannel یعنی Port-channel ها پشتیبانی نمی شود.
• Port Security از اینترفیس های ترانک به شرط غیرفعال بودن Negotiation پشتیبانی می کند.
• Port Security تنها اینترفیس های ترانک که بصورت زیر کانفیگ شده باشند را پشتیبانی می کند:
 
switchport
switchport trunk encapsulation [dot1q | isl]
switchport mode trunk
switchport nonegotiate

 

• Flex Link و Port Security با یکدیگر هماهنگ نیستند و نمی توانند با یکدیگر کار کنند.

 

پیاده سازی Port Security
 
پیاده سازی Port Security بر روی پورت های Access
 
برای فعال سازی Port Security بر روی اینترفیس های Access از دستورات زیر پیروی کنید:
1. ابتدا وارد اینترفیس شده و مشخص کنید که اینترفیس در لایه ی 2 فعالیت می کند.
 
switch (config)#interface type slot/port
switch (config-if)#switchport
 
 
2. در قدم دوم با استفاده از دستور زیر اینترفیس را در حالت Access قرار دهید.
 
switch (config-if)#switchport mode access

 

 3. با استفاده از دستور زیر Port Security را بر روی اینترفیس فعال کنید.

 

switch (config-if)#switchport port-security

 

مثال زیر نحوه ی فعال کردن Port Security بر روی اینترفیس FastEthernet 0/10 را در حالت Access نشان می دهد.

 

Switch# configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastethernet 0/10
Switch(config-if)#switchport
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security

 

 
پیاده سازی Port Security بر روی پورت های Trunk
 
برای فعال سازی Port Security بر روی اینترفیس های Trunk از دستورات زیر پیروی کنید:
• ابتدا وارد اینترفیس شده و مشخص کنید که اینترفیس در لایه ی 2 فعالیت می کند.
 
switch (config)#interface type slot/port
switch (config-if)#switchport
 

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

switch (config-if)#switchport trunk encapsulation [dot1q | isl]

 

 • با استفاده از دستور زیر اینترفیس را در حالت Trunk قرار دهید.

 

switch (config-if)#switchport mode trunk

 

• پس از اینکه اینترفیس را در حالت ترانک قرار دادید DTP را با دستور زیر بر روی اینترفیس غیرفعال کنید.

 

switch (config-if)#switchport nonegotiate

 

• با استفاده از دستور زیر Port Security را بر روی اینترفیس فعال کنید.

 

switch (config-if)#switchport port-security

 

مثال زیر نحوه ی فعال کردن Port Security بر روی اینترفیس FastEthernet 0/12 را در حالت Trunk نشان می دهد.

 

Switch# configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastethernet 0/12
Switch(config-if)#switchport
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport nonegotiate
Switch(config-if)#switchport port-security

 

 
پیکربندی انواع Violation ها در Port Security 
 
برای مشخص کردن نوع Violation بر روی یک پورت در Port Security از دستورات زیر پیروی کنید:
• وارد اینترفیسی که میخواهید Violation آن را تغییر دهید شده و نوع Violation را مشخص کنید.
 
switch (config)#interface type slot/port
switch (config-if)#switchport port-security violation [protect | restrict | shutdown]
 
 

توجه – بصورت پیش فرض اینترفیس هایی که بر روی آنها Port Security فعال شده Violation در حالت Shutdown قرار دارد.

 

مثال زیر نحوه ی تغییر دادن Violation بر روی اینترفیس FastEthernet 0/10 را به Protect نشان  می دهد.

 

Switch# configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastethernet 0/10
Switch(config-if)#switchport port-security violation protect

 

مثال زیر نحوه ی تغییر دادن Violation بر روی اینترفیس FastEthernet 0/12 را به Restrict نشان  می دهد.

Switch# configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastethernet 0/12
Switch(config-if)#switchport port-security violation restrict

 

 
تغییر مقدار Maximum آدرس های MAC در Port Security

بصورت پیش فرض تنها یک آدرس MAC بر روی هر اینترفیس مجاز می باشد و اگر پیام هایی با آدرس های MAC بیشتری بر روی یک اینترفیس دریافت شود تخلف رخ می دهد. برای اینکه بتوانید مقدار Maximum این آدرس های MAC را تغییر دهید از دستورات زیر پیروی کنید:
• برای تغییر Maximum آدرس های MAC وارد اینترفیس شده و تعداد MAC Address های مورد نظر را وارد کنید.
 
switch (config)#interface type slot/port
switch (config-if)#switchport port-security maximum number_of_address VLAN [VLAN_ID] 
 
 
 
هنگام پیکربندی مقدار Maximum آدرس های MAC بر روی یک پورت به نکات زیر توجه داشته باشید:
 
• مقدار Maximum را فقط در اینترفیس های ترانک می توانید Per-VLAN مشخص کنید.
• رنج آدرس هایی که می توانید مشخص کنید بین 1 تا 4097 می باشد.
• برای مشخص کردن یک رنج VLAN بر روی اینترفیس های ترانک از dash، (-) استفاده کنید.
• برای مشخص کردن چندین VLAN بر روی اینترفیس های ترانک از کاما (,) استفاده کنید.
 
مثال زیر نحوه ی پیکربندی Maximum آدرس های MAC به 64 آدرس را در اینترفیس FastEthernet 0/10 را نشان می دهد.
 
Switch# configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastethernet 0/10
Switch(config-if)#switchport port-security maximum 64
 
 
پیکربندی Sticky MAC Address بر روی یک اینترفیس
 
برای فعال سازی Port Security با Sticky MAC Address بر روی یک اینترفیس از دستورات زیر پیروی کنید:
• برای فعال کردن Sticky MAC Address بر روی یک اینترفیس، وارد اینترفیس شده و با دستور مربوطه آن را فعال کنید.
 
switch (config)#interface type slot/port
switch (config-if)#switchport port-security mac-address sticky 
 
 
زمانی که از دستور switchport port-security mac-address sticky استفاده کنید:
 
• تمامی آدرس های MAC که از قبل بصورت داینامیک بر روی اینترفیس یاد گرفته شده اند به آدرس MAC بصورت Sticky تبدیل می شوند.
• آدرس هایی که بصورت Static بر روی اینترفیس پیکربندی شده اند به آدرس MAC بصورت Sticky تبدیل نمی شوند.
• هر آدرس MAC جدیدی که یاد گرفته شود بصورت Sticky ذخیره می شود.
• زمانی که از دستور no switchport port-security mac-address sticky بر روی یک اینترفیس استفاده کنید تمام آدرس هایی که بصورت Sticky یاد گرفته شده اند به آدرس های داینامیک تبدیل می شوند.
 
مثال زیر نحوه ی پیکربندی Sticky MAC Address را در اینترفیس FastEthernet 0/10 نشان می دهد.
 
 

Switch# configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastethernet 0/10
Switch(config-if)#switchport port-security mac-address sticky

 
پیکربندی Static MAC Address بر روی یک اینترفیس
 
برای پیکربندی Static MAC Address بر روی یک اینترفیس از دستورات زیر پیروی کنید:
• وارد اینترفیس مورد نظر شده و آدرس های MAC مورد نظر را بصورت دستی بر روی اینترفیس معرفی کنید.
 
switch (config)#interface type slot/port
switch (config-if)#switchport port-security mac-address [H.H.H] 
 
 
• تعداد Maximum آدرس های MAC که می توانید بر روی یک اینترفیس بصورت Static پیکربندی کنید بستگی به این دارد که در دستور switchport port-security maximum چه مقدار آدرس MAC را به عنوان آدرس های مجاز مشخص کرده اید.
• اگر تعداد آدرس هایی که بصورت Static پیکربندی می کنید کمتر از مقدار Maximum ای که مشخص کرده اید باشد، به تعداد آدرس هایی که در Maximum بصورت اضافه باقی مانده آدرس های MAC بصورت داینامیک یاد گرفته می شوند.
 
مثال زیر نحوه ی پیکربندی آدرس MAC، 1000.2000.3000 را بر روی اینترفیس FastEthernet 0/10 نشان می دهد.
 
Switch# configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastethernet 0/10
Switch(config-if)#switchport port-security mac-address 1000.2000.3000
Switch#show port-security address
                   Secure Mac Address Table
------------------------------------------------------------
Vlan        Mac Address               Type                Ports
----       -------------             ------               ------
 1        1000.2000.3000        SecureConfigured          Gi5/12
 

 

 مشاهده ی پیکربندی های مربوط به Port Security

برای مشاهده تنظیمات مربوط به Port Security از دستور زیر استفاده کنید:

switch# show port-security [interface {vlan [vlan_id]} | {type slot/port}] [address] 

 
• کیورد VLAN در Port Security فقط برای اینترفیس های ترانک پیشتیبانی می شود.
• دستور بالا این اطلاعات را نمایش می دهد:
 مقدار Maximum آدرس های مجاز بر روی یک اینترفیس.
 تعداد آدرس های MAC که بر روی یک اینترفیس یاد گرفته شده اند.
 تعداد دفعاتی که بر روی یک اینترفیس تخلف رخ داده است.
 نوع Violation بر روی یک اینترفیس
 
مثال زیر خروجی دستور show port-security را نشان می دهد زمانی که هیچ اینترفیسی مشخص نشده است:
 
Switch# show port-security 
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
               (Count)      (Count)        (Count)
-------------------------------------------------------------------------
Gi5/1            11           11             0              Shutdown
Gi5/5            15           5              0              Restrict
Gi5/11           5            4              0              Protect
-------------------------------------------------------------------------
Total Addresses in System: 21
Max Addresses limit in System: 128
 
 
مثال زیر خروجی دستور show port-security را برای یک اینترفیس مشخص نشان می دهد:
 
Switch# show port-security interface gigabitethernet 5/1
Port Security: Enabled
Port status: SecureUp
Violation mode: Shutdown
Maximum MAC Addresses: 11
Total MAC Addresses: 11
Configured MAC Addresses: 3
Aging time: 20 mins
Aging type: Inactivity
SecureStatic address aging: Enabled
Security Violation count: 0