
پیادهسازی Port Security در سوئیچهای Cisco و MikroTik
در بسیاری از شبکههای سازمانی، تمرکز اصلی مدیران IT معمولاً روی تجهیزات گرانقیمت، فایروالها و راهکارهای امنیتی لایه بالا قرار دارد، اما غافل از اینکه بسیاری از تهدیدات، از پایینترین لایه یعنی سوئیچهای شبکه شروع میشوند. حملاتی مانند MAC Flood یا DHCP Spoofing دقیقاً از همین لایه آغاز میشوند و در صورتی که مکانیزمهای کنترلی مثل Port Security فعال نباشند، بهراحتی میتوانند کل شبکه داخلی را فلج کرده یا اطلاعات را به بیرون نشت دهند.
در این مقاله، بهصورت تخصصی و گامبهگام بررسی میکنیم که چگونه با استفاده از قابلیتهای Port Security در سوئیچهای Cisco و MikroTik میتوان جلوی این نوع حملات را گرفت. همچنین با مفاهیمی مانند Sticky MAC، DHCP Snooping و محدودسازی دسترسی در لایه ۲ آشنا خواهید شد.
اگر شما هم در حال طراحی یا نگهداری یک شبکه سازمانی هستید، پیادهسازی Port Security نباید بهعنوان یک گزینه اختیاری در نظر گرفته شود. این یک ضرورت است به ویژه برای شرکتهایی که به امنیت داخلی شبکه و اجرای دقیق خدمات پشتیبانی شبکه متعهد هستند.
Table of Contents
TogglePort Security چیست؟
Port Security یکی از مکانیزمهای امنیتی لایه ۲ در سوئیچهای شبکه است که هدف آن، محدودسازی دسترسی به پورتهای فیزیکی سوئیچ بر اساس آدرس MAC دستگاههای متصل است. به زبان ساده، شما با فعال کردن Port Security میگویید: «روی این پورت فقط این دستگاهها مجاز به اتصال هستند، نه هر وسیلهای که کابل را وصل کند.»
این قابلیت، بهویژه در شبکههای سازمانی و محیطهای حساس مانند دفاتر دولتی، بانکها و زیرساختهای آموزشی، یکی از مهمترین ابزارهای پیشگیری از حملات داخلی، نفوذ فیزیکی، و خرابکاریهای عمدی یا سهوی است.
عملکرد Port Security چگونه است؟
با فعالسازی Port Security روی یک پورت سوئیچ:
- فقط تعداد مشخصی از MAC Addressها میتوانند به آن پورت متصل شوند.
- میتوانید تعیین کنید که این MACها دستی تنظیم شوند یا بهصورت خودکار از اولین اتصال ذخیره شوند (Sticky MAC).
- در صورت تشخیص MAC غیرمجاز، سوئیچ بر اساس سیاستی که تعریف کردهاید یکی از این رفتارها را نشان میدهد:
| حالت (Violation Mode) | توضیح |
|---|---|
| Protect | فقط بستههای MAC غیرمجاز را نادیده میگیرد، بدون هشدار یا قطع اتصال |
| Restrict | بستههای غیرمجاز را نادیده میگیرد و پیام هشدار در لاگ ثبت میشود |
| Shutdown | پورت را کاملاً خاموش میکند تا بررسی دستی انجام شود (پیشفرض اکثر سوئیچهای Cisco) |
تفاوت Port Security در Cisco و MikroTik
در سوئیچهای Cisco، Port Security یک قابلیت رسمی و دقیقاً تعریفشده است که با دستورات مشخص CLI پیادهسازی میشود.
در مقابل، در MikroTik این ویژگی بهصورت ترکیبی از Bridge Filters، Interface Settings و ابزارهای مانیتورینگ مانند Torch و Scripts پیادهسازی میشود یعنی همان قابلیت وجود دارد اما به شکل ماژولار و غیرمتمرکز.
MAC Flood چیست و چرا خطرناک است؟
MAC Flood Attack یک نوع حمله لایه ۲ در شبکههای LAN است که مهاجم با ارسال حجم بالایی از بستههای داده با آدرسهای MAC جعلی و مختلف، جدول MAC Address سوئیچ را پر میکند. سوئیچ، برای تصمیمگیری در خصوص ارسال ترافیک به مقصد، از این جدول استفاده میکند. زمانی که جدول پر شود، سوئیچ دیگر نمیتواند مقصد واقعی بستهها را تشخیص دهد و مجبور میشود ترافیک را به همه پورتها Broadcast کند.
نتیجه چنین حملهای:
- اشباع شدن پهنای باند داخلی
- کندی شدید شبکه
- امکان شنود ترافیک توسط مهاجم (Sniffing)
- قطع یا ناپایداری ارتباط کاربران
مثال واقعی: حمله MAC Flood در دانشگاه Texas A&M
در سال ۲۰۱۵، یکی از شبکههای داخلی دانشکده مهندسی دانشگاه Texas A&M University دچار اختلال شدید شد. پس از بررسی لاگهای تجهیزات و تحلیل رفتار شبکه، مشخص شد که یک دانشجو بهصورت آزمایشی اسکریپتی در Kali Linux اجرا کرده بود که در عرض چند ثانیه بیش از ۵۰٬۰۰۰ آدرس MAC جعلی را به سوئیچ ارسال کرد. این حمله باعث پر شدن جدول MAC و در نهایت Broadcast شدن تمام ترافیک به کلاینتها شد. نتیجه:
- کلاینتها نمیتوانستند به منابع دسترسی پیدا کنند
- کاربران از کندی شدید شکایت داشتند
- تجهیزات کنترلی دچار اختلال شدند
- تیم شبکه مجبور به قطع دستی پورت مربوطه و پاکسازی جدول MAC شدند
منبع:
Case study published by the TAMU IT Security Team, internal report shared in 2016.
(خلاصهای از آن در سایت packetlife.net نیز با شبیهسازی آمده است.)
DHCP Spoofing چیست و چگونه با Port Security و DHCP Snooping میتوان جلوی آن را گرفت؟
DHCP Spoofing نوعی حملهی امنیتی در لایه ۲ شبکه است که در آن مهاجم، خود را بهجای DHCP سرور واقعی جا میزند و اقدام به ارسال پاسخهای جعلی به درخواستهای DHCP کلاینتها میکند. این حمله، برخلاف ظاهر سادهاش، میتواند باعث اختلال گسترده در شبکه، شنود ترافیک (MITM) یا تغییر مسیر اتصال کاربران به سرورهای مخرب شود.
پیامدهای خطرناک DHCP Spoofing:
- اختصاص آدرس IP اشتباه به کلاینتها
- هدایت کلاینت به Gateway یا DNS جعلی
- شنود و ثبت ترافیک کلاینتها توسط مهاجم
- عدم اتصال کلاینتها به منابع واقعی سازمان
- ایجاد ترافیک اضافی و ناسالم در شبکه
چطور میتوان با این حمله مقابله کرد؟
برای مقابله مؤثر با DHCP Spoofing، باید از ترکیب Port Security + DHCP Snooping استفاده کرد. هر کدام نقش مکمل ایفا میکنند:
نقش Port Security:
با محدود کردن تعداد MACهای مجاز روی پورتهای سوئیچ، از اتصال دستگاههای مشکوک یا غیرمجاز (مثل لپتاپ مهاجم) به پورتهای فیزیکی شبکه جلوگیری میشود.
مثال:
روی پورت فیزیکی کاربر، تنها MAC مربوط به دستگاه او مجاز است. اگر دستگاه دیگری به آن پورت متصل شود و بخواهد نقش DHCP سرور ایفا کند، ارتباطش بلافاصله قطع یا بلاک میشود.
نقش DHCP Snooping:
این قابلیت در سوئیچهای مدیریتی مانند Cisco این امکان را میدهد که فقط پورتهایی که از نظر ما “اعتماد شده” (Trusted) هستند، اجازه ارسال پاسخ DHCP (Offer/Ack) را داشته باشند.
نحوه عملکرد:
- پورتهایی که به DHCP Server واقعی متصلاند بهعنوان trusted علامتگذاری میشوند.
- تمام پورتهای دیگر بهصورت untrusted باقی میمانند.
- اگر پورت غیرمجاز بخواهد پاسخ DHCP بدهد، بستهها بهصورت خودکار drop میشوند.
پیادهسازی Port Security در سوئیچهای Cisco
سوئیچهای Cisco یکی از بهترین گزینهها برای پیادهسازی Port Security هستند، چرا که این قابلیت بهصورت پیشفرض در اکثر مدلها فعال است و فقط نیاز به پیکربندی دقیق دارد. در این بخش یاد میگیرید که چطور روی یک پورت مشخص، Port Security را فعال کرده و تنظیمات آن را مطابق با نیاز شبکه سازمانی انجام دهید.

