ویرگول
ورودثبت نام
amirmohammad rashvand
amirmohammad rashvand
amirmohammad rashvand
amirmohammad rashvand
خواندن ۵ دقیقه·۲ روز پیش

توضیح CDP و LLDP در دنیای شبکه

پروتکل های کشف شبکه
پروتکل های کشف شبکه

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

اصلا Discovery Protocol چی هست؟

هر دستگاهی در شبکه وجود داره همیشه سعی در این داره که بفهمه دور و بر خودش چخبر هست و همسایه هاش کیا هستند. دقیقا مثل خوده ما که همیشه دوست داریم ادمای اطراف خودمون رو بشناسیم و کشف کنیم که کیا هستند ، شغلشون چیه ، اسم و فامیلیشون چیه و کلی اطلاعات دیگه که هر چقدر بدونیم باز هم برامون کمه اما میتونیم از همون ها هم استفاده خوب و استفاده بد بکنیم.

توضیح CDP

2 تا سوویچ سیسکو رو در نظر بگیرید(میگم که چرا گفتم سیسکو) که به یکدیگر با یه کابلی وصل هستند. حالا وقتی این اتصال به وجود میاد یه سری اتفاقا میوفته. هر 60 ثانیه دستگاه ها خودشون رو به دستگاه بغلی که بهش با کابل متصل اند معرفی میکنند. زمان hold time هم هست 120 ثانیه. منظور از معرفی کردن ارائه موارد زیر هست :

1 - Device ID : منظور hostname فرستنده هست ( و اگر FQDN تعریف شده باشه).

2 - Local + Remote Interface :اینکه کدوم پورت شنیده و کدوم پورت فرستاده.

3 - Platform : شماره مدل هست ( مثل 2960 یا C9300-48P و ... ).

4 - capability flags : نشان های خاص مثل:

R = Router , S = Switch , B = source-route Bridge , H = host , I = IGMP , T = Transport Bridge , r = Repeater , P = Phone.

5 - IP address : هر پیکربندی لایه 3 روی interface انجام شده باشه هم ارسال میشه.

6 - IOS version : کل رشته ورژن که چی هست ارسال میشه. یعنی ورژن و تمامی مواردی که درش نوشته شده.

7 - Native VLAN : فقط برای پورت های trunk. همین اطلاعات هم کافیه برای شناسایی VLAN-hopping.

8 - Duplex : کارایی برای خطایابی.

4 مورد اول که توی این لیست هستند با دستور زیر نمایش داده میشوند :

Switch# show cdp neighbors

برای اینکه لیست رو کامل ببینیم باید از این دستور استفاده کنیم :

Switch# show cdp neighbor detail

این بحث تمامی مواردی بود که برای CDP کافی بود.

توضیح LLDP

این پروتکل هم بسیار شبیه پروتکل CDP هستش اما یه تفاوتی داره. یادتونه بالاتر تو مثال گفتم که دوتا سوییچ سیسکو رو در نظر بگیرید برای ارتباط ؟

حالا نکته اینجاست اگر برند دو تا دستگاه متفاوت باشه چی ؟

سیسکو پروتکل CDP رو برای خودش داره یعنی Cisco Default روی دستگاه های برند سیسکو کار میکنه. اگر این موضوع پیش بیاد اونوقته که این پروتکل وارد عمل میشه. این پروتکل باعث میشه که هر دستگاهی با هر مدلی بتونن باهم توی این مورد ارتباط بگیرن. مدل هایی مثل Cisco , juniper , Aruba , Arista ,HP و بقیه برندهایی که هستند.

نکته : حالت LLDP توی سوییچ های سیسکو غیرفعال هست و باید به صورت دستی فعال بشه و برای اینکار باید برید توی حالت global config و بعدش دستور زیر رو وارد کنید :

Switch(global config)# lldp run

مدت زمانی که lldp خودش رو معرفی میکنه هر 30 ثانیه هست و مدت زمان gold time اون 120 ثانیه هست.حالا بزارید موضوع رو ببریم جلوتر و از زاویه امنیت بهش نگاه کنیم.

چرا CDP رو خاموش میکنیم ؟

یک attacker از یک frame ارسالی در شبکه چی رو میفهمه ؟

1 - لو رفتن اطلاعات : یه لحظه فرض کن یکی میره توی اتاق سرور، لپ تاپ قشنگشو در میاره، پورتشو وصل میکنه به سوییچ گرون قیمتت، دستور tcpdump -i eth0 -nn 'ether host 01:00:0c:cc:cc:cc' رو اجرا میکنه، 60 ثانیه صبر میکنه.حالا چی داره؟مواردی مثل hostname و IPاون رو، ورژن اونرو، vlanهای اونرو و حتی پورتی که شما توش هستین رو.

2 - کاهش خطر : برای امنیت بیشتر ما CDP رو در جاهایی مثل پورت اینترنت، پورت کاربرامون،DMZ uplinks و هر کجایی از شبکه ما آنچنان اطمینانی بهش نداریم. سعی میشه که CDP فقط اونجایی روشن باشه که ما به اون نقطه از شبکه اطمینان داریم و از امنیتش آگاهی کامل داریم وگرنه بهتر هست که این مورد صورت نگیره.

برای غیرفعال کردن CDP هم از دستور زیر استفاده میکنیم :

Switch#no cdp enable

پاسخ به یک سری سوال مهم ( شاید توی استخدامی ازتون اینهارو بپرسن ) :

1 - چرا CDP روی پورت اینترنت خاموش میکنیم ؟ اصلا آیا باید خاموش بشه ؟

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

2 - وقتی دوتا دستگاه از برند متفاوت داشته باشین چه پروتکلی برای ارتباط بینشون استفاده میکنیم تا اونور شبکه رو ببینید ؟

جواب : از پروتکل LLDP چون یک پروتکل استاندارد بر اساس 802.1AB هست و برای همه ی دستگاه ها کار میکنه البته که برای دوتا دستگاه سیسکو همون پروتکل کفایت میکنه اما میشه بخاطر امنیت از LLDP استفاده کرد.

3 - مدت زمان نگهداری CDP چقدر هست ؟

جواب : 180 ثانیه، مدت زمان معرفی خودش 60 ثانیه هست که مدت زمان نگهداری اون 3 برابر عدد معرفی هست.

4 - چطوری هست که خروجی اطلاعات CDP باعث میشود attacker از آن علیه شما استفاده کند ؟

جواب : برای شناسایی و تخریب هدف ! دیگه نیازی نیست با ابزارهایی مثل nmap scanning بیایم و شبکه رو اسکن کنیم تا طالاعات بدست بیاریم. همون یه دستور برامون کافیه. راه حل هم گفتیم که پورت هایی که خطرآفرین هستند رو میبندیم با دستور ساده no cdp enable.

در نهایت امیدوارم که ایم مقاله به کارتون بیاد و تونسته باشم این موضوع رو براتون خوب و روون توضیح داده باشم.

شبکهcdp
۲
۰
amirmohammad rashvand
amirmohammad rashvand
شاید از این پست‌ها خوشتان بیاید