آشنایی با کارکرد RADIUS سرور و روش کانفیگ آن

RADIUS سرور

RADIUS سرور با استفاده از RADIUS (Remote Authentication Dial-In User Service) که یک پروتکل استاندارد برای احراز هویت، مجوز دهی و نگهداری حساب (AAA) کاربران در شبکه‌های کامپیوتری است کار می‌کند. این پروتکل به‌طور گسترده در شبکه‌هایی که نیاز به کنترل دقیق دسترسی کاربران دارند، مانند شبکه‌های Wi-Fi، VPN، و سیستم‌های Hotspot استفاده می‌شود.

RADIUS سرور به‌صورت مرکزی عمل می‌کند و می‌تواند در ارتباط با انواع دستگاه‌ها و سرویس‌ها مانند روترها، سوئیچ‌ها و نقاط دسترسی (Access Points) میکروتیک و دیگر تجهیزات شبکه کار کند. پروتکل RADIUS به سه بخش اصلی تقسیم می‌شود: Authentication (احراز هویت) برای تأیید هویت کاربر، Authorization (مجوز دهی) برای تعیین سطح دسترسی کاربر، و Accounting (نگهداری حساب) برای ثبت و مدیریت فعالیت‌ها و مصرف کاربران.

روش کار RADIUS سرور

مکانیزم کاری RADIUS سرور به این صورت است که در یک کلاینت RADIUS (مانند روتر یا Access Point) وقتی کاربری برای اتصال به آن درخواست می‌دهد، اطلاعات هویتی او (مثل نام کاربری و رمز عبور) را به سرور RADIUS ارسال می‌کند. سرور RADIUS اطلاعات کاربر را بررسی کرده و اگر معتبر باشد، دسترسی را به او می‌دهد و سطح دسترسی و محدودیت‌های او را مشخص می‌کند.

روش کار با RADIUS سرور

برای مثال، در شبکه‌های دانشگاهی یا عمومی در ایران، RADIUS می‌تواند برای مدیریت کاربران Hotspot در خوابگاه‌ها یا کافی‌شاپ‌ها استفاده شود. در این مکان‌ها، کاربران باید ابتدا لاگین کنند تا اجازه دسترسی به اینترنت داشته باشند، و پروتکل RADIUS می‌تواند کنترل کاملی روی مدت زمان اتصال و حجم مصرفی آنها داشته باشد.

RADIUS سرور از طریق یک پایگاه داده کاربران یا Directory Service برای بررسی و تأیید صحت اطلاعات کاربری استفاده می‌کند. این پایگاه داده می‌تواند به صورت داخلی در خود سرور RADIUS باشد یا به یک سرویس خارجی مانند Active Directory (AD)، LDAP، یا به یک فایل متنی محلی متصل باشد.

اطلاعات کاربری معمولاً شامل نام کاربری و رمز عبور است که هنگام تلاش کاربر برای ورود به سیستم از طریق کلاینت RADIUS به RADIUS سرور ارسال می‌شود.

مکانیزم کاری تأیید حساب کاربری در RADIUS سرور

وقتی کاربر تلاش می‌کند به شبکه متصل شود (مثلاً به شبکه وای‌فای یا VPN)، دستگاه واسط (مثل روتر، Access Point یا VPN Gateway) به عنوان کلاینت RADIUS اطلاعات کاربری (نام کاربری و رمز عبور) کاربر را به سرور RADIUS می‌فرستد.

سپس RADIUS سرور این اطلاعات را با پایگاه داده‌ای که به آن متصل است (مثل Active Directory، LDAP، دیتابیس SQL، یا فایل‌های محلی) مقایسه می‌کند. RADIUS سرور بررسی می‌کند که آیا نام کاربری در پایگاه داده موجود است و رمز عبور ارسال‌شده با رمز عبور ثبت‌شده مطابقت دارد یا خیر.

پاسخ به درخواست کلاینت RADIUS

