پروتکل DHCP چیست و چگونه کار می‌کند؟

DHCP protocol

توانایی شبکه‌سازی سریع و آسان دستگاه‌ها در دنیایی که ارتباطات اینترنتی و داخلی شبکه حرف اول را می‌زند، بسیار حیاتی و مهم است. به همین دلیل DHCP روشی اساسی برای اطمینان از این مطلب است که دستگاه‌ها قادر به پیوستن به شبکه‌ها و پیکربندی صحیح آن‌ها هستند.
پروتکل DHCP که مخفف Dynamic Host Configuration Protocol می‌باشد، یک پروتکل مدیریت شبکه است که برای خودکارسازی فرایند پیکربندی دستگاه به‌منظور IPدهی استفاده می‌شود. یک سرور DHCP به‌صورت پویا یک آدرس IP و سایر پارامترهای پیکربندی شبکه را به هر دستگاه در شبکه اختصاص می‌دهد تا بتواند با سایر IPهای شبکه ارتباط برقرار کند. DHCP نسخه پیشرفته پروتکل قدیمی BOOTP است و همچنین باید گفت که این پروتکل بخش مهمی از راه‌حل DDI نیز می‌باشد. این پروتکل خطاهایی را که هنگام اختصاص آدرس‌دهی IP به‌صورت دستی ایجاد می‌شود، بسیار کاهش می‌دهد.

اجزای پروتکل DHCP سرور

هنگام کار با پروتکل DHCP، درک همه‌ مؤلفه‌ها مهم است. در ادامه فهرستی از این مؤلفه‌ها و آن‌چه انجام می‌دهند، آورده شده است:

  •  DHCP Server: دستگاهی تحت شبکه که سرویس DHCP را اجرا می‌کند و آدرس‌های IP و اطلاعات مربوط به پیکربندی را در خود جای داده است. DHCP Server معمولاً یک سرور یا روتر است اما می‌تواند هر دستگاه یا ماشین دیگری هم باشد که به‌عنوان میزبان عمل می‌کند؛ مانند یک دستگاه SD-WAN.
  •  DHCP Client: نقاط پایانی که اطلاعات پیکربندی را از DHCP Server دریافت می‌کنند. DHCP Client می‌تواند یک رایانه، دستگاه همراه، نقطه‌ پایانی از نوع اینترنت اشیا یا هر چیز دیگری باشد که امکان اتصال به شبکه را دارد. همچنین بیشترِ این دستگاه‌ها برای دریافت اطلاعات DHCP به‌طور پیش‌فرض پیکربندی شده‌اند.
  •  مخزن آدرس‌های IP: دامنه‌ی آدرس‌هایی که برای سرویس‌گیرندگان DHCP در دسترس است. آدرس‌ها معمولاً به‌ترتیب از کمترین به بیشترین توزیع می‌شوند.
Components-of-DHCP
  •  Subnet: شبکه‌های IP را می‌توان به بخش‌هایی که به‌عنوان Subnet شناخته می‌شوند تقسیم‌بندی کرد. Subnetها به کنترل شبکه‌ها کمک می‌کنند.
  •  Lease: مدت زمانی که DHCP Client اطلاعات آدرس IP را در آن نگه می‌دارد. هنگامی که Lease منقضی شود، کلاینت باید آن را تمدید کند.
  •  DHCP Relay: روتر یا هاستی که پیام‌های سرویس‌گیرنده را در آن شبکه پخش کرده و آن‌ها را به یک سرور پیکربندی‌شده منتقل می‌کند، سپس پاسخ‌ها را به عامل رله می‌فرستد که آن‌ها را به مشتری منتقل می‌کند. به‌جای داشتن یک سرور در هر Subnet، از DHCP Relay می‌توان برای متمرکزکردن سرورهای DHCP استفاده کرد.

مزایای استفاده از DHCP Server

