Port Security
مقدمه
امنیت پورت یک ویژگی امنیتی در لایه 2 است که به شما امکان میدهد دسترسی به پورتهای روتر را با کنترل و محدود کردن آدرسهای MAC مجاز، کنترل کنید. این قابلیت با تعیین حداکثر تعداد دستگاههای مجاز و محدود کردن آنها به پورتهای خاص، از دسترسی غیرمجاز به شبکه جلوگیری میکند.
ویژگیهای کلیدی:
یادگیری و ذخیره خودکار آدرسهای MAC
محدودیت تعداد دستگاههای متصل به هر پورت
شناسایی و مدیریت تخلفات امنیتی (Violations)
قابلیت اجرای script سفارشی هنگام بروز تخلف
Violations (تخلفات امنیتی)
زمانی که دستگاهی با آدرس MAC غیرمجاز تلاش به اتصال به پورتی با Port Security فعال میکند، یک تخلف امنیتی رخ میدهد. آدرس MAC غیرمجاز هر آدرسی است که:
در لیست آدرسهای MAC مجاز آن پورت نباشد
یا تعداد دستگاههای متصل از حداکثر مجاز تعیین شده بیشتر شود
هنگام شناسایی تخلف، میتوانید یک script سفارشی را برای مدیریت تخلف اجرا کنید. این script میتواند برای ثبت log، خاموش کردن interface یا سایر اقدامات لازم استفاده شود.
دستورات پیکربندی
1. فعالسازی Sticky MAC Address
port-security mac-address sticky X:X:X:X:X:X
این دستور برای پیکربندی امنیت پورت با آدرسهای MAC در حالت Sticky استفاده میشود.
پارامتر:
X:X:X:X:X:X: آدرس MAC که میخواهید به عنوان Sticky MAC تنظیم کنید (فرمت: شش گروه دو رقمی هگزادسیمال با جداکننده:)
نحوه عملکرد:
هنگام اجرای دستور، روتر به صورت داینامیک آدرس MAC را یاد میگیرد
آدرس یاد گرفته شده به
running-configاضافه میشودفقط دستگاههای با MAC موجود در config مجاز به اتصال هستند
با ذخیره config، تنظیمات پس از reboot حفظ میشوند
نکته مهم: پس از یادگیری MAC ها، میتوانید حالت Sticky را غیرفعال کنید. در این صورت فقط MAC های یاد گرفته شده در بازه فعال بودن Sticky، مجاز به اتصال خواهند بود.
توجه
برای حذف یک MAC آدرس یاد گرفته شده، از دستور no port-security mac-address sticky X:X:X:X:X:X استفاده کنید.
2. تعیین حداکثر تعداد MAC
port-security maximum (1-100)
این دستور حداکثر تعداد آدرسهای MAC امن مجاز در یک پورت را تعیین میکند.
پارامتر:
(1-100): حداکثر تعداد آدرس MAC ایمن (محدوده: 1 تا 100)
رفتار سیستم:
هنگام اتصال دستگاه، MAC آن به صورت داینامیک یاد گرفته و در جدول secure address ذخیره میشود
ترافیک از MAC های مجاز عبور میکند
ترافیک از MAC های غیرمجاز مسدود میشود
هنگام رسیدن به حد maximum، پورت محدود شده و violation رخ میدهد
نکته
MAC های یاد گرفته شده به صورت Sticky هستند و در running-config ذخیره میشوند.
3. نمایش آدرسهای امن
show port-security address [IFNAME]
نمایش آدرسهای MAC یاد گرفته شده و تعداد کل آدرسهای MAC امن مجاز در interface.
پارامتر:
IFNAME(اختیاری): نام interface مورد نظر
نکته
این دستور فقط آدرسهای MAC امن را نمایش میدهد. برای مشاهده تمام آدرسهای MAC یاد گرفته شده توسط روتر از دستور show ip arp استفاده کنید.
4. نمایش وضعیت Port Security
show port-security interface [IFNAME]
نمایش تنظیمات و وضعیت امنیتی پورت برای یک interface خاص.
اطلاعات نمایش داده شده:
تعداد آدرسهای MAC امن پیکربندی شده
آدرسهای MAC امن فعلی
وضعیت تخلفات (violations)
تنظیمات maximum
پارامتر:
IFNAME(اختیاری): نام interface مورد نظر
5. مدیریت Violations
تنظیم Script برای Violation
port-security violation script <script-name>
اجرای یک script سفارشی هنگام بروز تخلف امنیتی.
پارامتر:
<script-name>: نام script که میخواهید هنگام violation اجرا شود
کاربردهای Script:
ثبت log دقیق از تخلفات
ارسال اعلان (notification)
خاموش کردن خودکار interface
اجرای اقدامات امنیتی پیشرفته
پاک کردن وضعیت Violation
clear port-security violation IFNAME
پاک کردن وضعیت تخلف امنیتی و بازگرداندن interface به حالت عادی.
پارامتر:
IFNAME: نام interface که میخواهید violation آن را پاک کنید
کاربرد: پس از رفع علت تخلف، این دستور interface را به حالت عادی برمیگرداند و عملیات عادی آن از سر گرفته میشود.
سناریوهای عملی
سناریو 1: محدود کردن دسترسی به یک دستگاه خاص
فرض کنید میخواهید فقط یک سرور با MAC مشخص بتواند به پورت ge1 متصل شود:
n1# config terminal
n1/config# interface ge1
n1/c/interface/ge1# port-security maximum 1
n1/c/interface/ge1# port-security mac-address sticky 00:11:22:33:44:55
n1/c/interface/ge1# exit
n1/config# exit
n1# write
سناریو 2: محدودیت تعداد کاربران در یک شبکه مشترک
برای محدود کردن تعداد کاربران به 10 دستگاه در پورت ge2:
n1# config terminal
n1/config# interface ge2
n1/c/interface/ge2# port-security maximum 10
n1/c/interface/ge2# exit
n1/config# exit
n1# write
سناریو 3: پیادهسازی امنیت پیشرفته با Script
ایجاد امنیت چندلایه با اجرای script هنگام violation:
n1# config terminal
n1/config# interface ge3
n1/c/interface/ge3# port-security maximum 5
n1/c/interface/ge3# port-security violation script:portsec-alert
n1/c/interface/ge3# exit
n1/config# exit
n1# write
محتوای نمونه Script (portsec-alert):
enable
conf t
interface ge3
shutdown
exit
exit
write
نکته
Script ها در روتر Soodar با نام خود (بدون مسیر Linux) ذخیره میشوند و شامل دستورات روتر Soodar هستند، نه دستورات Bash.
سناریو 4: یادگیری تدریجی MAC ها
برای یادگیری MAC دستگاههای مجاز در یک بازه زمانی:
مرحله 1: فعال کردن حالت Sticky
n1# config terminal
n1/config# interface ge4
n1/c/interface/ge4# port-security maximum 20
n1/c/interface/ge4# port-security mac-address sticky
n1/c/interface/ge4# exit
n1/config# exit
مرحله 2: اجازه اتصال دستگاههای مجاز (روتر MAC ها را یاد میگیرد)
مرحله 3: ذخیره و غیرفعال کردن Sticky
n1# write
n1# config terminal
n1/config# interface ge4
n1/c/interface/ge4# no port-security mac-address sticky
n1/c/interface/ge4# exit
n1/config# exit
n1# write
اکنون فقط دستگاههایی که در مرحله 2 متصل شدند، دسترسی دائمی دارند.
سناریو 5: محدودیت دسترسی در محیط اداری
پیادهسازی Port Security برای کنترل دسترسی کارمندان:
n1# config terminal
n1/config# interface ge5
n1/c/interface/ge5# description Office Access Port
n1/c/interface/ge5# port-security maximum 3
n1/c/interface/ge5# port-security violation script:office-violation
n1/c/interface/ge5# exit
n1/config# exit
n1# write
نکات مهم و بهترین شیوهها
هشدار
قبل از فعالسازی Port Security:
حتماً MAC دستگاههای ضروری را یادداشت کنید
در صورت از دست رفتن دسترسی، از Console برای بازیابی استفاده کنید
Script های violation را قبل از اعمال حتماً تست کنید
از پیادهسازی مستقیم در محیط production خودداری کنید
بهترین شیوهها (Best Practices)
پشتیبانگیری: همیشه قبل از اعمال Port Security، backup از config بگیرید
تست محیط آزمایشگاهی: ابتدا در محیط تست پیادهسازی کنید
نظارت مداوم: از
show port-security interfaceبرای monitoring استفاده کنیدطراحی دقیق Script: Script های violation را با دقت طراحی و تست کنید
تنظیم هوشمند Maximum: مقدار را با توجه به نیاز واقعی تنظیم کنید (نه خیلی کم، نه خیلی زیاد)
مستندسازی: تمام MAC های مجاز را مستند کنید
دسترسی اضطراری: همیشه یک راه دسترسی جایگزین (مثل Console) داشته باشید
عیبیابی (Troubleshooting)
مشکل 1: دستگاه مجاز نمیتواند متصل شود
علائم:
دستگاه با MAC مجاز نمیتواند ارتباط برقرار کند
Interface در حالت violation است
راهحل:
# بررسی وضعیت port security
show port-security interface ge1
# بررسی MAC های یاد گرفته شده
show port-security address ge1
# بررسی تعداد maximum
show running-config interface ge1
# در صورت نیاز، پاک کردن violation
clear port-security violation ge1
مشکل 2: MAC های زیادی یاد گرفته شده
علائم:
تعداد MAC های ذخیره شده بیش از حد مورد نیاز است
نیاز به reset کردن لیست
راهحل:
# حذف تکتک MAC های غیرضروری
n1# config terminal
n1/config# interface ge1
n1/c/interface/ge1# no port-security mac-address sticky <MAC-ADDRESS>
n1/c/interface/ge1# exit
n1/config# exit
# یا reset کامل و شروع دوباره
n1# config terminal
n1/config# interface ge1
n1/c/interface/ge1# no port-security
n1/c/interface/ge1# port-security maximum <تعداد جدید>
n1/c/interface/ge1# port-security mac-address sticky
n1/c/interface/ge1# exit
n1/config# exit
n1# write
مشکل 3: Script هنگام Violation اجرا نمیشود
بررسیهای لازم:
نام script را در config بررسی کنید:
show running-config interface ge1
مطمئن شوید script با فرمت صحیح ذخیره شده (فقط نام، بدون مسیر):
port-security violation script:script-name
محتوای script باید دستورات Soodar باشد نه دستورات Bash
نمونه Script صحیح:
enable
conf t
interface ge1
shutdown
exit
exit
write
مشکل 4: نمیتوان به Config دسترسی پیدا کرد
راهحل اضطراری از Console:
n1# config terminal
n1/config# interface ge1
n1/c/interface/ge1# no port-security
n1/c/interface/ge1# exit
n1/config# exit
n1# write
جدول مرجع سریع دستورات
دستور |
کاربرد |
|---|---|
|
فعالسازی Sticky MAC |
|
تعیین حداکثر تعداد MAC |
|
تنظیم Script برای Violation |
|
نمایش MAC های امن |
|
نمایش وضعیت Port Security |
|
پاک کردن Violation |
|
حذف Sticky MAC |
|
غیرفعال کردن Port Security |
خلاصه
امنیت پورت یک ابزار قدرتمند برای کنترل دسترسی در لایه ۲ است که با استفاده صحیح میتواند امنیت شبکه را به طور قابل توجهی افزایش دهد. نکات کلیدی:
✅ یادگیری خودکار آدرسهای مک با حالت ثابت (Sticky)
✅ محدودیت تعداد دستگاههای متصل
✅ مدیریت هوشمند تخلفات با اسکریپت
✅ نظارت و کنترل مداوم با دستورات نمایش
✅ انعطافپذیری در پیکربندی و مدیریت
با رعایت بهترین شیوهها و تست کافی قبل از پیادهسازی، میتوانید از امنیت پورت برای ایجاد یک لایه امنیتی موثر در شبکه خود استفاده کنید.