استفاده از (Network Foundation Protection (NFP برای امن کردن شبکه

اهمیت زیرساخت شبکه


شبکه از قطعات و بخش های مختلفی تشکیل شده است و اگر یک بخش کوچک آن درست عمل نکند می تواند در عملکرد کل شبکه اخلال ایجاد کند. اگر شبکه به درستی کار نکند روی درآمد و بهره وری تاثیر منفی می گذارد. به طور کلی ، اگر یک آسیب پذیری مانند پسورد ضعیف ، آسیب پذیری نرم افزاری یا تنظیم نادرست در دستگاه وجود داشته باشد باعث باز گذاشتن یک در ورود برای مهاجم می گردد. تاثیرات قطع شدن شبکه خیلی زیاد است و به طور معمول روی نیروی انسانی و دیگر سیستم ها و مشتریان که با شبکه در ارتباط هستند تاثیر می گذارد. NFP به این منظور طراحی شده است که به شما در گروه بندی منطقی توابع مختلف موجود در شبکه کمک کند و همچنین بر روی اقدامات امنیتی که شما می توانید برای هر یک از این توابع درنظر بگیرد متمرکز می شود.

(Network Foundation Protection (NFP


برای IOS روترها و سوئیچ های سیسکو (Network Foundation Protection (NFP به سه قسمت اصلی تقسیم می شود. این سه قسمت به شرح زیر می باشند :

  • Management plane : این بخش شامل پروتکل ها و ترافیک هایی می باشد که از آنها برای یک ارتباط مدیریتی با روتر یا سوئیچ استفاده می شود. یک نمونه آن استفاده از پروتکل های مدیریت از راه دور مانند (Secure Shell (SSH برای تنظیم روتر یا سوئیچ می باشد. اگر خطایی در Management plane رخ دهد نتیجه آن می تواند از دسترس خارج شدن و عدم توانایی در مدیریت دستگاه گردد.
  • Control plane : شامل پروتکل ها و ترافیک هایی می باشد که توسط دستگاه های شبکه و بدون دسترسی مستقیم مدیر مورد استفاده قرار می گیرد. نمونه آن ، پروتکل های مسیریابی می باشند. یک پروتکل مسیریابی می تواند به صورت خودکار اطلاعات مسیریابی را فرا گیرد و آنها را به اشتراک بگذارد و روتر از این اطلاعات برای بروزرسانی جدول مسیریابی خود استفاده کند. اگر خطایی در Control plane رخ دهد روتر توانایی خود را در فراگرفتن و به اشتراک گذاشتن صحیح اطلاعات مسیریابی از دست می دهد و در نتیجه نمی تواند به صورت هوشمندانه برای شبکه مسیریابی را انجام دهد.
  • Data plane : شامل ترافیکی می باشد که از طریق شبکه ارسال می شود. یک نمونه آن ترافیک ارسالی توسط یک کاربر از یک قسمت شبکه به سمت یک سرور در قسمت دیگری از شبکه است. Data plane نشان دهنده ترافیکی است که توسط دستگاه های شبکه در حال ارسال یا سوئیچ شدن بین کلاینت ها و سرورها می باشد. نتیجه خطا در بخش Data plane عدم ارسال ترافیک کاربر خواهد بود اما در زمانی هایی براساس سیاست های موجود شاید شما بخواهد جلوی عبور برخی از ترافیک های Data plane که در حال عبور را بگیرید.
Image

 

وابستگی


برخی وابستگی ها بین این سه بخش وجود دارد. به طور مثال ، اگر control plane دچار خطا شود و روتر ندادند که چگونه ترافیک را ارسال کند در این حالت روی data plane نیز تاثیر می گذارد چون ترافیک کاربران ارسال نخواهد شد. یک مثال دیگر خطا در management plane است که به یک مهاجم اجازه می دهد دستگاه را تنظیم کند که نتیجه آن می تواند خطا در هر دو بخش control plane و data plane رخ دهد.
همانطور که شما ممکن است متوجه شده باشید NFP یک ویژگی تنها نیست بلکه یک رویکرد جامع می باشد که سه بخش زیرساخت ارتباطی را پوشش می دهد و با استفاده از مجموعه از ویژگی ها که توصیه می شود در سرتاسر شبکه اجرا شود هر یک از این بخش ها را حفاظت می کند.

MPLS چگونه کار می کند؟ – بخش چهاردهم

در ادامه سری مقالات MPLS در خدمت شما دوستان عزیز هستیم.

LDP Operation :


در این بخش به بررسی چهار بخش اصلی LDP که در بخش قبلی مقاله عنوان شد می پردازیم.

پیدا کردن LSR هایی که LDP را اجرا کرده اند :


LSR هایی که LDP را اجرا کرده اند روی همه لینک هایی که LDP روی آنها فعال شده است بسته های LDP Hello ارسال می کنند و این لینک هایی است که روی آنها MPLS با استفاده از دستور mpls ip در آن اینترفیس تنظیم شده است. اما در ابتدا باید CEF با استفاده از دستور ip cef در global mode فعال شده باشد سپس LDP به صورت globally با استفاده از دستور mpls ip فعال شود. در تصویر زیر دستورات فعال کردن LDP نمایش داده شده است :

Image

LDP Hello بسته های UDP می باشند که روی لینک ها برای همه روترهای آن subnet به صورت Multicast ارسال می شوند و از آدرس 224.0.0.2 به عنوان آدرس multicast استفاده می کند و همچنین از پورت UDP 646 استفاده می کند. LSR که بسته LDP Hello را روی یک پورت خود دریافت کند متوجه می شود که از طریق این پورت به یک روتر که LDP را اجرا کرده است می رسد. بسته های Hello حاوی Hold time هستند و اگر قبل از انقضای زمان Hold time ، بسته hello از آن LSR دریافت نکند LSR را از جدول همسایه های LDP خود حذف می کند. برای اینکه مشاهده کنید که LSR بسته های LDP Hello ارسال یا دریافت کرده اند و همچنین مشاهده Hello interval و Hold time می توانید از دستور show mpls ldp discovery [detail] استفاده کنید. اگر روی یک اینترفیس ارسال و دریافت بسته های LDP Hello رخ دهد نشان دهنده ایجاد همسایگی بین دو LSR که LDP را اجرا کرده اند می باشد. در تصویر زیر خروجی دستور فوق نمایش داده شده است :

Image

با استفاده از دستور show mpls interfaces می توانید خیلی سریع اینترفیس هایی که روی آنها LDP اجرا شده است را ببینید. خروجی این دستور به صورت زیر است :

Image

برای تغییر زمان بین ارسال بسته های Hello و یا تغییر زمان Hold time از دستور mpls ldp discovery {hello {holdtime | interval} می توانید استفاده کنید.
مقدار پیش فرض برای hold time برابر 15 ثانیه می باشد و هر 5 ثانیه یکبار بسته hello ارسال می شود. در تصویر بالا سه همسایه LDP شناسایی شده اند که دارای IP های 10.200.254.1 ، 10.200.254.3 و 10.200.254.5 می باشند. همانطور که می بینید LSR 10.200.254.1 از طریق دو اینترفیس Ethernet 0-1-3 و Ethernet 0-1-4 شناسایی شده است و مقدار پیش فرض برای Hello interval و Hold time یعنی 5 و 15 ثانیه تعیین شده است. اگر دو همسایه LDP دارای مقدار Hold times متفاوت باشند مقدار کمتر به Hold times در نظر گرفته می شود. IOS سیسکو مقدار Hello interval را تغییر می دهد تا بتواند حداقل سه بسته LDP Hello قبل از انقضای زمان Hold time ارسال کند. اگر زمان Hold time برای یک لینک منقضی شود آن لینک از لیست LDP حذف می شود. اگر اخرین لینک مربوط به همسایه LDP حذف شود ارتباط همسایگی بین آن LSR های نیز خاتمه می یابد. در صورتی که مقدار Hello interval و Hold times را برای LDP تغییر دادید مطمئن شوید که مقدار در نظر گرفته شده خیلی بزرگ یا کوچک نباشد. اگر مقدار Hold time خیلی کوچک در نظر گرفته شود باعث می شود که در زمانی که تعداد کمی از بسته ها به دلایل مختلف (مانند حجم بالایی ترافیک) از بین برود این رابطه همسایگی نیز از بین برود. اگر مقدار Hold time خیلی نیاز در نظر گرفته شود ممکن است که رابطه همسایگی برای یک مدت طولانی برقرار باشد در صورتی که یک مشغول جدی در ارتباط وجود داشته باشد و عکس العمل نسبت به آن دیر انجام شود و نتیجه آن از دست رفتن حجم زیادی از بسته می باشد.
توجه داشته باشید که هر LSR که LDP را اجرا کرده است دارای یک شناسه یا LDP ID می باشد. این LDP ID یک فیلد 6 بایتی است که 4 بایت آن مشخص کننده شناسه منحصر به فرد LSR می باشد و 2 بایت آن مشخص کننده label space می باشد که اگر این دو بایت برابر صفر باشد نشان دهنده perplatform label space بودن آن می باشد و اگر مقدار آن چیزی غیر از صفر باشد نشان دهنده per-interface label space می باشد. در برخی از حالت ها می توان از چند LDP ID استفاده کرد. که در این LDP ID ها مقدار چهار بایت اول برابر می باشد اما مقدار دو بایت دیگر متفاوت می باشد. به طور مثال per-interface label space را در نظر بگیرد. مقدار 4 بایت اول LDP ID یک آدرس IP است که از روی یکی از اینترفیس های روتر گرفته شده است. اگر اینترفیس loopback وجود داشته باشد بزرگترین IP متعلق به اینترفیس loopback برای 4 بایت اول LDP ID در نظر گرفته می شود. اگر اینترفیس loopback وجود نداشته باشد بزرگترین IP اینترفیس ها برای این 4 بایت LDP ID در نظر گرفته می شود. در تصویر بالا مقدار LDP ID برابر 10.200.254.2:0 می باشد که 10.200.254.2 نشان دهنده بزرگترین IP و 0 نشان دهنده perplatform label space می باشد. شما می توانید مقدار LDP ID را با استفاده از دستور mpls ldp router-id interface [force] تغییر دهید. در صورت استفاده از کلید force مقدار LDP ID بلافاصله تغییر می کند در غیر این صورت مقدار LDP ID در زمانی بعد که نیاز به تعیین LDP ID باشد براساس این دستور تعیین می گردد و آن زمانی است که اینترفیسی که در حال حاضر به عنوان LDP ID استفاده می شود shutdown شود.
در IOS سیسکو ، LDP ID باید در جدول مسیریابی همسایه LDP وجود داشته باشد در غیر این صورت ارتباط LDP و همسایگی آن ایجاد نمی گردد. بنابراین آدرس IP که به عنوان LDP ID مورد استفاده قرار می گیرد باید در جدول مسیریابی وجود داشته باشد. اگر برای این آدرس IP در جدول مسیریابی هیچ مسیری وجود نداشته باشد ارتباط و همسایگی LDP برقرار نمی شود. در تصویر زیر آدرس 10.200.254.3 در جدول مسیریابی LSR لندن وجود ندارد. در نتیجه بین LSR لندن و LSR روم هیچ ارتباط و همسایگی LDP برقرار نمی شود و این به خاطر LDP ID با مقدار 10.200.254.3 می باشد.

Image

 

MPLS چگونه کار می کند؟ – بخش سیزدهم

با یکی دیگه از سری مقالات MPLS در خدمت شما دوستان عزیز هستیم و امیدوارم که تاکنون این مقالات در یادگیری این تکنولوژی به شما کمک کرده باشد.

Label Distribution Protocol :


داستان کلی MPLS به بسته های label خورده که توسط (label switching router (LSR ارسال می شوند برمی گردد و به این معناست که در همه حالت ها ، label ها باید پخش و توزیع شوند. که می توان به دو روش اینکار را انجام داد : سوارکردن label ها روی پروتکل مسیریابی موجود یا استفاده از یک پروتکل جدید برای توزیع label . اگر بخواهید (Interior Gateway Protocol (IGP مانند OSPF ، ISIS یا EIGRP را برای حمل label ها تنظیم کنید باید اینکار را برای همه پروتکل های مسیریابی انجام دهید چون همه این پروتکل ها در شبکه های امروزی مورد استفاده قرار می گیرند. اگر از ابتدا یک پروتکل جدید بنویسید باید بتواند به صورت مستقل مسیریابی کند و همچنین بتواند با IGP کار کند. دلیل اصلی به وجود آمدن (Label Distribution Protocol (LDP حمل label ها مربوط (Forwarding Equivalence Classes (FECs در شبکه MPLS می باشد.
به عنوان یک استثناء پروتکل مسیریابی (Border Gateway Protocol (BGP می تواند label ها را برای ما حمل کند چون BGP مسیرهای خارجی را حمل می کند و استفاده از آن برای حمل labelها کارامدتر است. دلیل دیگر انتخاب BGP برای حمل label ها این است که BGP تنها پروتکلی است که می تواند مسیرها را بین (autonomous systems (AS حمل کند که باعث می شود به عنوان یک پروتکل مورد اعتماد بین کمپانی های مختلف مورد استفاده قرار گیرد.
این مواردی که عنوان شد دلایلی هستند که در IOS سیسکو از LDP برای پخش label های مربوط به شبکه های IGP استفاده می شود از پروتکل BGP برای پخش label های مربوط به شبکه های BGP استفاده می شود. در بخش های قبلی به صورت خلاصه به LDP و نحوی تبادل label ها پرداختیم و همچنین دلایل نیاز به (label information base (LIB و (label forwarding information base (LFIB و نحوی ایجاد آنها گفته شد. برخی از اصول مانند عملیات روی label نیز شرح داده شد. اما لازم است که عملیات LDP به صورت دقیق تر و عمیق تر مورد بررسی قرار گیرد.
به تصویر زیر توجه کنید این شبکه در این بخش مورد استفاده قرار می گیرد :

Image

 

LDP Overview :


برای دریافت بسته ها در همه (label switched path (LSP ها در شبکه MPLS باید همه LSR ها LDP را اجرا کنند و label ها را مبادله کنند. زمانی که همه LSR ها برای همه FEC ها label داشته باشند بسته ها می توانند در LSP ها به وسیله label switching توسط هر LSR ارسال شوند. عملیات روی label ها مانند swap ، push و pop نیز با استفاده از LFIB مشخص می شود. LFIB اطلاعات برای ارسال بسته ها را از LIB بدست می آورد و LIB اطلاعات و label ها را از طریق LDP ، Resource Reservation Protocol (RSVP) ، MP-BGP یا از طریق label هایی که به صورت static مشخص شده اند بدست می آورد. با توجه به اینکه از RSVP برای پخش label های در MPLS TE استفاده می شود و همچنین MP-BGP برای پخش label های مربوط به شبکه های BGP مورد استفاده قرار می گیرد در نتیجه برای شبکه های داخلی (IGP Route) باید از LDP برای پخش label ها استفاده کنید. بنابراین LSR هایی که به صورت مستقیم به هم متصل هستند باید رابطه همسایگی LDP با یکدیگر برقرار کنند و با استفاده از این رابطه همسایگی بسته های LDP را بین یکدیگر منتقل می کنند. label mapping یا label binding اختصاص label برای یک FEC می باشد. FEC مجموعه ای از بسته ها است که به یک LSP مشخص تعلق دارند و روی این LSP در شبکه MPLS ارسال می شود. در این بخش می خواهیم به label bindings برای شبکه های IGP پردازیم. LDP دارای چهار بخش اصلی است :

  • پیدا کردن LSR هایی که LDP را اجرا کرده اند.
  • برای ارتباط و نگه داری از آن
  • ارسال label mappings
  • نگه داری از اطلاعات

زمانی که دو LSR که LDP را اجرا کرده اند و بین آنها یک یا چند لینک وجود دارد برای پیدا کردن یکدیگر از مفهوم بسته های Hello استفاده می کنند. مرحله دوم برای آنها برقراری یک ارتباط TCP بین آنهاست. در این ارتباط TCP ، بسته های label mapping توسط LDP بین این LSR ها ارسال می شوند. این بسته های label mapping برای جمع آوری و تغییر label binding مورد استفاده قرار می گیرد. LDP ها می توانند به وسیله ارسال و اعلام برخی بسته های خطا به همسایه های خود هشدار دهد.

با توجه به اهمیت پروتکل LDP در بخش بعدی مقاله چهار بخش اصلی LDP که در اینجا مطرح را به صورت دقیق و عمیق مورد بررسی قرار می دهیم تا با عملکرد این پروتکل بیشتر آشنا شویم. موفق ، پیروز و itpro باشید.

پیاده سازی 802.1x – بخش هفتم

در ادامه پیاده سازی 802.1x در خدمت شما دوستان عزیز هستم :

تنظیم Authenticator :


برای اینکه یک سوئیچ یا دستگاه دیگر به عنوان Authenticator عمل کند باید چندین عمل روی آن انجام داد که به شرح زیر است :

  • تنظیم Radius Server و AAA Server در سوئیچ
  • تنظیم سوئیچ جهت استفاده از AAA و Radius برای تایید هویت
  • فعال کردن 802.1x به صورت Globally در سوئیچ
  • تنظیم پورت های Access در سوئیچ که باید تایید هویت کاربران را انجام دهد
  • (اختیاری) تنظیم periodic reauthentication
  • (اختیاری) تنظیم timers and thresholds
  • (اختیاری) تنظیم guest policy در صورت نیاز در سوئیچ

برخی از این عملیات ها اختیاری است که به شرح آنها می پردازیم :
periodic reauthentication : در بعضی مواقع 802.1x جهت تایید هویت در سوئیچی که کلاینت به آن متصل است تنظیم نشده است و تایید هویت توسط سوئیچ بالا دست انجام می شود. تنظیم periodic reauthentication در آن سوئیچ باعث می شود که در بازه های مشخص اقدام به تایید هویت مجدد نماید و از متصل بودن کلاینت اطمینان حاصل کند و پورت را در وضعیت Authorized نگه دارد.
timers and thresholds : تایمر پیش فرض برای تایید هویت در IOS سیسکو بسیار محافظه کارانه تنظیم شده است اگر پروسه تایید هویت شما به دلایل مختلف زمانبر است می توانید این تایمر را براساس نیاز خود تنظیم کنید.
guest policy : ایجاد guest network اختیاری است و برای کلاینت هایی که از 802.1x پشتیبانی نمی کنند یا هویت آنها تایید نشده است مورد استفاده قرار می گیرد. با استفاده از guest network یک دسترسی محدود به کاربر مانند دسترسی به فقط اینترنت داده می شود.

سناریو :


سناریوی که قرار است باهم پیاده سازی کنیم در تصویر زیر مشاهده می کنیم. این سناریوی شامل بخش های زیر است :

  • کاربران داخلی سازمان برای اتصال از 802.1x استفاده می کنند و همچنین کاربرانی guest وجود دارد.
  • سوئیچ به عنوان authenticator عمل می کند.
  • VLAN 100 برای quest network مورد استفاده قرار می گیرد و تنها دسترسی به اینترنت را فراهم می کند.
  • از Cisco Secure ACS 4.2 به عنوان AAA Server استفاده می کنیم که در windows server اجرا می شود و برای 802.1x به عنوان Radius عمل می کند.
Image

 

تنظیم RADIUS Server :


اولین عمل برای فعال کردن Authenticator تنظیم RADIUS server است :

  • مرحله 1 : دستور radius-server host به همراه آدرس IP سرور Radius را استفاده می کنیم. سوئیچ برای تایید هویت با این سرور ارتباط برقرار می کند. همچنین با استفاده از کلمه key می توانیم از این ارتباط حفاظت کنیم.
  • مرحله 2 : (اختیاری) شما می توانید پورت های پیش فرض authentication و accounting را تغییر دهید.

نکته : می توانید دو RADIUS server تعریف کنید که برای AAA Server افزونگی (Redundant) فراهم می کند. استفاده از کلید پیچیده و همچنین کلید های متفاوت برای هر سوئیچ برای افزایش امنیت پیشنهاد می شود.
نکته : قبل از استفاده از این دستور باید AAA فعال شده باشد.
در دستورات زیر Radius server با آدرس 10.1.1.1 و پورت های استاندارد UDP 1812 , 1813 و کلید rad123 تنظیم شده است :

SW(config)#radius-server host 10.1.1.1 auth-port 1812 acct-port 1813 key rad123

 

فعال کردن AAA و استفاده از RADIUS برای Authentication :


در این مرحله AAA فعال می شود و برای Authentication استفاده از RADIUS تعیین می شود.

  • مرحله 1 : AAA را به صورت globally با استفاده از دستور aaa new-model فعال می کنیم.
  • مرحله 2 : در اینجا مشخص می کنیم که aaa authentication برای تایید هویت از RADIUS Server استفاده کند.

در دستورات زیر فعال کردن AAA و همچنین تعیین RADIUS Server برای AAA Authentication برای تایید هویت کلاینت ها نشان داده شده است :

SW(config)#aaa new-model
SW(config)#aaa authentication dot1x default group radius none

 

فعال کردن 802.1X به صورت Globally و در User Ports :


در این مرحله 802.1x به صورت globally فعال می شود و سپس 802.1x در پورت های access سوئیچ فعال می گردد.

  • مرحله 1 : 802.1x با استفاده از دستور system-auth-control به صورت globally فعال می شود.
  • مرحله 2 : در پورت هایی که باید 802.1x authentication در آنها فعال گردد مطمئن شوید که پورت در حالت access قرار دارد برای اینکه پورت را در حالت access قرار دهیم از دستور switchport mode access در اینترفیس مربوطه استفاده می کنیم.
  • مرحله 3 : اینترفیس را در vlan مناسب قرار دهید که با استفاده از دستور switchport access vlan vlan-id انجام می شود.
  • مرحله 4 : 802.1x را در اینترفیس مورد نظر با استفاده از دستور authentication port-control فعال می کنیم.

در دستورات زیر فعال کردن 802.1x به صورت globally و همچنین قرار دادن اینترفیس در حالت access و تعیین vlan و در نهایت فعال کردن 802.1x در اینترفیس نمایش داده شده است.

SW(config)#dot1x system-auth-control
SW(config)#interface fastethernet 0/1
SW(config-if)#switchport mode access
SW(config-if)#switchport access vlan 90
SW(config-if)#authentication port-control auto

 

تنظیم Periodic Reauthentication :


تنظیم این مرحله اختیاری می باشد و می توانید آنرا روی یک یا چند اینترفیس تنظیم کنید. به صورت پیش reauthentication فعال نیست و این می تواند در برخی از شبکه ها که روی همه سوئیچ 802.1x فعال نیست باعث بروز مشکل شود. به طور مثال اگر 802.1x در لایه distribution فعال باشد این سوئیچ ها از قطع شدن ارتباط کلاینت باخبر نمی شود. Periodic reauthentication در بازه های زمانی مشخص اقدام به تایید هویت مجدد کلاینت ها می کند که باعث می شود این مشکل از بین برود.
جهت فعال کردن این ویژگی مراحل زیر را باید طی کنیم :

  • مرحله 1 : با استفاده از دستور authentication periodic در اینترفیس مورد نظر این قابلیت فعال می شود.
  • مرحله 2 : با استفاده از دستور authentication timer reauthenticate می توانیم بازه زمانی برای تایید هویت مجدد را مشخص کنیم. به صورت پیش فرض مقدار آن برابر 3600 ثانیه یعنی هر یک ساعت یکبار می باشد. کم کردن این زمان به لحاظ امنیتی مفید است اما از سوی دیگر می تواند بار بیشتری متوجه RADIUS Server کند. در نتیجه مقدار آنرا طوری باید انتخاب کرد که هر دو بحث امنیت و بار تحمیلی به سرور در آن در نظر گرفته شود.

در دستورات زیر فعال کردن periodic reauthentication نمایش داده شده است :

SW(config)#interface fastethernet 0/1
SW(config-if)#authentication periodic
SW(config-if)#authentication timer reauthenticate 600

 

تنظیم Timers and Thresholds :


تنظیم این مرحله اختیاری است شما می توانید با تنظیم تایمر EAPOL عملیات تایید هویت 802.1x و تبادل بین supplicant و authenticatorرا بهینه کنید.
در تصویر زیر بسته هایی که بین supplicant و authenticator و authentication server تبادل می شود نمایش داده شده است.

Image

نکته : EAPOL بین supplicant و authenticatorمورد استفاده قرار می گیرد و بین authenticator و authentication server از RADIUS استفاده می شود.
Authenticator انتظار دریافت فریم EAP-Response-Identity را در پاسخ به فریم EAP-Request-Identity دارد. اگر در زمان تعیین شده فریمی دریافت نکند مجدد اقدام به ارسال فریم EAP-Request-Identity می کند. زمان پیش فرض 30 ثانیه می باشد. شما می توانید این زمان را برای پاسخگویی بهتر تغییر دهید که پروسه تایید هویت سریع تر انجام شود. برای تغییر این زمان از دستور dot1x timeout txperiod در اینترفیس مورد نظر می توانید استفاده کنید.
اگر تایید هویت کلاینت به دلایلی مانند اشتباه وارد کردن پسورد با شکست مواجه شود Authenticator یک بازه زمانی صبر می کند سپس برای تایید هویت اقدام می کند که این بازه زمانی به صورت پیش فرض 60 ثانیه می باشد. شما می توانید با کم کردن این زمان پروسه تایید هویت را سریع انجام دهید. برای تغییر این بازه زمانی می توانید از دستور dot1x timeout quiet-period در اینترفیس مورد نظر استفاده کنید.
در دستورات زیر تنظیم این زمان ها نمایش داده شده است :

SW(config-if)#interface fastethernet 0/1
SW(config-if)#dot1x timeout tx-period 10
SW(config-if)#dot1x timeout quiet-period 10

 

تنظیم guest policy :


این مرحله نیز اختیاری است در این مرحله یک VLAN برای کلاینت هایی که تایید هویت آنها با شکست مواجه شده است یا از 802.1x پشتیبانی نمی کنند در نظر گرفته می شود. به این معنی که کلاینت هایی که تایید هویت نمی شوند در این VLAN قرار می گیرند. این VLAN باید از قبل در سوئیچ وجود داشته باشد.
در حالتی که تایید هویت با شکست مواجه شود شما باید مشخص کنید بعد از چند بار که تایید هویت با شکست مواجه شد کلاینت را در این VLAN قرار دهد. از دستور authentication event fail retry number action authorize vlan در حالت تایید نشدن هویت استفاده می شود و برای حالت عدم پشتیبانی از 802.1x از دستور authentication event no-response action authorize VLAN استفاده می شود.
در دستورات زیر تعیین Guest VLAN نمایش داده شده است :

SW(config-if)#interface fastethernet 0/1
SW(config-if)#authentication event fail retry 2 action authorize vlan 100
SW(config-if)#authentication event no-response action authorize vlan 100

 

بررسی و خطایابی در Authenticator :


در صورت بروز مشکل در Authenticator برای تایید هویت می تواند عملکرد شبکه را تحت تاثیر خود قرار دهد و باعث شود بخشی از شبکه از دسترس خارج شود.
دستور show dot1x وضعیت 802.1x را به نمایش می دهد همانند تصویر زیر :

Image

دستور show dot1x all summary که در تصویر زیر می بینید وضعیت هر پورت که را که در آن 802.1x فعال شده باشد را به ما نشان می دهد:

Image

در قسمت بعد نحوی تنظیم ACS را فرا خواهیم گرفت. موفق ، پیروز و itpro باشید.

حمله Man in the Middle چیست ؟

حمله man-in-the-middle (که با نام های MITM ، MitM ، MIM یا MITMA نیز شناخته می شود) یکی از خطرناکترین حملات در شبکه های کامپیوتری می باشد. دلیل این میزان اهمیت این حمله این است که در اکثر مواقع کاربر متوجه نمی شود که مورد حمله قرار گرفته است و اطلاعات او مورد سواستفاده قرار گرفته است. Man-in-the-Middle حمله ای است که مهاجم در بین راه ارتباط دو دستگاه با مقاصدی مانند جمع آوری اطلاعات ، دستکاری اطلاعاتی که بین این دو دستگاه در حال مبادله است و … قرار می گیرد. این حمله می تواند در لایه دو یا سه اتفاق بیافتد. هدف اصلی این حملات استراق سمع است بنابراین مهاجم می تواند کل ترافیک در حال انتقال را ببیند.اگر در لایه دو اتفاق بیافتد مهاجم آدرس MAC در لایه دو را جعل می کند و سعی می کند دستگاه های موجود در شبکه LAN باور کنند که آدرس لایه دو مهاجم ، آدرس لایه دو default gateway است. به این عمل ARP poisoning گفته می شود. فریم هایی که قرار است به default gateway ارسال شوند توسط سوئیچ براساس آدرس لایه دو به مهاجم به جای default gateway ارسال می شوند. بعد از اینکه فریم ها دست مهاجم رسید و استفاده خود را از آنها کرد مهاجم می تواند فریم ها را به مقصد درست آنها ارسال کند درنتیجه کلاینت ارتباط مورد نظر خودش را با مقصد دارد و در این میان مهاجم کل اطلاعات مبادله شده بین کلاینت و مقصدش را می بینید بدون اینکه کلاینت از این اتفاق باخبر شود. برای کاهش این Risk باید از تکنیک هایی مانند (dynamic Address Resolution Protocol (ARP) inspection (DAI در سوئیچ استفاده کنید تا جلوی جعل آدرس لایه دو گرفته شود.

Image

همچنین مهاجم می تواند با قرار دادن یک سوئیچ در شبکه و تنظیم (Spanning Tree Protocol (STP در آن باعث شود که این سوئیچ تبدیل root switch شود و به این صورت تمام ترافیک هایی که نیاز به عبور از root switch را دارند را ببیند و به این شکل یک حمله را پایه ریزی کند. شما می توانید این Risk را با تکنیک هایی مانند root guard و سایر روش های کنترلی spanning-tree که در فصل های بعدی مورد بحث قرار خواهد گرفت.حمله man-in-the-middle می تواند در لایه سه با قرار دادن یک روتر غیرمجاز در شبکه و فریب دادن سایر روترها که این یک روتر جدید است و دارای بهترین مسیر است انجام شود. این باعث می شود ترافیک شبکه از طریق این روتر غیر مجاز جریان پیدا کند و این اجازه به مهاجم داده می شود که دیتا شبکه را سرقت کند. شما می توانید با استفاده از تکنیک های مختلفی مانند استفاده از authentication برای پروتکل های مسیریابی یا استفاده از فیلترینگ برای جلوگیری از ارسال یا دریافت update های مرتبط با مسیریابی روی اینترفیس های خاص ، این حملات را کاهش دهید.

یکی از بهترین کارهایی که برای حفاظت از اطلاعات در حال انتقال می توان انجام داد استفاده از رمزنگاری برای حفظ محرمانگی اطلاعات در زمان انتقال است. اگر از پروتکل های plaintext مانند Telnet یا HTTP استفاده شود و یک مهاجم تدارک یک حمله man-in-the-middle را ببیند چون ترافیک در حال انتقال به صورت cleartext است درنتیجه مهاجم می تواند به اطلاعات موجود در بسته ها دسترسی پیدا کند درنتیجه هر اطلاعاتی از ما ، که از که طریق دستگاه مهاجم عبور کند توسط او دیده خواهد شد که این اطلاعات می تواند شامل یوزر و پسوردهای ما باشد. راه حل استفاده از پروتکل هایی است که دارای مکانیزم های رمزنگاری هستند مانند (Secure Shell (SSH و (Hypertext Transfer Protocol Secure (HTTPS و همچنین می توان از VPN برای محافظت از دیتا حساس که به صورت cleartext هستند استفاده کرد.

حمله (Denial-of-Service (DoS و (Distributed Denial-of-Service (DDoS

حمله (Denial-of service (DoS و (distributed denial-of-service (DDoS مدتها وجود داشته اند اما در چند سال اخیر بسیار مورد توجه قرار گرفته اند و دلیل این توجه ، افزایش حملات از این قبیل می باشد. حمله (Denial-of-service (DoS و حمله (distributed denial-of-service (DDoS حملاتی هستند که به منظور از سرویس خارج کردن و از کار انداختن دستگاه ها و سرورها استفاده می شوند. به طور مثال می توان استفاده از botnet برای حمله به یک سیستم را از این جمله برشمرد. اگر حمله از طریق یک دستگاه به منظور آسیب رساندن به یک asset (دارایی) صورت گیرد به عنوان یک حمله DoS شناخته می شود اما اگر حمله از طریق چندین دستگاه صورت گیرد به عنوان DDoS شناخته می شود. هدف هر دو نوع حمله یکسان می باشد و تفاوت DoS و DDoS تنها به اینکه در این حمله از چند دستگاه استفاده شده است باز می گردد.

حملات DDoS را می توان به سه دسته عمومی تقسیم کرد


  • Direct : حمله Direct DDoS زمانی اتفاق می افتد که مبدا حمله ، بسته ها را تولید کند بدون در نظر گرفتن پروتکل ، برنامه و … آنها به صورت مستقیم به قربانی حمله ارسال می شوند.
  • Reflected : حمله (reflected DDoS (RDDoS یکی از پیشرفته ترین و محبوبترین نوع از DDoS می باشد. حمله Reflected DDoS زمانی رخ می دهد که مبدا حمله ، بسته هایی Spoof (جعلی) ارسال می کند که به ظاهر نشان داده می شود که توسط قربانی حمله ارسال شده است و سپس مقصد پاسخ را برای قربانی ارسال می کند و ناخواسته در این حمله شرکت می کند. اغلب از UDP به عنوان مکانیزم انتقال استفاده می شود چون به دلیل عدم وجود three-way handshake ، راحت تر Spoof می شود. به طور مثال ، اگر مهاجم A قصد حمله به قربانی V را داشته باشد او بسته هایی را به مقصد S با مبدا V ارسال می کند (به طور مثال درخواست [Network Time Protocol [NTP ) حال سیستم S پاسخ را برای V ارسال می کند و V اصلا انتظار این بسته ها ندارد.
Image

 

  • Amplification : حمله Amplification نوعی از حمله reflected است که در آن ترافیک پاسخ داده شده از ترافیک ارسالی توسط مهاجم بسیار بزرگتر است. به طور مثال ، زمانی که یک درخواست DNS ارسال می شود پاسخ آن بسیار بزرگ تر از بسته درخواستی است. در نتیجه قربانی با طغیانی از بسته های بزرگ مواجه می شود که اصلا درخواست آنها را نداده است.

MPLS چگونه کار می کند؟ – بخش دوازدهم

با یک مقاله دیگه از سری مقالات MPLS در خدمت شما دوستان عزیز هستیم:

MPLS Maximum Receive :


(Maximum receive unit (MRU پارامتری است که توسط IOS سیسکو مورد استفاده قرار می گیرد و برای LSR مشخص می کند که بسته های label خورده مربوط به یک FEC با چه سایزی می توانند توسط LSR دریافت شوند و بتوانند بدون تکه تکه شدن ارسال شوند.این مقدار برای هر FEC یا شبکه مشخص می شود و فقط براساس اینترفیس نمی باشد و دلیل آن labelهایی است که در LSR به بسته اضافه یا حذف می شوند.
به عنوان مثال یک روتر را که MTU همه اینترفیس های آن برابر 1500 است را در نظر بگیرد. که به این معناست بزرگترین بسته ای که می تواند روی یک اینترفیس ارسال و دریافت شود 1500 بایت می باشد و با فرض اینکه بسته حداکثر می تواند دو label داشته باشد در نتیجه MPLS MTU بسته 1508 می شود که در کلیه اینترفیس ها این مقدار یکسان می باشد. و بسته های label خورده با سایز 1508 بایت می توانند روی همه لینک ها ارسال شوند. اگر عمل pop برای بسته دریافتی در نظر گرفته شده باشد بسته باید 4 بایت یا یک label بزرگتر باشد(1512 بایت) چون بسته قبل از ارسال باید یک label آن حذف شود اگر عمل push برای بسته در نظر گرفته شده باشد و یک label به بسته اضافه خواهد شد بسته دریافتی باید 1504 بایت باشد تا با اضافه شدن label اندازه آن 1508 بایت شود.
همین طور که دیدید عملیات روی label ها در تعیین MRU نقش دارند. چون عملیات روی label ها براساس FEC یا شبکه مشخص می شود MRU نیز براساس FEC یا شبکه مشخص می شود. به تصویر زیر توجه کنید که در آن MRU براساس شبکه و نسبت به عملی که روی بسته می خواهد انجام شود تغییر می کند. مقدار MRU را به ازای هر شبکه در تصویر زیر می بینید.

Image

MRU برای شبکه 10.200.254.2/32 برابر 1512 می باشد. بسته دریافتی می تواند 1512 بایت باشد چون بسته قبل از ارسال pop خواهد شد. MRU برای شبکه 10.200.254.3 برابر 1508 می باشد و اندازه بسته تغییر نخواهد کرد چون عمل swap روی بسته انجام می شود. MRU برای شبکه 10.200.254.4 برابر 1504 می باشد چون بسته دریافتی 1504 بایت خواهد بود و یک label به آن push خواهد شد و اندازه بسته 4 بایت افزایش خواهد یافت.

Fragmentation of MPLS Packets :


اگر LSR یک بسته label خورده دریافت کند که اندازه آن برای ارسال در data link بزرگ باشد بسته باید تکه تکه شود. این تکه کردن مشابه بسته های IP است. اگر یک بسته label خورده دست LSR برسد و LSR متوجه شود که این بسته نسبت به MTU آن بزرگ است باید آنرا تکه تکه کند که در ابتدا label stack را از روی بسته بر می دارد بسته IP را تکه تکه می کند بعد از اینکه روی label stack عمل مورد نیاز(pop , push , swap) را انجام داد. این label stack را به تمام تکه ها اضافه می کند و این تکه ها را ارسال می کند. تنها در صورتی که فیلد (Don’t Fragment (DF در هدر IP استفاده شده باشد LSR آنرا تکه نخواهد کرد و بسته را Drop کرده و یک پیام ICMP error با محتوای اینکه بسته نیاز به تکه تکه شدن دارد و از فیلد (Don’t Fragment (DF استفاده نشود (ICMP type 3, code 4) به مبدا بسته ارسال می کند. همانند پیام (ICMP message “time exceeded” (type 11, code 0 که در زمان انقضای TTL تولید و براساس LSP ارسال میشد این پیام نیز براساس LSP ارسال می شود تا به مبدا خود برسد.
در طور معمول تکه تکه کردن یا fragmentation روی کارایی اثر منفی می گذارد و باید از آن اجتناب کرد. یک روش برای اجتناب از تکه تکه کردن استفاده از Path MTU Discover است که در ادامه آنرا شرح می دهیم.

Path MTU Discovery :


یک روش برای اجتناب از fragmentation استفاده از Path MTU Discovery می باشد. در این روش فیلد (Don’t Fragment (DF در بسته های IP مورد استفاده قرار می گیرد و بسته ها ارسال می شود. زمانی که بسته به یک روتر برسد که آن روتر بسته را بدون fragmentation نتواند ارسال کند روتر بسته را drop می کند و یک پیام (ICMP error message Fragmentation needed and do not fragment bit set (ICMP type 3, code 4 به فرستنده بسته مبنی بر عدم استفاده از فیلد DF ارسال می کند. فرستنده بسته IP اینبار بسته را با سایز کوچکتری ارسال می کند و اگر دوباره این مشکل بوجود آمد مجدد سایز بسته را کم کرده و آنرا ارسال می کند. اینکار تا زمانی که مبدا ، پیام ICMP error دریافت نکند ادامه می یابد. اندازه اخرین بسته که با موفقیت ارسال شده است به عنوان اندازه بسته در نظر گرفته می شود و از آن برای ارسال بسته ها بین این مبدا و مقصد استفاده می شود. از این رو به آن MTU مسیر گفته می شود.
نکته : تضمینی برای اینکه Path MTU Discovery در همه شرایط کار کند وجود ندارد. در بعضی مواقع پیام های ICMP error به مبدا بسته برگشت داده نمی شوند. نرسیدن پیام های ICMP error به مبدا بسته می تواند علل مختلف داشته باشد که می توان به وجود فایروال ، استفاده از Access Control List و یا مشکلات مسیریابی اشاره کرد.

MPLS چگونه کار می کند؟ – بخش یازدهم

با یک مقاله دیگه از سری مقالات MPLS در خدمت شما دوستان عزیز هستیم:

TTL Expiration :


زمانی که یک بسته label خورده با TTL 1 دست LSR می رسد LSR آنرا drop می کند و یک بسته ICMP با پیام time exceede به مبدا بسته ارسال می کند. رفتار نسبت به بسته label خورده که TTL آن صفر شده با رفتار نسبت به یک بسته IP که TTL آن صفر شده است یکسان است. هرچند که پیام ICMP بلافاصله به مبدا بسته ارسال نمی شود چون این امکان وجود دارد که LSR مسیر رسیدن به آدرس مبدا بسته IP را نداند. در نتیجه پیام ICMP را براساس LSP که بسته را روی آن دریافت کرده است ارسال می کند.
در تصویر زیر نحوی ارسال پیام ICMP به آدرس میدا بسته IP در یک شبکه IP نمایش داده شده است.

Image

در تصویر زیر نحوی ارسال پیام ICMP را براساس LSP به سمت مبدا بسته نمایش داده شده است.

Image

دلیل ارسال پیام ICMP براساس LSP مربوط به بسته که TTL آن منقضی شده است این است که LSR نمی داند چگونه پیام ICMP را به مبدا بسته برساند. یک نمونه آن در شبکه MPLS VPN ، روترهای P اطلاعی از اینکه پیام ICMP را چگونه به مبدا بسته ارسال کنند ندارد چون هیچ مسیری برای ارسال پیام ICMP به مبدا بسته ندارد.(به طور معمولا روترهای P مسیرهای VPN را در خود نگه داری نمی کنند) از این رو P Router پیام ICMP براساس LSP بسته ارسال می کند. زمانی که این پیام به انتهای LSP برسد می تواند به سمت مبدا بسته برگشت داده شود. در شبکه های MPLS VPN پیام ICMP توسط egress PE یا CE که به PE متصل است برگشت داده می شود چون این روترها مسیر درست به مبدا بسته را دارند.
در P Router جایی که TTL بسته منقضی می شود ضروری است که بداند که MPLS payload چیست. payload بسته توسط P Router چک می شود که بسته IPv4 یا IPv6 هست یا خیر . اگر بسته IPv4 یا IPv6 باشد پیام ICMP را برای آن ایجاد می کند و براساس LSP آنرا ارسال می کند. اما اگر payload بسته IPv4 یا IPv6 نبود P Router نمی تواند بسته ICMP برای آن ایجاد کند. بنابراین در همه حالت ها P router بسته را drop می کند و پیام ICMP تولید نمی کند غیر از حالت IPv4 یا IPv6. حالتی که LSR بسته با TTL منقضی را فقط drop می کند AToM است. MPLS payload در AToM یک فریم لایه دو است نه یک بسته IP ، از این رو اگر TTL یک بسته AToM در یک P Router منقضی شود تنها کاری که P Router می تواند نسبت به آن انجام دهد drop کردن آن است چون نمی تواند برای آن IP lookup انجام دهد. همچنین تنها در صورتی که P Router از نسخه های جدید IOS سیسکو (IOS که از IPv6 پستیبانی کند) استفاده کنند می توانند ICMP IPv6 تولید کنند و به مبدا بسته آنرا برگشت دهند در غیر اینصورت بسته را drop می کند.

MPLS MTU :


با (Maximum transmission unit (MTU به عنوان یک پارامتر در دنیای IP آشنا هستید. MTU حداکثر سایز یک بسته IP را که امکان ارسال آن بدون تکه تکه کردن وجود دارد را مشخص می کند. در شبکه MPLS نیز یک MTU مشخص برای بسته های label خورده وجود دارد. در یک شبکه MPLS که روی یک شبکه IPv4 اجرا شده است هر بسته IPv4 یک یا چند label دارد که باعث می شود که بسته های label خورده از بسته های IP کمی بزرگتر باشند. چون برای هر label ، 4 بایت به بسته اضافه می شود بنابراین اگر n تعداد label ها باشد مقدار n*4 به سایز بسته زمانی که label می خورد اضافه می شود.
دستور MTU در اینترفیس مشخص می کند که یک بسته می تواند حداکثر چه سایزی داشته باشد و بدون تکه تکه کردن بتواند در data link ارسال شود. در Ethernet به صورت پیش فرض مقدار MTU برابر 1500 است. به هر حال زمانی که label به تعداد n به بسته اضافه می شود و سایز بسته به مقدار n*4 بایت افزایش پیدا می کند و باعث می شود که اندازه بسته از مقدار MTU مشخص شده بیشتر شود و بسته نیاز به تکه تکه شدن داشته باشد.
در IOS سیسکو با استفاده از دستور mpls mtu در اینترفیس مورد نظر خود می توانیم حداکثر اندازه بسته label خورده را مشخص کنیم. به طور مثال اگر بدانیم که بسته در هنگام ارسال در شبکه MPLS حداکثر دو عدد label خواهد داشت می توانیم با دستور بالا مقدار mtu را 1508 مشخص کنیم. در نتیجه همه بسته ها با حداکثر دو label می توانند بودن نیاز به تکه تکه شدن ارسال شوند. مقدار پیش فرض MPLS MTU با MTU اینترفیس برابر است.
در تصویر زیر نحوی تغییر MTU نمایش داده شده است:

Image

زمانی که بسته label می خورد به همان نسبت حجم آن افزایش پیدا می کند. اگر بسته IP از حداکثر میزان MTU استفاده کرده باشد در زمان ارسال با توجه به اینکه به بسته label می خورد حجم بسته کمی افزایش پیدا می کند. در نتیجه فریم لایه دو به یک فریم بزرگ تر تبدیل می شود و نیاز به تکه شدن دارد. به این فریم ها Baby Giant Frames گفته می شود.
به طور مثال در Ethernet : بسته می تواند که حداکثر 1500 بایت باشد و اگر بسته از کل 1500 بایت استفاده کرده باشد و label به آن اضافه شود. بسته برای ارسال کمی بزرگ می باشد. این امکان وجود دارد این چند بایت نادیده گرفته شود و بسته ارسال شود با اینکه اینکار با مشخصات Ethernet مطابقت ندارد و این بسته ها باید drop شوند. این کار تنها در صورتی امکان پذیر است که کلیه روترها و سوئیچ های در شبکه Ethernet امکان ارسال و دریافت بسته هایی با چند بایت بیشتر از حداکثر ظرفیت را MTU داشته باشند.
در Ethernet در LSR شما می توانید که MPLS MTU را برابر 1508 بایت قرار دهید که به شما اجازه می دهد بسته IP با سایز 1500 و حداکثر دو label داشته باشید. در این حالت اگر روتر این سایز از بسته را پشتیبانی نکند و یا یک سوئیچ در بین راه وجود داشته باشد بسته drop خواهد شد. در اینصورت با کم کردن MTU به 1492 قادر به ارسال بسته خواهید بود.
نکته : در برخی از نسخه های سیسکو شما نمی توانید MPLS MTU را از MTU اینترفیس بزرگتر در نظر بگیرد.
در سوئیچ می توان تغییراتی در MTU اعمال کرد که بتواند فریم های بزرگتر را حمل کند. در تصویر زیر نحوی فعال سازی jumbo Ethernet frames نمایش داده شده است.

Image

پیاده سازی 802.1x – بخش ششم

در سری مقالات قبلی 802.1x شما با مفاهیم و کلیات این تکنولوژی آشنا شدید و از این قسمت به بعد می خواهیم وارد مباحث پیاده سازی این تکنولوژی شویم. با ما همراه باشید.

پیاده سازی 802.1x :


802.1x توسط IEEE به عنوان یک استاندارد ارائه شده است که به وسیله آن می توانیم دستگاه های متصل به شبکه را تایید هویت کنیم و دسترسی آنها را کنترل کنیم و همچنین از دسترسی دستگاه هایی که هویت آنها تایید نشود جلوگیری کنیم. برای تایید هویت و کنترل دسترسی ما نیاز به Supplicant (کلاینت) ، یک authenticator (مانند روتر و سوئیچ) و یک authentication server داریم. در این بخش نحوی طراحی و پیاده سازی 802.1x را مورد بررسی قرار خواهیم داد.
در تصویر زیر اجزای مورد نیاز برای پیاده سازی 802.1x نمایش داده شده است :

Image

این تایید هویت و کنترل دسترسی باعث می شود قبل از دریافت هرگونه سرویسی روی پورت هر کلاینت باید تایید هویت شود. قبل از اینکه پورت در وضعیت authorized قرار گیرد 802.1x تنها اجازه عبور ترافیک (Extensible Authentication Protocol over LAN (EAPOL) ، Cisco Discovery Protocol (CDP و (Spanning Tree Protocol (STP را روی پورت می دهد.
فعال کردن 802.1x روی پورت های لایه 2 از نوع Access و همچنین پورت های لایه 3 امکان پذیر است اما امکان فعال کردن 802.1x روی پورت های dynamic یا trunk و همچنین روی پورت های که در حالت (Switched Port Analyzer (SPAN یا (Remote SPAN (RSPAN قرار دارند وجود ندارد.

پیش نیاز های پیاده سازی 802.1x :


در این بخش پیاده سازی 802.1x را به صورت ساده بررسی می کنیم. نحوی تایید هویت کاربر جهت دسترسی به شبکه را مورد بررسی قرار می دهیم. تایید هویت Supplicant براساس کاربر انجام خواهد گرفت. تایید هویت براساس کامپیوتر را در بخش های بعدی پیاده سازی خواهیم کرد. در این بخش نحوی انتخاب بین گزینه موجود در بخش های مختلف را مورد بررسی قرار می دهیم . در این بررسی به ابزار های زیر نیاز خواهیم داشت :

  • یک Authenticator مانند یک سوئیچ Catalyst
  • یک Authentication Server مانند Cisco Secure ACS
  • یک Supplicant مانند (Cisco Secure Services Client (CSSC

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

  • مشخص کردن اینکه روی کدام سوئیچ ها می خواهیم 802.1x را پیدا سازی کنیم.
  • مشخص کردن اینکه از چه دیتابیسی برای تایید هویت کاربران استفاده شود مانند Windows Active Directory ، ACS و …
  • مشخص کردن اینکه چه نوع کلاینت هایی ( پلتفرم و سیستم عامل) می خواهند از شبکه استفاده کنند.
  • مشخص کردن اینکه مسیر ارتباطی بین Suppliant و Authentication Server یک مسیر امن و مطمئن است یا خیر؟

 

انتخاب بین گزینه های موجود :


براساس اطلاعات جمع آوری شده در پیاده سازی 802.1x شما می توانید انتخاب هایی داشته باشید. برخی از این انتخاب ها به شرح زیر هستند :

  • انتخاب روش EAP : چندین روش EAP برای انتخاب وجود دارد. که براساس نیاز شما و ویژگی های این روش ها که قبلا توضیح داده شد می توانید یک روش که مناسب شرایط و نیاز های شما است را انتخاب کنید. به طور مثال اگه می خواهید از پسورد های ساده استفاده کنید می توانید روش EAP-FAST را انتخاب کنید یا اگر بخواهید از نرم افزارهای جانبی استفاده نکنید و از امکانات سیستم عامل استفاده کنید می توانید از PEAP استفاده کنید که توسط سیستم عامل ویندوز 7 پشتیبانی می شود استفاده کنید و یا اینکه اگر بخواهید هر دو کلاینت و سرور یکدیگر را تایید هویت کند می توانید از روش هایی مانند LEAP یا PEAP استفاده کرد. همانطور که دیدید براساس شرایط و نیازهای ما می توان از بین روش های EAP یک روش را برای شبکه خود در نظر گرفت.
  • انتخاب Supplicant : شما می توانید از supplicant هایی که توسط سیستم عامل یا به وسیله نرم افزار های جانبی فراهم شده اند استفاده کنید. به طور مثال PEAP توسط ویندوز 7 ارائه می شود و یا نرم افزار (Cisco Secure Services Client (CSSC به عنوان یک نرم افزار Supplicant ارائه شده است.

 

مراحل کلی پیاده سازی :


پیاده سازی 802.1x شامل مراحل زیر است :

  • مرحله اول : در این مرحله دستگاه هایی مانند سوئیچ یا Access Point به عنوان authenticator تنظیم می شود.
  • مرحله دوم : تعریف guest VLAN و restricated VLAN (این مرحله اختیاری می باشد)
  • مرحله سوم : فعال کردن روش EAP مانند EAP-FAST در Authentication Server مانند Cisco Secure ACS و همچنین تعریف کاربران در آن
  • مرحله چهارم : تنظیم 802.1x در Supplicant مانند (Cisco Secure Services Client (CSSC در کلاینت

مفاهیم VLAN و Trunking

از تصویر زیر برای توضیح این مبحث استفاده خواهد شد.

Image

 

VLAN چیست؟


یک راه برای اینکه یک شبکه لوکال را معرفی کنیم این است که تمام دستگاه در یک LAN دارای یک شبکه ای IP یکسان هستند و همه آنها در لایه دو و در یک broadcast domain قرار دارند. یک (virtual LAN (VLAN یک نام دیگر برای broadcast domain لایه دو است. VLAN ها توسط سوئیچ کنترل می شوند. سوئیچ کنترل می کند که هر پورت به کدام VLAN مرتبط است. در تصویر بالا ، اگر سوئیچ ها با تنظیمات پیش فرض باشند تمامی پورت ها به VLAN 1 اختصاص داده می شوند که به این معناست کلیه دستگاه ها که شامل دو کاربر و روتر می شوند در یک broadcast domain یا VLAN قرار دارند.
زمانی که شما صدها کاربر داشته باشید شاید بخواهید این کاربران را در گروه های مجزا قرار داده و آنها را به Subnet و VLAN خاص اختصاص دهید. برای اینکار ، شما پورت های سوئیچ را به VLAN مورد نظر اختصاص می دهید و از این به بعد هر دستگاهی که به این پورت متصل شود عضو آن VLAN خواهد شد. در نتیجه این دستگاه می تواند با سایر دستگاه هایی که در این VLAN قرار دارند ارتباط برقرار کند.
در تصویر بالا اگر بخواهیم دو کاربر را در VLAN جدید قرار دهیم باید روی سوئیچ ها VLAN جدید را ایجاد کنیم و سپس پورت را در حالت Access قرار داده سپس پورت را به VLAN مورد نظر اختصاص می دهیم. این کار در مثال زیر نمایش داده شده است.

Image

 

  • نکته : مشابه این تنظیمات را باید در سوئیچ SW2 با درنظر گرفتن شماره پورت متصل به کاربر انجام شود.

در هنگام داشتن دو کاربر در یک VLAN یکسان ، اما در سوئیچ های فیزیکی متفاوت باید ارتباط از نوع Trunk بین دو سوئیچ باشد. با تنظیم کردن دو پورت متصل به یکدیگر در دو سوئیچ در حالت ترانک امکان حمل اطلاعات اضافی محیا می شود این اطلاعات اضافه به عنوان tag شناخته می شود و شامل یک شماره شناسایی است که نشان می دهد فریم به کدام VLAN تعلق دارد. پروتکل 802.1Q یک پروتکل استاندارد برای این tag کردن است.
در تصویر بالا و با تنظیمات قبلی دو کاربر با اینکه در یک VLAN یکسان هستند نمی توانند با یکدیگر ارتباط برقرار کنند چون لینک ارتباطی بین دو سوئیچ به عنوان Trunk تنظیم نشده است. برای اینکار در ابتدا باید نوع کپسوله کردن را در حالت dot1q قرار دهیم سپس پورت را به عنوان Trunk فعال می کنیم.

Image

 

نحوی جریان فریم ها به صورت مرحله به مرحله


یک فریم Broadcast که از PC1 ارسال شده است و به دست سوئیچ SW1 می رسد باید با tag VLAN 10 روی پورت Trunk ارسال شود سوئیچ SW2 با دریافت فریم و دیدن tag VLAN 10 متوجه می شود که باید آنرا روی پورت های اختصاص یافته به VLAN 10 ارسال کند در نتیجه با حذف tag آنرا روی پورت ها مورد نظر ارسال می کند در نتیجه فریم به دست PC2 می رسد. این دو قسمت یعنی access و trunk ، دو قسمت اصلی برای ساخت بلاک های مجزا در سوئچینگ لایه دو است.

Native VLAN در Trunk


براساس خروجی در آخرین مثال ، ما اینترفیس trunk بین دو سوئیچ را بررسی کردیم. یک گزینه که در این خروجی نمایش داده شده است native VLAN است. به صورت پیش فرض VLAN 1 به عنوان native VLAN است. این به چه معناست و چی اهمیتی دارد؟ اگر یک یوزر به یک پورت access که عضو VLAN 1 در سوئیچ SW1 متصل باشد و یوزر یک فریم broadcast ارسال کند زمانی که فریم توسط سوئیچ SW1 بخواهد به سمت سوئیچ SW2 ارسال شود چون این فریم مربوط به VLAN 1 است و VLAN 1 به عنوان native vlan است فریم بدون tag ارسال خواهد شد. در سمت مقابل سوئیچ SW2 در صورت دریافت یک فریم بودن tag متوجه می شود که این فریم متعلق به native VLAN یعنی VLAN 1 است.
این ویژگی می تواند به عنوان یک معظل امنیتی باشد که به آن VLAN Hopping گفته می شود مهاجم می تواند از این ویژگی سواستفاده کند.

تعیین وضعیت پورت


یک پورت برای trunk شدن می تواند با سوئیچ مقابل یا دستگاهی که trunk را پشتبانی می کند به صورت خودکار مذاکره کند. این مذاکره تعیین می کند پورت در حالت access یا trunk باشد. این مذاکره به صورت خودکار می تواند یک ریسک باشد چون یک مهاجم می تواند با مذاکره پورت را در حالت trunk قرار دهد سپس می تواند به تمامی VLAN های موجود دسترسی پیدا کند.