علاوه بر مدیریت ساده، استفاده از DHCP Server مزایای دیگری نیز دارد که عبارت‌اند از:

  •  پیکربندی دقیق IP: پارامترهای پیکربندی آدرس IP باید دقیق باشد و هنگام کار با ورودی‌هایی مانند 192.168.159.3 اشتباه‌کردن رایج است. عیب‌یابی خطاهای تایپی معمولاً بسیار دشوار است و استفاده از DHCP Server این معضل را به حداقل می‌رساند.
dhcp options
  •  کاهش مشکل کانفیلیکت آدرس‌های IP: هر دستگاه متصل باید دارای یک آدرس IP باشد. با این حال، هر آدرس فقط می‌تواند یک‌بار استفاده شود. آدرس تکراری باعث ایجاد کانفیلیکت می‌شود که در آن یک یا هر دو دستگاه نمی‌توانند به شبکه متصل شوند. این امر هنگامی اتفاق می‌افتد که آدرس‌ها به‌صورت دستی اختصاص داده شوند؛ به‌خصوص هنگامی که تعداد زیادی کلاینت وجود دارد که مانند دستگاه‌های تلفن همراه فقط به‌صورت دوره‌ای به شبکه متصل می‌شوند. اکنون استفاده از DHCP تضمین می‌کند که هر آدرس فقط یک‌بار استفاده می‌‌شود.
  •  خودکارسازی مدیریت آدرس IP: بدون پروتکل DHCP، مدیران شبکه باید آدرس‌ها را به‌صورت دستی اختصاص داده یا از دستگاه بگیرند. پیگیری این‌که کدام دستگاه آدرس IP دارد، می‌تواند بی‌فایده باشد؛ زیرا درک این‌که چه زمان دستگاه‌ها به شبکه نیاز دارند و چه موقع از شبکه خارج می‌شوند تقریباً غیرممکن است. این پروتکل اجازه می‌دهد تا این موضوع به‌صورت خودکار و متمرکز انجام شود.
  •  مدیریت تغییر کارآمد: استفاده از DHCP مدیریت تغییر آدرس، محدوده یا نقاط انتهایی را بسیار ساده می‌کند. به‌عنوان مثال ممکن است سازمانی بخواهد طرح آدرس IP خود را از یک محدوده به دامنه‌ی دیگر تغییر دهد. DHCP Server با اطلاعات جدید پیکربندی شده و اطلاعات در نقاط انتهایی منتشر می‌شود؛ به همین ترتیب اگر یک دستگاه شبکه ارتقا یافته یا جایگزین شود، هیچ پیکربندی دیگری نیاز نیست.

انواع حملات DHCP

نکته‌ای که در رابطه با نگرانی امنیتی در DHCP باید بدان توجه شود این است که هیچ مکانیزم تأیید اعتباری بین DHCP Client و DHCP Server وجود ندارد؛ پس اگر چندین DHCP Server در شبکه وجود داشته باشد، مشکلات امنیتی در داخل آن رخ خواهد داد. به‌عنوان مثال، یک DHCP Server غیرمجاز ممکن است آدرس‌های IP نامعتبر، اطلاعات سرور DNS یا آدرس gateway را به کلاینت‌ها اختصاص دهد تا ترافیک را رهگیری کند. برای حل چنین مشکلاتی، ویژگی DHCP relay و DHCP snooping باید در سوئیچ‌ها فعال شوند. با فعال‌بودن ایجنت DHCP relay در لایه‌ شبکه یا فعال‌بودن DHCP snooping در لایه‌ی پیوندِ داده، یک سوئیچ می‌تواند اتصالات IP-to-MAC کلاینت را از پیام‌های DHCP کپچر کند و برای افزایش امنیت شبکه با ماژول‌های دیگر همکاری کند. در ادامه دو نوع از رایج‌ترین حملاتی که روی DHCP انجام می‌شود را باهم بررسی می‌کنیم.

  • حمله‌ DHCP Starvation

حمله‌ DHCP Starvation با پخش درخواست‌های DHCP با آدرس MAC جعلی انجام می‌شود. این حمله به‌راحتی با استفاده از ابزاری مانند the gobble می‌تواند رخ دهد. 