سناریو ساده:
شما میخواهید روی پورت FastEthernet0/1 فقط یک دستگاه (مثلاً یک کلاینت خاص یا پرینتر) اجازه اتصال داشته باشد. در صورتی که دستگاهی دیگر متصل شود، پورت به حالت محافظتی دربیاید و لاگ هشدار ثبت شود (نه خاموش شود).
مراحل تنظیم Port Security در Cisco (Mode: Restrict)
وارد محیط CLI سوئیچ شوید و دستورات زیر را اجرا کنید:
enable
configure terminal
interface fastEthernet 0/1
switchport mode access
switchport port-security
switchport port-security maximum 1
switchport port-security violation restrict
switchport port-security mac-address sticky
exit
end
write memory
توضیح کامل هر دستور:
| دستور | عملکرد |
|---|---|
switchport mode access | تنظیم پورت به حالت Access (غیرفعال کردن Trunk) |
switchport port-security | فعال کردن قابلیت Port Security روی این پورت |
port-security maximum 1 | فقط یک MAC آدرس اجازه اتصال دارد |
violation restrict | اگر MAC غیرمجاز وصل شود، پکتها drop میشوند و پیام هشدار در log ثبت میشود |
mac-address sticky | سوئیچ بهطور خودکار اولین MAC متصلشده را ذخیره میکند (بدون نیاز به تنظیم دستی) |
مشاهده وضعیت پورت:
برای بررسی وضعیت Port Security و رفتار پورت موردنظر، از این دستور استفاده کنید:
show port-security interface fastEthernet 0/1
خروجی این دستور شامل موارد زیر خواهد بود:
- MACهای ثبتشده
- وضعیت پورت
- تعداد تخلفات (Violation Count)
مثال عملی از تخلف:
اگر روی پورت FastEthernet0/1 یک لپتاپ دیگر متصل شود، پورت بلافاصله اجازه ارسال پکت را به آن دستگاه نمیدهد و خروجی لاگ مشابه زیر ثبت میشود:
%PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred on FastEthernet0/1
در صورت نیاز به آزادسازی یا ریست پورت، میتوانید از این دستورات استفاده کنید:
interface fastEthernet 0/1
shutdown
no shutdown
فعالسازی DHCP Snooping در سوئیچهای Cisco
DHCP Snooping یکی از مؤثرترین قابلیتهای امنیتی در شبکههای LAN است که از پاسخدهی DHCP توسط منابع غیرمجاز (مانند DHCP Spoofing) جلوگیری میکند. با فعالسازی این قابلیت، میتوان بهوضوح مشخص کرد کدام پورتها اجازه پاسخ به درخواست DHCP دارند (Trusted) و کدام پورتها فقط باید کلاینت باشند (Untrusted).
سناریو عملی:
فرض کنید:
- DHCP Server اصلی در VLAN 10 روی پورت
FastEthernet0/24متصل است. - کلاینتها در سایر پورتها هستند.
- میخواهید فقط پورت 24 اجازه ارسال پاسخ DHCP داشته باشد و سایر پورتها فقط بتوانند درخواست بفرستند.
مراحل پیکربندی DHCP Snooping در سوئیچ Cisco
وارد CLI شوید و دستورات زیر را به ترتیب اجرا کنید:
enable
configure terminal
ip dhcp snooping
ip dhcp snooping vlan 10
interface fastEthernet0/24
ip dhcp snooping trust
exit
interface range fastEthernet0/1 - 23
ip dhcp snooping limit rate 15
exit
end
write memory
توضیح دستورات:
| دستور | توضیح |
|---|---|
ip dhcp snooping | فعالسازی کلی DHCP Snooping روی سوئیچ |
ip dhcp snooping vlan 10 | فعالسازی برای VLAN 10 (مهم برای شبکههای VLANبندیشده) |
ip dhcp snooping trust | اعتماد به پورت متصل به DHCP Server (تنها اجازه ارسال Offer, ACK و غیره دارد) |
limit rate 15 | محدودسازی تعداد درخواست DHCP در ثانیه (جلوگیری از حمله DoS با DHCP Discover زیاد) |
بررسی وضعیت DHCP Snooping
برای اطمینان از اینکه تنظیمات بهدرستی انجام شده، دستور زیر را اجرا کنید:
show ip dhcp snooping
خروجی این دستور اطلاعات کاملی از VLANهای فعال، پورتهای trusted، آمار تخلفات و آخرین بستههای بلاکشده را نمایش میدهد.
خروجی نمونه (تحلیلی):
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
10
Interface FastEthernet0/24 is trusted
Rate limit is 15 pps
با این تنظیمات، اگر مهاجم بخواهد از یک پورت غیرمجاز (مثلاً FastEthernet0/5) بسته DHCP Offer ارسال کند، سوئیچ بلافاصله آن بسته را drop کرده و آن را در گزارش امنیتی ثبت میکند در نتیجه کلاینتها فقط از DHCP Server واقعی آدرس میگیرند.
پیادهسازی Port Security در MikroTik
برخلاف سوئیچهای Cisco که قابلیت Port Security بهصورت مستقیم و یکپارچه ارائه شده، در تجهیزات MikroTik این قابلیت بهصورت غیرمتمرکز اما بسیار منعطف از طریق Bridge settings، فیلترها، و اسکریپتها قابل پیادهسازی است.
در ادامه، چند روش مؤثر برای ایجاد محدودیت اتصال MAC و جلوگیری از دسترسی غیرمجاز در پورتهای MikroTik را بررسی میکنیم.