اگر اطلاعات صحیح باشد، RADIUS سرور، پاسخ Access-Accept می‌فرستد و به کلاینت RADIUS اجازه دسترسی کاربر به شبکه را می‌دهد.
اگر اطلاعات نادرست باشد (مثلاً نام کاربری یا رمز عبور اشتباه وارد شده باشد)، RADIUS سرور پاسخ Access-Reject ارسال می‌کند و دسترسی کاربر به شبکه را رد می‌کند.
به این ترتیب، RADIUS سرور با استفاده از اطلاعات ذخیره شده و مکانیزم رمزنگاری‌شده، می‌تواند تأیید کند که حساب کاربری معتبر است و همچنین سطوح دسترسی، محدودیت‌های پهنای باند، زمان اتصال و سایر پارامترها را کنترل کند.

شما به عنوان ادمین شبکه، باید حساب‌های کاربری را در RADIUS سرور ثبت کنید یا RADIUS سرور را به یک سیستم احراز هویت موجود در شبکه مانند Active Directory یا LDAP متصل کنید. با این کار، RADIUS سرور می‌تواند اطلاعات کاربری را از این سیستم‌ها دریافت و تأیید کند.

دو روش اصلی برای مدیریت حساب‌های کاربری در RADIUS سرور

ایجاد حساب‌های کاربری در خود RADIUS سرور

اگر سیستم احراز هویت خارجی (مثل Active Directory) ندارید، می‌توانید مستقیماً در پایگاه داده داخلی RADIUS سرور حساب‌ها را ایجاد کنید.
به‌عنوان مثال، در یک محیط ساده مانند شبکه‌های کوچک یا متوسط، شما ممکن است به‌صورت دستی نام کاربری، رمز عبور، و سایر پارامترهای کاربران را در خود RADIUS سرور وارد کنید.

این کار معمولاً از طریق پنل مدیریتی یا فایل پیکربندی RADIUS انجام می‌شود. برای این کار، می‌توانید از User Manager در میکروتیک یا سیستم‌های دیگر که سرور RADIUS را مدیریت می‌کنند، استفاده کنید.

استفاده از سیستم‌های احراز هویت خارجی

اگر شبکه شما یک سیستم مدیریت کاربر مثل Active Directory (AD) یا LDAP دارد، می‌توانید RADIUS را به آن متصل کنید. در این حالت، نیازی نیست حساب‌های کاربری را دوباره در RADIUS ثبت کنید. RADIUS به AD یا LDAP متصل می‌شود و هنگام دریافت درخواست احراز هویت، اطلاعات کاربری را از آن سیستم‌ها بررسی می‌کند.
این روش بیشتر در سازمان‌ها و شرکت‌هایی که اقدام به راه اندازی شبکه دامین مدل کرده‌اند استفاده می‌شود، زیرا کاربران از یک منبع مشترک (مثل AD) برای ورود به شبکه، سیستم‌های مختلف، و سرویس‌های متعدد استفاده می‌کنند.

بنابراین، اگر شما از RADIUS سرور به‌عنوان یک سیستم مستقل استفاده می‌کنید، باید حساب‌های کاربری را مستقیماً در RADIUS ثبت کنید. اما اگر شبکه‌تان از یک سیستم احراز هویت مرکزی (مثل Active Directory) استفاده می‌کند، می‌توانید سرور RADIUS را به آن سیستم متصل کنید تا کاربران را بدون نیاز به تعریف مجدد، احراز هویت کند.

راه اندازی RADIUS سرور در میکروتیک

با توجه به توضیحات داده درباره کاربرد و مکانیزم کاری RADIUS سرور، در این جا میخواهیم مراحل کامل راه اندازی RADIUS سرور در میکروتیک را با شما مرور کنیم.