درصورت ارسال درخواست زیاد و کافی، مهاجم می‌تواند فضای آدرس موجود برای سرورهای DHCP را برای مدت زمانی از دسترس خارج کند. این حمله‌ ساده بسیار شبیه به SYN Flood Attack است. سپس مهاجم می‌تواند یک سرور DHCP جعلی روی سیستم خود راه‌اندازی کرده و به درخواست‌های جدید DHCP از کلاینت‌های موجود در شبکه پاسخ دهد.

starvation attacks
  • حمله‌ Rogue DHCP Server

rogue DHCP server یک سرور DHCP است که یک مهاجم یا کاربر ناآگاه آن را در شبکه تنظیم کرده است و تحت کنترل مدیران شبکه نیست. هر دستگاه rogue تصادفی معمولاً یک مودم یا روتر بی‌سیم خانگی با امکان تنظیم DHCP است که کاربر به شبکه متصل شده است و از عواقب این کار بی‌اطلاع است. به‌طور معمول مهاجمان از rogue DHCP server به‌منظور حملات شبکه مانند Sniffing، MitM و Reconnaissance استفاده می‌کنند.
با قراردادن یک rogue DHCP server در شبکه، مهاجم می‌تواند آدرس و سایر اطلاعات شبکه را به کلاینت‌ها ارائه کند . از آن‌جایی که پاسخ‌های DHCP معمولاً شامل اطلاعات سرور gateway پیش‌فرض و Domain Name System (DNS) است، مهاجمان می‌توانند سیستم خود را به‌عنوان gateway پیش‌فرض و سرور DNS تنظیم کنند که منجر به حمله‌ MitM می‌شود.

rogue attacks

از حملات MitM می‌توان برای جعل منابع شبکه استفاده کرد. پاسخ Rouge DHCP یک آدرس IP و اطلاعاتی را ارائه می‌دهد که ممکن است ماشین مهاجم را به‌عنوان gateway پیش‌فرض یا سرور DNS تعیین کند. اگر مهاجم به‌عنوان gateway پیش‌فرض تعیین شده باشد، هر کلاینت با آدرس اختصاص‌داده‌شده از Rouge DHCP Server، بسته‌ها را به دستگاه مهاجم هدایت می‌کند که ممکن است به‌نوبه‌ خود آن‌ها را به مقصد مدنظر یا احتمالاً جایی دیگر بفرستد. اگر مهاجم Rouge DNS Server خود را نیز تعیین کند، ممکن است وب‌سایت‌های فیشینگ را برای به‌دست‌آوردن سایر اطلاعات محرمانه مانند جزئیات کارت اعتباری و رمزهای عبور طراحی کند.

کاهش و جلوگیری از حملات DHCP

راه‌حل DHCP Snooping

DHCP Snooping راهکاری برای ارتقای امنیت DHCP است که امنیت شبکه را با فیلترکردن پیام‌های DHCP غیرمجاز و با ساخت و نگهداری یک پایگاه اتصال DHCP Snooping فراهم می‌کند. درحقیقت DHCP snooping یک ویژگی در سوئیچ‌های Cisco Catalyst است که تعیین می‌کند کدام پورت‌های سوئیچ می‌توانند به درخواست‌های DHCP پاسخ دهند. پورت‌ها می‌توانند به‌عنوان راهکاری برای تشخیص پاسخ مورد اعتماد و غیرقابل اعتماد شناخته شوند.
پورت‌های قابل اعتماد می‌توانند همه‌ی پیام‌های DHCP را بررسی کنند؛ در حالی که پورت‌های غیرقابل اعتماد فقط می‌توانند درخواست را بررسی کنند. پورت‌های قابل اعتماد میزبان یک سرور DHCP هستند یا می‌توانند ارتباطی به‌سمت سرور DHCP باشند. اگر دستگاه جعلی روی پورت غیرقابل اعتماد تلاش کند بسته‌ی پاسخ DHCP را به شبکه ارسال کند، پورت خاموش می‌شود.