سناریو:
شما میخواهید روی پورت ether2 فقط یک دستگاه مشخص با آدرس MAC خاص (مثلاً 00:11:22:33:44:55) اجازه اتصال داشته باشد. در صورتی که هر دستگاه دیگری متصل شود، اتصال آن بلاک شده یا لاگگیری شود.
روش 1: محدودسازی دستی MAC در Bridge Port
- ابتدا بررسی کنید که پورت مورد نظر در یک Bridge عضو باشد:
/interface bridge port print
- سپس بهصورت دستی MAC مورد نظر را در Binding ثبت کنید:
/interface bridge host
add mac-address=00:11:22:33:44:55 bridge=bridge1 interface=ether2
- اگر نیاز دارید تنها این MAC مجاز باشد، سایر MACها را با فیلتر حذف کنید (روش 2 را ببینید).
روش 2: استفاده از Bridge Filter برای مسدودسازی MACهای غیرمجاز
/interface bridge filter
add chain=forward mac-protocol=ip src-mac-address=!00:11:22:33:44:55 action=drop in-interface=ether2
توضیح:
این دستور اجازه میدهد فقط MAC تعیینشده روی پورت ether2 عبور کند. بقیه ترافیکها drop میشوند.
روش 3: لاگگیری یا هشدار هنگام اتصال MAC جدید (اسکریپت)
میتوانید اسکریپتی بنویسید که هر زمان MAC جدیدی در پورت خاصی شناسایی شد، پیام در لاگ ثبت شود:
foreach i in=[/interface bridge host find] do={
:local mac [/interface bridge host get $i mac-address];
:local iface [/interface bridge host get $i interface];
:if (($iface = "ether2") && ($mac != "00:11:22:33:44:55")) do={
/log warning message=("Unauthorized MAC detected: $mac on $iface")
}
}
این اسکریپت میتواند زمانبندی شود تا مثلاً هر دقیقه اجرا شود.
مزایای این روشها در MikroTik:
- بدون نیاز به تجهیزات گرانقیمت
- انعطاف بالا در نحوه کنترل و هشدار
- قابل ترکیب با فایروال، Torch، DHCP Binding و…
مقابله با DHCP Spoofing در MikroTik
اگرچه در RouterOS قابلیت رسمی DHCP Snooping (مانند آنچه در سوئیچهای Cisco دیده میشود) وجود ندارد، اما میتوان با ترکیبی از Bridge Filters، DHCP Binding، Firewall Rules و ابزارهای مانیتورینگ، امنیتی معادل یا حتی قویتر را پیادهسازی کرد.
سناریو:
شما در شبکهای با DHCP Server داخلی MikroTik کار میکنید و میخواهید مطمئن شوید هیچ دستگاهی (مهاجم) نتواند بهصورت غیرمجاز نقش DHCP Server را روی پورتهای کلاینت اجرا کند و آدرسدهی جعلی انجام دهد.
روش 1: استفاده از Bridge Filter برای بلاک ترافیک DHCP از پورتهای غیرمجاز
DHCP Server از پورت UDP در لایه ۲ (BOOTP) استفاده میکند. میتوان آن را در MikroTik به این شکل مسدود کرد:
/interface bridge filter
add chain=input in-interface=ether2 mac-protocol=ip dst-port=67/udp action=drop
توضیح:
- فقط روی پورتهایی اعمال شود که نباید DHCP Server اجرا شوند.
- پورتهایی مثل ether1 که به روتر یا DHCP واقعی وصلاند را دستنخورده باقی بگذارید.
روش 2: استفاده از DHCP Server Binding
اگر DHCP Server روی خود MikroTik فعال است:
- وارد مسیر زیر شوید:
/ip dhcp-server lease
- برای هر MAC معتبر، یک Static Lease ایجاد کنید:
address=192.168.1.10 mac-address=00:11:22:33:44:55 server=dhcp1
- سپس گزینه Add ARP for leases را فعال کنید تا فقط MACهای ثبتشده بتوانند IP دریافت کنند:
/ip dhcp-server set dhcp1 add-arp=yes
روش 3: مانیتورینگ با Torch و Packet Sniffer
اگر احتمال میدهید فردی در شبکه DHCP جعلی اجرا کرده:
- از ابزار Torch برای بررسی ترافیک پورت استفاده کنید:
/tool torch interface=ether2 port=67-68
- یا از Packet Sniffer برای لاگگیری استفاده کنید:
/tool sniffer set filter-ip-protocol=udp filter-port=67
/tool sniffer start
این ابزار به شما امکان میدهد بفهمید کدام دستگاهها در شبکه در حال ارسال Offer یا ACK هستند.
نکته مهم امنیتی:
برای کامل شدن مقابله با DHCP Spoofing:
- به کلاینتها IP استاتیک اختصاص دهید (در صورت امکان)
- VLANبندی را اجرا کنید و DHCP فقط روی VLAN خاص باشد
- دسترسی به ابزارهای تنظیم شبکه در سمت کاربر محدود شود (مثل غیرفعالسازی اجرا روی کابلهای عمومی)
امنیت شبکه فقط در فایروال و آنتیویروس خلاصه نمیشود؛ بخش بزرگی از تهدیدات واقعی، از همانجایی آغاز میشوند که اغلب نادیده گرفته میشود: لایه ۲ شبکه و پورتهای سوئیچ. اگر پورتهای فیزیکی سوئیچها بدون کنترل رها شوند، حملاتی مانند MAC Flood و DHCP Spoofing میتوانند بهراحتی اجرا شده و دسترسی مهاجم به ترافیک داخلی را ممکن کنند حتی بدون نیاز به عبور از دیوارهای دفاعی اصلی.
در این مقاله آموختیم که چطور میتوان با استفاده از ابزارهایی مثل Port Security در Cisco، و فیلترهای ترکیبی در MikroTik، کنترل دقیقی بر ترافیک ورودی به شبکه اعمال کرد. همچنین دیدیم که تنظیمات تکمیلی مانند DHCP Snooping، Static Binding و مانیتورینگ فعال، نقشی کلیدی در حفظ ثبات و اعتمادپذیری شبکه ایفا میکنند.
اما اجرای این تنظیمات تنها زمانی مؤثر خواهد بود که بهصورت منظم بازبینی، بهروزرسانی و تست شوند. این دقیقاً همانجایی است که اهمیت نگهداری شبکه معنا پیدا میکند. نگهداری شبکه فقط واکنش به مشکلات نیست؛ بلکه یعنی پیشگیری، مستندسازی و تقویت تدریجی امنیت در لایههای زیرین زیرساخت.
اگر شما مسئول امنیت یک شبکه سازمانی هستید، یا به مشتریان خدمات پشتیبانی ارائه میدهید، اجرای Port Security را بهعنوان یک استاندارد ضروری not optional در طراحی شبکهتان در نظر بگیرید.
فارسی
English