برای این کار ابتدا مطمئن شوید که پکیج User Manager در روتر شما نصب شده است. اگر این پکیج نصب نشده است، باید آن را از وبسایت میکروتیک دانلود و روی روتر خود نصب کنید.
برای نصب پکیج User Manager به System > Packages بروید. پکیج User Manager را از بخش Files به روتر اضافه کنید و سپس روتر را ریبوت کنید.

فعال‌سازی RADIUS سرور روی میکروتیک

پس از نصب User Manager، شما باید RADIUS سرور را فعال کنید. برای این کار بر روی RADIUS در پنل سمت چپ کلیک کنید تا پنجره RADIUS باز شود. روی + کلیک کنید و یک سرور RADIUS جدید ایجاد کنید. هنگام پیکربندی RADIUS سرور در میکروتیک، پنجره تنظیمات RADIUS دارای چندین گزینه است که می‌توانید برای پیکربندی دقیق‌تر از آنها استفاده کنید.

RADIUS سرور در میکروتیک

در ادامه توضیح مختصری از این گزینه‌ها به همراه نحوه پیکربندی هر کدام آورده شده است:

برای راه‌اندازی ساده RADIUS در میکروتیک، شما نیاز به پر کردن موارد Service، Address، Secret، و Authentication/Accounting Ports دارید. سایر گزینه‌ها معمولاً برای موارد خاص یا شبکه‌های پیچیده استفاده می‌شوند و در بسیاری از موارد نیازی به تغییر آنها نیست.

Service
این گزینه تعیین می‌کند که RADIUS برای چه نوع سرویسی استفاده شود. موارد زیر را می‌توانید انتخاب کنید:
Hotspot: برای مدیریت کاربران Hotspot.
PPP: برای احراز هویت کاربران VPN یا PPPoE.
DHCP: برای کنترل آدرس‌های DHCP.
Login: برای کنترل دسترسی به روتر (مثلاً از طریق Telnet یا SSH).
Wireless: برای احراز هویت کاربران شبکه وایرلس.
انتخاب سرویس مورد نظر برای احراز هویت. معمولاً برای Hotspot یا PPP استفاده می‌شود. برای مثال، اگر می‌خواهید کاربران Hotspot را احراز هویت کنید، گزینه Hotspot را انتخاب کنید.

Address
آدرس IP سرور RADIUS که درخواست‌های احراز هویت به آن ارسال می‌شود.
اگر خود روتر شما به عنوان RADIUS سرور عمل می‌کند، باید آدرس IP روتر (مانند 127.0.0.1 برای لوکال هاست) را وارد کنید. اگر RADIUS سرور خارجی دارید، باید IP آن سرور را وارد کنید.

Secret
یک رمز مشترک که بین کلاینت RADIUS (روتر میکروتیک) و سرور RADIUS استفاده می‌شود تا امنیت ارتباط بین آنها را تضمین کند.
پیکربندی: یک رمز امن وارد کنید که به‌عنوان کلید امنیتی بین روتربورد و سرور RADIUS استفاده می‌شود. هر دو طرف باید این رمز را بدانند.

Authentication Port
Authentication Port پورتی است که برای احراز هویت (Authentication) استفاده می‌شود.
معمولاً مقدار پیش‌فرض 1812 برای این گزینه استفاده می‌شود که استاندارد RADIUS برای احراز هویت است. اگر سرور RADIUS شما از پورت دیگری استفاده می‌کند، آن را وارد کنید.

Accounting Port
Accounting Port پورتی که برای حسابداری (Accounting) استفاده می‌شود تا گزارش‌های مربوط به استفاده کاربران ثبت شوند.
مقدار پیش‌فرض 1813 است که معمولاً استفاده می‌شود. اگر سرور RADIUS شما از پورت دیگری برای حسابداری استفاده می‌کند، آن را وارد کنید.

Timeout
Timeout زمانی است که روتر برای دریافت پاسخ از سرور RADIUS منتظر می‌ماند.
مقدار پیش‌فرض 3000 میلی‌ثانیه (3 ثانیه) مناسب است. اگر سرور شما در شبکه‌ای با تاخیر بیشتر قرار دارد، می‌توانید این مقدار را افزایش دهید.