پورت‌های غیرقابل اعتماد، پورت‌هایی هستند که صراحتاً ادمین آن‌ها را به‌عنوان پورت قابل اعتماد پیکربندی نکرده است. در ابتدا یک جدول اتصال DHCP برای پورت‌های غیرقابل اعتماد ساخته می‌شود. هر ورودی شامل آدرس MAC کلاینت، آدرس IP، زمان lease، شماره‌ VLAN و شناسه‌ پورت است که به‌عنوان کلاینت، درخواست DHCP را ثبت می‌کند. سپس از جدول برای فیلترکردن ترافیک DHCP بعدی استفاده می‌شود.

dhcp snooping

از نظر DHCP snooping پورت‌های غیر قابل اعتماد نباید هیچ پاسخ سرور DHCP مانند DHCPOFFER ، DHCPACK یا DHCPNAK را ارسال کنند. هنگامی که یک سوئیچ بسته‌ای را در اینترفیس نامعتبر دریافت می‌کند و اینترفیس به یک VLAN تعلق دارد که اسکن‌کردن DHCP در آن فعال است، سوئیچ آدرس MAC منبع و آدرس سخت‌افزار DHCP client را مقایسه می‌کند. اگر آدرس‌ها مطابقت داشته باشند (پیش‌فرض)، سوئیچ بسته را به‌سمت مقصد هدایت می‌کند و اگر آدرس‌ها مطابقت نداشته باشند، سوئیچ بسته را دراپ می‌کند.

راه‌حل Port Security

از Port Security می‌توان برای کاهش حمله‌ DHCP Snooping با محدودکردن تعداد آدرس‌های MAC روی یک پورت استفاده کرد. با محدودکردن و شناسایی آدرس‌های MAC ایستگاه‌های مجاز برای دسترسی به پورت، می‌توانید از ویژگی Port Security برای محدودکردن ورودی به اینترفیس استفاده کنید. وقتی آدرس MAC امن را به پورت امنی اختصاص می‌دهید، پورت بسته‌های دارای آدرس منبع را خارج از گروه آدرس‌های تعریف‌شده ارسال نمی‌کند.
ویژگی Port Security به شما امکان می‌دهد آدرس MAC را برای هر پورت مشخص کنید یا تعداد محدودی آدرس MAC را مجاز کنید. هنگامی‌که یک پورت امن بسته را دریافت می‌کند، آدرس MAC منبع، بسته به لیست آدرس‌های منبع امن که به‌صورت دستی یا خودکار روی پورت پیکربندی شده‌اند ، مقایسه می‌شود. اگر آدرس MAC دستگاه متصل به پورت با لیست آدرس‌های امن متفاوت باشد، پورت برای همیشه خاموش می‌شود (حالت پیش‌فرض) یا بسته‌های ورودی را از میزبان ناامن دراپ می‌کند. لازم به ذکر است که رفتار پورت به نحوه‌ پیکربندی آن توسط ادمین برای پاسخگویی به یک تخلف امنیتی بستگی دارد.

نتیجه‌گیری

در این مقاله احتمال حملات DHCP و راه‌حل‌های امنیتی به‌منظور جلوگیری از آن‌ها شرح داده شد. ادمین شبکه باید مراقب باشد تا در هر مرحله، از ناشناس‌بودن سرور و سرویس‌گیرنده محافظت و جلوگیری کند. علاوه بر این، مکانیزم‌های استاندارد DHCP برای توسعه، مهمترین کمک راه‌حل‌های مختلف حملات DHCP است . بدیهی است که بی‌توجهی به این استانداردها و رعایت‌نکردن حداقل‌های امنیتی می‌تواند منجر به انجام حملات روی بستر شبکه شود.

علاقمند به حوزه امنیت اطلاعات و آشنا به حوزه تست نفوذ
  • facebook
  • twitter
  • googleplus
  • linkedIn
  • flickr

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *