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

AAA Server یک برنامه نرم افزاری سرور است که امکان دسترسی کاربران را با منابع کامپیوتری شبکه برقرار می کند. این برنامه برای شبکه های Enterprise سرویس های Authentication ، Authorization و Accounting را فراهم می آورد. در واقع AAA Server با دسترسی شبکه ، سرورهای Gateway ، Database ها و جدول های اطلاعاتی کاربران در تعامل است . پروتکل استانداردی که اجازه ارتباط دستگاه ها و نرم افزارهای مختلف را با AAA Server می دهد RADIUS می باشد ( Remote Authentication Dial-In User Service (.

RADIUS یک پروتکل ارتباطی با ساختار Client-Server است همچنین آن را می توان سرویسی نرم افزاری نامید که ارتباط سرورهای دسترسی از راه دور را با سرور مرکزی جهت authentication کاربران تلفنی و authorize دسترسی آن ها به سیستم یا سرویسی خاص فراهم می آورد. RADIUS امکان گرد آوری اطلاعات کاربران شبکه را با Database مرکزی فراهم می آورد و این Database بین سرورهای دسترسی راه دور به اشتراک گذارده شده است و این خاصیت ، امنیت بهتر و سیاست گذاری دامین را در پی خواهد داشت. امروزه RADIUS بطور گسترده در مدیریت دسترسی به سرویس های شبکه کاربرد یافته است لذا استانداردی را در جهت تبادل اطلاعات بین سرورهای دسترسی شبکه و AAA Server فراهم آورده است.

Authentication ، Authorization و Accounting اصطلاحاتی در یک چهارچوب هستند که در کنترل هوشمند دسترسی کاربران نقش ایفا می کنند و پیشبرد سیاست گذاری ، اصلاح کاربرد و تهیه اطلاعات مورد نیاز جهت راه اندازی سرویس ها از فایده های دیگر آن است. این پردازش های ترکیبی برای مدیریت شبکه و امنیت آن کاملا ضروری هستند.

RADIUS یا TACACS+

این دو از پروتکل های رایج احراز هویت هستند که بطور عمده در شبکه های کامپیوتری مورد استفاده قرار می گیرند. پردازش های توضیح داده شده در این نوشتار مبتنی بر RADIUSخواهد بود اما در جهت آشنایی خوانندگان، گریزی بر TACACS+ و مقایسه آن با RADIUS خواهم زد.

TACACS بیشتر در تنظیمات روترهای شبکه با مکانیزم های متنوع Authentication نظیر DES(Data Encryption STANDARD) و OTP (One Time password) مورد استفاده قرار می گیرد همچنین قادر است تا 16 مرحله دسترسی را پشتیبانی کند نیز می تواند اجازه دسترسی به سرویس های مختلف شبکه را نظیر PPP ، Shell ، Standard Login و . . .فراهم آورد. AAA Server ای که از TACACS+ جهت Authentication استفاده می کند بیشتر به عنوان یک Proxy Server برای روترهای Cisco و NAS ها عمل می کند. TACACS+ از پاکت های TCP که Connection oriented می باشد استفاده می کند.

RADIUS توسط شرکت Livingston به عنوان استاندارد Authentication ایجاد شد و بیشتر جهت ISP های بزرگ کاربرد دارد. در قیاس با TACACS+ ، RADIUS CPU و RAM کمتری را اشغال می کند. RADIUS از پاکت های اطلاعاتی UDP که Connection less می باشد استفاده می کند.

RADIUS

  • از UDP استفاده می کند
  • رمزنگاری را فقط هنگامی درخواست دسترسی انجام می دهد
  • Authentication و Authorization را با هم انجام می دهد
  • استانداردی صنعتی است که توسط شرکت livingston ایجاد شده است
  • برخی از پروتکل ها نظیر ARA ، NASI و X.25 PAD را پشتیبانی نمی کند.
  • نحوه اجرای دستورات را روی روترها سنجش نمی کند

TACACS+

  • از TCP استفاده می کند
  • رمزنگاری را در درون Packet انجام می دهد و امنیت بالاتری دارد
  • عملیات Authentication ، Authorizationو Accounting را بطور مجزا انجام می دهد
  • از سرویس های ایجاد شده Cisco است
  • کلیه پروتکل ها را پشتیبانی می کند
  • دستورات روترها را از دو طریق کنترل می کند Per User و Per group

عملیات پردازش AAA Server :

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

AAA Server مشخصات کاربر را با Data Base مرکزی خود مقایسه کرده و درصورتیکه تطبیق داشته باشد دسترسی داده می شود و درغیر اینصورت دسترسی denied خواهد شد. در شبکه های خصوصی یا عمومی نظیر اینترنت Authentication با استفاده ازpassword logon صورت می گیرد. دانستن کلمه عبور درواقع دسترسی کاربر را به منابع مورد نیازش گارانتی می کند. از نقص های این سیستم می توان به دزدیده شدن کلمه عبور ، اتفاقی لو رفتن و فراموش کردن آن اشاره کرد به همین دلیل کسب و کار اینترنتی و معاملات بانکی و سایر فعالیت های مهم روی اینترنت و شبکه نیاز به پردازش هایی دیگر (به غیر از Authentication) خواهند داشت. استفاده از Digital Certification که توسط Certificate Authority یا CA مورد سنجش قرار می گیرد بخشی از ساختار کلید عمومی است که امروزه تبدیل به استاندارد Authentication روی اینترنت شده است.

پیرو Authentication صورت گرفته شده Authorization جهت انجام وظیفه های خاص پس از Login به سیستم صورت می گیرد. به عنوان مثال کاربر تصمیم به اجرای دستوراتی روی سیستم دارد. پردازش Authorization مشخص می کند که آیا کاربر اجازه اجرای آن دستورات خاص را دارد یا خیر. به بیان ساده تر Authorization پردازشی است برای کاربر که سیاست هایی خاص را در رابطه با نوع فعالیت ، کیفیت ، منابع و سرویس ها برقرار می کند. معمولا Authorization همراه با Authentication صورت می گیرد. درواقع

Authorization پردازشی است که به کاربر اجازه انجام دادن کاری و یا داشتن چیزی را می دهد. در سیستم های کامپیوتری چند کاربره ، سرپرست سیستم برای سیستم مشخص می کند که چه کاربرانی اجازه دسترسی به سیستم را دارند و حدود دسترسی آن ها چقدر است. به عنوان مثال به چه دایرکتوری دسترسی دارند، زمان دسترسی او چقدر است و یا حجم رسانه قابل ذخیره سازی او چه مقدار است و ...

وقتی کاربر به سیستم عامل یا برنامه کاربردی Login می کند، سیستم یا نرم افزار باید مشخص کند که چه منابعی باید به آن کاربر طی یک Session تخصیص داده شود.

قسمت آخر چهارچوب AAA ، Accounting می باشد که میزان استفاده کاربر را در طول دسترسی مشخص می کند. Accounting مشخص می کند که کاربر مجوز استفاده از چه مدت و به چه مقدار اطلاعات در طول برقراری یک Session را دارد.

AAA Server درخواست ایستگاه کاری را مبنی بر استفاده از منابع شبکه دریافت می کند و سعی در Authenticate کاربر می نماید سپس حدود دسترسی کاربر را به ایستگاه کاری ارسال می نماید. AAA Server ممکن است بصورت محلی Authentication را انجام دهد و یا اینکه مانند یک Proxy عمل کرده و درخواست را به AAA Server دیگری انتقال دهد. پس از Forward کردن درخواست این سرور انتقال اطلاعات را بین سرور دسترسی شبکه و AAA Server ادامه می دهد. در انتها میزان دسترسی کاربر با توجه به تنظیمات قبلی لحاظ می شود.

مفهوم دسترسی

دسترسی یا Access یعنی دستیابی ساده به آنچه که مورد نیازمان است. Data Access یعنی توانایی دستیابی به اطلاعات ویژه مورد نیازمان (که معمولا با اجازه دادن سیستم صورت می گیرد). دسترسی Web یعنی اینکه بتوانیم به شبکه جهانی وب از طریق یک ایجاد کننده دسترسی به اینترنت یا ISP وصل شده و از آن استفاده کنیم. دسترسی به اطلاعات معمولا در دو قالب فقط خواندنی و خواندنی/نوشتنی انجام می پذیرد.

روش های Authentication :

درزیر به برخی از روش های مرسوم Authentication اشاره شده است :

1- Password Authentication Protocol (PAP)

روش Authentication ساده ای برای برقراری یک ارتباط است. کلمه عبور بصورت Clear Tex بین کاربر و ایستگاه کاری مبادله می شود و هنگامیکه برای Authentication با RADIUS استفاده شود پیغام بین سرور وایستگاه کاری جهت برقراری یک ارتباط PPP مبادله می شود.

2- Challenge Handshake Authentication Protocol (CHAP)

روش قوی تری است که جهت Authentication بین ایستگاه کاری و سرور استفاده می شود. در این روش قبل از ارسال درخواست دسترسی ، اطلاعات اولیه کاربر میان ایستگاه کاری و سرور NAS یا Network Access Server رد و بدل شده و بعد از تصدیق هویت ، درخواست به AAA Server منتقل می شود.

3- Microsoft Challenge Handshake Authentication Protocol (MS-CHAP)

پروتکلی است که شرکت میکروسافت با توجه به روش CHAP برای ایجاد ارتباط امن ایستگاه های کاری دور خود ایجاد کرده است. درحالت کلی MSCHAP مشابه CHAPاست. تفاوت این پروتکل را می توان در دو مورد خلاصه کرد. این پروتکل برپایه Encryption و الگوریتم hash که توسط شبکه های ویندوزی ایجاد می شود عمل می نماید و همچنین پاسخ اولیه که توسط MS-CHAP برای Authentication ایجاد می شود کاملا منطبق بر سیستم عامل ویندوز است.

4- Extensible Authentication Protocol (EAP)

روش بسیار امن برای Authentication با انعطاف پذیری بیشتر است و قادر است با الگوریتم های مختلفی نظیر MD5 کار کند. همچنین EAP می تواند در قالب پروتکل های دیگر، Encapsulate شود لذا کاربرد آن وسیعتر از CHAP و PAP خواهد شد.

نتیجه سخن :

استفاده از راهکارهای جدید مدیریت شبکه و آسان نمودن پردازش های تکراری از اهداف استفاده از AAA Server است که هدف از آن مدیریت دسترسی متمرکز افراد به منابع شبکه است لذا در این راستا از سرویس های RADIUS و TACACS+ استفاده می شود.

Authentication ، Authorization و Accounting پردازش هایی هستند که جهت احراز هویت کاربر شبکه و میزان و وضعیت دسترسی او به منابع مختلف انجام می شوند.