Posts

802.1x و IBNS چیست و چگونه امنیت دسترسی به شبکه را فراهم می کند؟ – بخش پنجم

در ادامه مباحث 802.1x در خدمت شما دوستان هستیم.

EAP–Transport Layer Security :


EAP-TLS یک استاندارد است که توسط مایکروسافت توسعه یافت و توسط (Internet Engineering Task Force (IETF پذیرفته شد. این پروتکل بر پایه پروتکل (Transport Layer Security (TLS می باشد. همانند متد Cisco LEAP در EAP-TLS نیز هر دو کلاینت و سرور یکدیگر را تایید هویت می کنند. هرچند که در این روش پسورد مورد استفاده قرار نمی گیرد و بجای آن از RSA استفاده می شود. EAP-TLS از Certificate برای تایید هویت کلاینت و سرور استفاده می کند.
در فاز اول Radius Server برای کلاینت Certificate خود را ارسال میکند و کلاینت برای بررسی صحت Certificate ارسالی توسط Radius server محتوای Certificate را با صادر کننده آن یعنی (certificate authority (CA چک می کند. بعد از اینکه این مرحله با موفقیت انجام شد. در فاز دو کلاینت Certificate خود را برای Radius Server ارسال می کند Radius Server نیز محتوای Certificate دریافتی را با صادر کننده آن بررسی می کند. بعد از اینکه این مرحله نیز با موفقیت به اتمام رسید یک پیام EAP-Success به کلاینت ارسال می کند.
مزیت EAP-TLS امنیت بالای آن بخاطر استفاده از یکی از قویترین روش های تایید هویت حال حاضر است. مشکل آن پیچیده گی زیاد آن در راه اندازی است چون نیاز به اجزای بیشتری مانند (certificate authority (CA دارد و همچنین نیاز به پردازش بالاتری نسبت به سایر روش ها در هر دو سمت سرور و کلاینت دارد.
در تصویر زیر یک نمونه آن نمایش داده شده است :

Image

 

EAP–Tunneled Transport Layer Security :


EAP-TTLS یک توسعه برای EAP-TLS می باشد و به لحاظ عملکرد شبیه PEAP می باشد و دارای دو فاز است. EAP-TTLS همانند EAP-TLS از TLS برای ایجاد یک تانل بین authentication server و supplicant مورد استفاده قرار می گیرد که فاز یک را تشکیل می دهد. EAP-TTLS همانند PEAP از تانل TLS برای کپسوله کردن استفاده می کند اما تفاوت آن با PEAP پشتیبانی از روش هایی غیر از متدهای EAP مانند (PPP Authentication Protocol (PAP و (PPP Challenge Handshake Authentication Protocol (CHAP می باشد. EAP-TTLS بر خلاف EAP-TLS نیاز به تایید هویت هر دو سمت یعنی کلاینت و سرور ندارد که باعث می شود تنظیمات ساده تر شود.
در تصویر زیر نمونه آنرا می بینید :

Image

 

EAP–Flexible Authentication via Secure Tunneling :


(EAP–Flexible Authentication via Secure Tunneling (EAP-FAST توسط سیسکو ارائه شده است. سیسکو EAP-FAST را برای پشتیبانی از مشتریان که نیاز به سیاست های قوی در زمینه پسورد دارند و نیاز به راه اندازی Certificate ندارند ارائه کرده است. EAP-FAST حفاظت در برابر حملات مختلف را برای ما به ارمغان می آورد شامل حملاتی مانند man-in-themiddle و replay و dictionary attacks
فاز 1 یک تانل امن ایجاد می کند که کلاینت و سرور با استفاده (Protected Access Credential (PAC یکدیگر را تایید هویت کرده و این تانل امن را برقرار می کنند.
فاز 2 تایید هویت کلاینت را در تانل ایجاد شده انجام می دهد کلاینت یوزر و پسورد خود را برای تایید هویت ارسال می کند. در EAP-FAST برقراری تانل متکی به PAC و توسط authentication server مدیریت می گردد.
در تصویر زیر نمونه آنرا می بینید :

Image

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

802.1x و IBNS چیست و چگونه امنیت دسترسی به شبکه را فراهم می کند؟ – بخش سوم

در ادامه مباحث 802.1x در خدمت شما دوستان هستیم.

(EAP over LAN (EAPOL :


در بستر LAN ارتباط بین supplicant و authenticator توسط EAPoL انجام می گیرد. EAPoL از رسانای انتقال مختلفی از جمله Ethernet ، Token Ring ، FDDI و WLANs پشتیبانی می کند. EAPoL این قابلیت را فراهم می کند که بسته های EAP توسط ماکنیزم MAC در LAN اداره شوند.
فریم EAPoL نسبتا ساده است که در تصویر زیر نمایش داده شده است. EAP درون یک فریم کپسوله شده است.

Image

MAC Address مبدا و مقصد هر دو یک فیلد 6 بایتی هستند و مشابه همه بسته های نرمال Ethernet مورد استفاده قرار می گیرند. MAC Address مقصد همیشه مقدار 01:80:C2:00:00:03 که مربوط به (Port Access Entity (PAE می باشد را به خود می گیرد.
فیلد PAE Ethernet دو بایتی است و همیشه مقدار 88:8E را دارد.
فیلد Packet Type یک بایتی است و مقدار آن نشان دهنده نوع بسته می باشد که در جدول زیر این مقادیر نمایش داده شده است.

Image

فیلد Packet Body Length یک فیلد دو بایتی است و طول بسته را مشخص می کند. زمانی که نوع بسته یکی از انواع EAP-Packet ، EAPOL-Key و EAPOL-Encapsulated-ASP-Alert باشد این فیلد مورد استفاده قرار می گیرد.

EAP Message Exchange :


تبادل پیام ها و بسته های EAP می تواند برای فهم سخت باشد در تصویر زیر یک نمونه آن نمایش داده شده است. این نکته را همیشه در نظر بگیرد که بسته های EAP به صورت EAPoL کپسوله می شوند و بین supplicant و authenticator تبادل می شوند. بین authenticator و authentication server نحوی کپسوله کردن بسته ها به Radius Server بستگی دارد.

Image

مراحل زیر را دنبال کنید تا متوجه شوید در هر مرحله چه اتفاقی می افتد:

  • مرحله 1 : در اولین مرحله supplicant یک فریم EAPoL-Start به authenticator ارسال می کند تا به آن اعلام کند که آماده تایید هویت است. اگر authenticator شروع کننده این ارتباط باشد هیچ بسته ای تحت عنوان EAPoL-Start ارسال نخواهد شد.
  • مرحله 2 : در اینجا authenticator به محض اینکه تشخیص دهد که لینک فعال شده است یک بسته EAP-Request/Identity به supplicant ارسال می کند. (به طور مثال کلاینت به یک پورت سوئیچ متصل شود)
  • مرحله 3 : در این مرحله supplicant یک بسته EAP-Response/Identity به authenticator ارسال می کند. Authenticator بسته دریافتی را به authentication server ارسال می کند. نحوی انتقال درخواست از supplicant به authentication server به پروتکل مورد استفاده Radius Server بستگی دارد.
  • مرحله 4 : در اینجا authentication server یک challenge مانند token password system به authenticator ارسال می کند. Authenticator آنرا از بسته IP خارج کرده و درون EAPoL کسپوله می کند و آنرا به سمت supplicant ارسال می کند. با توجه به نوع Authentication این پیام ها و تعداد آنها می تواند متفاوت باشد. EAP می تواند از دو حالت Authentication پشتیبانی کند در حالت اول فقط کلاینت توسط authentication server تایید هویت می شود ولی در حالت دوم authentication server کلاینت را تایید هویت می کند و همچنین کلاینت authentication server را تایید هویت می کند. بهتر است که حالت دوم در محیط های وایرلس مورد استفاده قرار گیرد.
  • مرحله 5 : سپس supplicant به challenge پاسخ می دهد که این پاسخ از طریق authenticator به authentication server ارسال می شود.
  • مرحله 6 : اگر هویت supplicant تایید شود authentication server یک پیام تصدیق هویت ارسال می کند که بعد از دریافت توسط authenticator این پیام به supplicant ارسال می شود و از این لحظه authenticator اجازه دسترسی به شبکه را می دهد اما این دسترسی می تواند براساس اطلاعات ارسالی توسط authentication server محدود شود. به طور مثال authenticator باید برای supplicant یک VLAN بسازد و یا برای آن یک ACL در نظر بگیرد.

 

Port State :


زمانی که از 802.1x استفاده می کنید پورت می تواند در یکی از سه وضعیت زیر قرار بگیرد :

  • Auto : در این حالت ، در ابتدا پورت در حالت unauthorized (غیر مجاز) قرار می گیرد و تنها ترافیک EAPOL ، CDP و STP را اجازه عبور می دهد. بعد از اینکه تایید هویت supplicant انجام شد. پورت در حالت authorized (مجاز) قرار می گیرد و اجازه عبور ترافیک را به صورت نرمال می دهد.
  • Forced-Authorized : در این حالت ، 802.1x روی پورت غیر فعال می شود و ترافیک به صورت نرمال و بدون هیچ محدودیتی جریان پیدا می کند. زمانی که 802.1x به صورت globally فعال نشده باشد این حالت پیش فرض می باشد.
  • Forced-Unauthorized : در این حالت ، پورت هیچ ترافیکی را عبور نمی دهد حتی ترافیک مرتبط با تایید هویت را قبول نمی کند.

اگر 802.1x در یک پورت سوئیچ فعال شود پورت در حالت Auto قرار می گیرد. زمانی که پورت در وضعیت Auto قرار گیرد در ابتدا پورت در حالت unauthorized قرار می گیرد و supplicant نیاز به تایید هویت دارد. بعد از اینکه تایید هویت supplicant انجام شد پورت در وضعیت authorized قرار می گیرد و اجازه عبور ترافیک را از کلاینت به منابع شبکه را می دهد. اگر کلاینت از 802.1x پشتیبانی نکند سوئیچ نمی تواند آنرا تایید هویت کند مگر اینکه امکان استفاده از MAB فراهم شده باشد یا guest VLAN تعریف شده باشد.

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

802.1x و IBNS چیست و چگونه امنیت دسترسی به شبکه را فراهم می کند؟ – بخش دوم

در ادامه بحث 802.1x در خدمت شما دوستان هستیم.

  • Access control list (ACL) assignment :توسط 802.1x این امکان وجود دارد که اختصاص ACL به صورت دینامیک انجام شود. این ویژگی به مدیر این توانایی را می دهد که دسترسی کاربر را به منابع خاص شبکه محدود کند. می تواند اینکار را بدون در نظر گرفتن موقعیت استقرار کاربر انجام دهد و این ویژگی برای کاربرانی که در حال حرکت هستند بسیار مفید است.
  • Inaccessible Authentication Bypass : این ویژگی این امکان را می دهد که دستگاه هایی که از حساسیت خاصی در شبکه برخوردار هستند حتی در صورتی که RADIUS Server از سرویس دهی خارج شده باشد اجازه عبور ترافیک خود را داشته باشند و زمانی که RADIUS Server به سرویس دهی بازگشت به صورت خودکار تایید هویت را انجام دهد.
  • (MAC Authentication Bypass (MAB : اگر از این ویژگی استفاده شود می توانید دستگاه هایی را که از 802.1x پشتیبانی نمی کنند را تایید هویت کنید. اینکار با استفاده از MAC Address و تطبیق آن با اطلاعات RADIUS Server انجام می گیرد. این ویژگی بعد از اینکه از سمت کلاینت برای 802.1x درخواستی ارسال نشود انجام می گیرد.
  • Network Admission Control Layer 2 Validation : این ویژگی امکان بررسی وضعیت کلاینت را قبل از اینکه به آن اجازه دسترسی به شبکه را بدهد فراهم می کند. از این ویژگی برای بررسی آیتم هایی مانند فایروال ، آنتی ویروس و … می توان بهره برد.
  • (Web Authentication (WebAuth : این ویژگی این امکان را فراهم میکند که کاربر بتواند از طریق مرورگر احراز هویت شود. این ویژگی برای دستگاه هایی که از 802.1x پشتیبانی نمی کنند مناسب است.
  • (Flexible Authentication Sequencing (FlexAuth : این امکان را فراهم می آورد که چند روش برای تایید هویت در نظر بگیریم که در مرحله اول احراز هویت توسط 802.1x انجام می شود و در صورتی که تایید هویت انجام نشد روش بعدی یعنی MAB انجام می گیرد و در صورتی که این روش انجام نشد WebAuth فعال می گردد. امکان تغییر این ترتیب وجود دارد.
  • Open Access : این ویژگی باعث می شود حتی در صورت Fail شدن احراز هویت ، امکان دسترسی نرمال داده شود و معمولا در زمان پیاده سازی پروتکل 802.1x و خطایابی مورد استفاده قرار می گیرد.
  • Multi-Domain Authentication : زمانی که از این پورت در حالت Host استفاده شود به دستگاه اجازه می دهد که برای هر دو Domain یعنی Data و Voice عمل احراز هویت را انجام دهد.
  • (Multiple Authentications (MultiAuth : زمانی که پورت را در این حالت استفاده کنیم به پورت اجازه می دهیم که تمام دستگاه های متصل به این پورت را به صورت جداگانه تایید هویت کند به صورت پیش فرض اولین کاربر عمل احراز هویت را انجام می دهد و دیگران نیاز به احراز هویت برای استفاده از آن پورت را ندارند.
  • Remote Site IEEE 802.1x Local Authentication Service : زمانی که ما یک Remote Site داریم و امکان قطع شدن ارتباط آن و در نتیجه عدم دسترسی به RADIUS Server وجود دارد. این قابلیت این امکان را فراهم می کند که یک دستگاه به عنوان local RADIUS Server مشخص شود که در صورت قطع شدن ارتباط این دستگاه به عنوان Backup عمل می کند و مشکلی بابت سرویس دهی به وجود نمی آید.

 

اجزای تشکیل دهنده 802.1x :


IEEE در مکانیزم کاری 802.1x سه جزء را مشخص کرده است. که این سه جزء به شرح زیر هستند :

  • Supplicant : نقطه آغاز درخواست دسترسی به شبکه می باشد که می تواند یک کاربر ، دستگاه ، IP Phone و … باشد.
  • Authenticator : دستگاهی که بین Supplicant و Authentication server قرار دارد و درخواست تایید هویت کاربر را به سمت RADIUS Server ارسال می کند و براساس پاسخ RADIUS Server به کاربر یا دستگاه اجازه یا عدم اجازه دسترسی به شبکه را می دهد. به طور معمول کلاینت ها به صورت مستقیم به Authenticator متصل می شوند. دستگاه هایی مانند Switch و Access Point به عنوان Authenticator نقش ایفا می کنند.
  • Authentication server : سروری که تایید هویت Supplicant را انجام دهد نحوی ایجاد دسترسی یا عدم دسترسی Supplicant را به Authenticator می دهد. به طور مثال یک RADIUS Server مانند ACS می تواند به عنوان Authentication server سرویس دهی کند.

در تصویر زیر اجزای مختلف 802.1x را می بینید :

Image

نکته : قبل از اینکه Supplicant تایید هویت شود روی آن پورت تنها ترافیک (EAPOL ، Cisco Discovery Protocol (CDP و (Spanning Tree Protocol (STP اجازه عبور دارند. اما بعد ازاینکه تایید هویت به درستی انجام شد ترافیک به صورت نرمال روی پورت جریان پیدا می کند.

(Extensible Authentication Protocol (EAP :


EAP یک مکانیزم انتقال است که در 802.1x برای تایید هویت بین supplicants و Authenticator مورد استفاده قرار می گیرد. در 802.1x امکان تایید هویت توسط پروتکل های دیگر مانند (Password Authentication Protocol (PAP یا (Challenge Handshake Authentication Protocol (CHAP وجود ندارد. تصویر زیر فرمت بسته EAP نمایش داده شده است.

Image

توضیح این فیلدها به شرح زیر است :

  • Code : این فیلد یک بایتی نشان دهنده نوع بسته می باشد که انواع آن در جدول زیر نمایش داده شده است :
Image

 

  • Identifier : یک فیلد یک بایتی می باشد و به تطبیق پاسخ و درخواست کمک می کند.
  • Length : این فیلد دو بایتی طول بسته را مشخص می کند.
  • Data : این فیلد می تواند صفر یا چند بایت باشد و به وسیله فیلد Code فرمت آن مشخص می شود.