همیشه بهتر است برای کسب جزئیات به منابع مطمئن و موثق مراجعه کنید. در این
مورد بهتر است به منبع RFC 2138 که در مورد RADIUS و جزئیات آن است،
مراجعه کنید. اگر مانند بسیاری از مردم تمایلی به خواندن RFCها و اطلاعات
جامع آنها ندارید، در اینجا خلاصهای از آن شرح داده میشود. یکی از
مهمترین نکاتی که در مورد RADIUS باید بدانید، آن است که این پروتکل از
روشهای احرازهویت گوناگونی پشتیبانی میکند. از این روشها میتوان PPP
،PAP و CHAP را نام برد. اگر با محصولات سیسکو آشنایی داشته باشید یا
پشتیبانی از مسیریابها و سوییچهای آن به عهده شما باشد، بیشک با روشهای
مختلفی که RADIUS ارائه میکند، آشنایی دارید.
مثلاً هنگامی که
یک کاربر، ترکیب نام کاربری و رمز عبور خود را وارد میکند و سرور RADIUS
آن را دریافت مینماید، سرور RADIUS اعتباراتی را که کاربر ارائه داده است
با اطلاعات موجود در پایگاه داده خود مقایسه میکند و براساس آن، اجازه یا
عدم اجازه استفاده از منابع را صادر مینماید. علاوه بر ترکیب نام کاربری
و رمز عبور، اعتبار پورت ارتباطی را نیز مشخص میکند.
سرور RADIUS به این صورت کار میکند:
Access-Request: در این مرحله سرور یک challenge میفرستد و کاربر باید به آن پاسخ دهد.
براساس کنترل دسترسی ذکر شده بالا، اعتبار لازم به کار داده میشود و یا اجازه دسترسی به او داده نمیشود.
همانطور
که گفته شد، RADIUS از UDP به عنوان پروتکل انتقال خود استفاده میکند.
این امکان هنگام طراحی پروتکل برای آن در نظر گرفته شده است. UDP فواید خاص
خود را دارد. اصلیترین این فواید پیچیدگی کمتر و سرعت بالااست. به این
دلیل، UDP نسبت به TCP به عنوان پروتکل مناسبتر برای RADIUS انتخاب شده
است.
در آخر، باید این مطلب را اضافه کنیم که RADIUS نیز مانند
سایر پروتکلهای لایه Application، کدهایی دارد که درون عملکرد هسته آن،
نوشته شده است. این کدها مربوط به دسترسی، حسابرسی و وضعیت RADIUS با توجه
به سرور و کلاینت بودن آن است. برای کسب اطلاعات بیشتر مطالعه RFC
2138 پیشنهاد میشود.
+TACACS و TACACS
کنترلکننده
دسترسی ترمینال و سیستم کنترل دسترسی TACACS، مشابه RADIUS است و برای
کنترل دسترسی در شبکه به کار میرود. فرق اساسی TACACS و RADIUS آن است که
TACACS برخلاف RADIUS ازTCP به عنوان پروتکل انتقال استفاده میکند.
همچنین سه نسخه از TACACS موجود است که +TACACS آخرین نسخه آن است.
قابل
توجه است که +TACACS با سایر نسخههای قدیمیتر TACACS سازگار نیست. این
پروتکل یک پروتکل لایهApplication است و مدل کلاینت/ سرور را رعایت
میکند. TACACS+ یک پروتکل معروف است و پورت معروفی نیز برای آن در نظر
گرفته شده است؛ پورت 49 از پروتکل انتقال TCP.
تفاوت قابل توجه دیگر آن است که RADIUS فقط اسم کاربر را در پکت ارسالی به سرور رمزگذاری میکند.
اما +TACACS تمام پکت ارسالی را رمزگذاری میکند. ولی هدر TACACS+ را دست نخورده باقیگذارد.
+TACACS
ضعفهایی نیز دارد که موجب میشود هکرها به راحتی آن را هدف قرار دهند.
این پروتکل نسبت به حملهای موسوم به حمله روز تولد (Birthday
attack) آسیبپذیر است.
اما تفاوت های اینها :
TACACS+ پروتکل اختصاصی شرکت سیسکو هستش
RADIUS عمومی هستش و مال IETF
TACACS+ کل بسته را کد گذاری می کند
RADIUS فقط بسته های های اولیه حامل رمز را کد گذاری می کند
TACACS+ سه فرآیند بالا را کاملا جداگانه در نظر می گیرد و با آنها برخورد متفاوت و مستقل از دیگری دارد
RADIUS در واقع Authentication, و Authorization را ترکیب می کند و اجرای یکی از آنها بدون دیگری عملا با مشکلاتی روبرو میشود
TACACS+ از پروتکل های مختلفی چون NOVEL NASI، Netbios Frame Control Protocols، X.25، AppleTALK و ... پشتیبانی می کند
RADIUS هیچ کدام را ساپورت نمیکند
TACACS+ می تواند میزان دسترسی یوزر و حتی فرامینی را که وی می تواند روی روتر اجرا کند تعیین نماید
RADIUS نمی تواند این کار را انجام دهد
TACACS+ از TCP 49 استفاده می کند
RADIUS قبلا از UDP 1645 , 1646 استفاده میکرد و نسخه های جدید آن پیش فرض از UDP 1812 , 1813 استفاده می کنند
برای راه اندازی سرور روی روتر یا سوییچ مراحل بسیار ساده ای لازم است.
اول با این دستور به طور کلی استفاده از AAA را فعال می کنیم.
R(config)# aaa new-model
حال با این دستور سرورهای TACACS یا RADIUS را معرفی می کنیم
R(config)# tacacs-server host 172.16.10.10 key mhdganji
R(config)# radius-server host 172.16.10.10 key mhdganji
حال میخواهیم بگوییم برای مثلا Auth از کدام سرور استفاده شود
R(config)# aaa authentication login default group radius
حالا میخواهیم بگوییم اول TACACS اگر نشد RADIUS و اگر نشد از پسوردهای لوکال ذخیره شده
R(config)# aaa authentication login default group tacacs group radius local
حالا می خواهیم بگوییم اگر هیچ کدام نشد اصلا نمیخواد رمز بپرسی. طرف رو بدون تصدیق اعتبار بفرست تو (که مشخصه ریسک امنیتی هستش)
R(config)# aaa authentication login default group tacacs group radius none
.................................................
منابع:
persianadmins
وبلاگ شبکه قم