Accounting Backup

این گزینه مشخص می‌کند که در صورت عدم پاسخگویی سرور RADIUS، روتر از سیستم حسابداری داخلی خود استفاده کند یا خیر.
در صورتی که می‌خواهید روتر بدون نیاز به RADIUS به کار خود ادامه دهد، می‌توانید این گزینه را فعال کنید.

Called-Station-ID-Type یا Called ID
گزینه Called ID (که در برخی مواقع با نام Called-Station-ID دیده می‌شود) در تنظیمات RADIUS برای شناسایی دستگاهی که درخواست احراز هویت را ارسال کرده است، استفاده می‌شود. این گزینه معمولاً در شبکه‌های وایرلس و PPP برای تشخیص دستگاهی که درخواست دسترسی به RADIUS را ارسال می‌کند، به کار می‌رود.

Called ID برای تعیین هویت دقیق Access Point (AP) یا دستگاه‌هایی که به RADIUS متصل می‌شوند، استفاده می‌شود. در شبکه‌های وایرلس، این می‌تواند آدرس MAC دستگاه یا AP باشد که کلاینت به آن متصل است.
سرور RADIUS می‌تواند از این شناسه برای ثبت لاگ‌های مربوط به دسترسی کاربران و دستگاه‌های خاص استفاده کند. همچنین برای تفکیک درخواست‌های احراز هویت از دستگاه‌های مختلف در شبکه به کار می‌رود.
معمولاً مقدار Called ID، آدرس MAC دستگاه یا AP است. می‌توانید MAC آدرس اینترفیس شبکه‌ای که کلاینت به آن متصل است را وارد کنید. این امکان به سرور RADIUS کمک می‌کند که بداند درخواست از کدام AP یا دستگاه آمده است.

در برخی موارد، می‌توانید SSID یا نام دستگاه خاصی که در شبکه دارید را وارد کنید. این به شناسایی کلاینت‌های خاص کمک می‌کند.

در بسیاری از موارد، می‌توانید این فیلد را خالی بگذارید و روتر به‌طور خودکار مقدار مناسبی را انتخاب می‌کند. مگر این که بخواهید برای شناسایی دقیق‌تر دستگاه‌ها از این گزینه استفاده کنید.
اگر شبکه شما پیچیده نیست و نیازی به ردیابی دقیق دستگاه‌ها ندارید، این گزینه را خالی بگذارید. در شبکه‌های بزرگ‌تر، جایی که نیاز به ردیابی و مدیریت پیشرفته دارید، می‌توانید مقادیر مرتبط مانند آدرس MAC دستگاه یا نام خاص را وارد کنید.

Domain
اگر از یک دامنه برای RADIUS استفاده می‌کنید، اینجا می‌توانید نام دامنه خود را وارد کنید. در شبکه‌های کوچک، معمولاً نیازی به تنظیم این گزینه نیست.

Src. Address
منظور از Src. Address آدرس IP است که از آن درخواست‌های RADIUS به سمت سرور ارسال می‌شود. اگر روتر شما چندین آدرس IP دارد، می‌توانید آدرس خاصی را تعیین کنید. در غیر این صورت، روتر به‌طور خودکار از آدرس مناسب استفاده می‌کند.

Realm
Realm یک بخش اختیاری است که در سیستم‌های RADIUS برای تفکیک بین دامنه‌های مختلف یا زیرشبکه‌های بزرگ استفاده می‌شود. این گزینه به شما اجازه می‌دهد که کاربران را بر اساس دامنه (مانند نام دامنه در یک شبکه شرکتی) تفکیک کنید.
معمولاً برای شبکه‌هایی استفاده می‌شود که چندین دامنه مختلف دارند و نیاز است که درخواست‌ها بر اساس دامنه‌های کاربران هدایت شوند. برای مثال، اگر شما یک شبکه با چندین زیرمجموعه دارید، می‌توانید از Realm برای مدیریت درخواست‌ها استفاده کنید.
می‌توانید نام دامنه یا زیرمجموعه خاص خود را در این فیلد وارد کنید. به‌عنوان مثال: company.com یا sales.company.com. اگر از Realm استفاده نمی‌کنید، این گزینه را خالی بگذارید.

Certificate
Certificate برای استفاده از گواهی‌های امنیتی (SSL/TLS) در فرآیند احراز هویت RADIUS به کار می‌رود. این گواهی‌ها ارتباط بین کلاینت و سرور RADIUS را ایمن‌تر می‌کنند و امکان استفاده از پروتکل‌های EAP-TLS برای احراز هویت مبتنی بر گواهی را فراهم می‌کنند.
اگر از پروتکل‌هایی مانند EAP-TLS استفاده می‌کنید (که در شبکه‌های وایرلس و VPN‌های پیشرفته استفاده می‌شود)، نیاز به استفاده از گواهی‌ها برای احراز هویت امن دارید.
شما باید گواهی امنیتی را وارد کنید که بین سرور RADIUS و کلاینت‌ها به اشتراک گذاشته می‌شود. اگر از EAP-TLS یا گواهی‌های SSL/TLS استفاده نمی‌کنید، این گزینه را خالی بگذارید.

Require Message Auth
این گزینه تعیین می‌کند که آیا پیام‌های RADIUS باید حاوی امضای رمزنگاری‌شده (Message Authentication) باشند یا نه. این ویژگی برای جلوگیری از دستکاری پیام‌ها در حین انتقال به کار می‌رود.
در شبکه‌هایی که امنیت بسیار بالایی دارند و احتمال تغییر یا حملات میانی (man-in-the-middle) وجود دارد، می‌توانید این گزینه را فعال کنید تا تمامی پیام‌ها احراز اصالت شوند.
اگر می‌خواهید احراز هویت پیام‌ها را فعال کنید، این گزینه را فعال نمایید. در غیر این صورت، اگر نیاز به پیچیدگی بیشتر در امنیت ندارید، این گزینه را غیرفعال بگذارید.
با توجه به توضیحات بالا در مورد 3 گزینه آخر باید متوجه شده باشید که Realm و Certificate معمولاً برای پیاده‌سازی‌های پیشرفته یا زمانی که از احراز هویت دامنه‌ها و گواهی‌ها استفاده می‌کنید، به کار می‌روند. در صورتی که شبکه شما پیچیدگی خاصی ندارد و به چنین سطح امنیتی نیازی ندارید، می‌توانید این گزینه‌ها را خالی بگذارید.
گزینه Require Message Auth برای امنیت بیشتر ارتباط RADIUS استفاده می‌شود، اما اگر در شبکه‌های کوچک هستید یا پیام‌ها از طریق کانال‌های امن منتقل می‌شوند، می‌توانید این گزینه را غیرفعال بگذارید.

پیکربندی User Manager

به IP > Hotspot یا PPP بروید، و از User Profiles به سرور RADIUS اشاره کنید. از طریق IP Address of Router/User Manager در مرورگر خود دسترسی به پنل User Manager داشته باشید.
در User Manager، می‌توانید کاربران را ایجاد کرده و پروفایل‌های مختلفی برای آنها بسازید.

تنظیمات Firewall و NAT

اطمینان حاصل کنید که تنظیمات NAT و Firewall به درستی پیکربندی شده‌اند تا ترافیک کاربران به درستی مسیردهی و احراز هویت شود.
پس از پیکربندی، با استفاده از یک دستگاه کلاینت، تلاش کنید به شبکه متصل شوید. بررسی کنید که سرور RADIUS به درستی عمل می‌کند و کاربران در هنگام اتصال به درستی احراز هویت می‌شوند.
با انجام این مراحل، شما یک RADIUS سرور در میکروتیک خود راه‌اندازی کرده‌اید.