مصداقية خدمة مستخدم الطلب الهاتفي عن بُعد (RADIUS) وقابلية التوسع

نُشرت في 3 أكتوبر 2017

نبذة

نصف القطر or خدمة مصادقة الاتصال الهاتفي عن بعد هو بروتوكول شبكة يوفر المصادقة والترخيص والمحاسبة للمستخدمين والأجهزة الإدارة المركزية. يستخدم على نطاق واسع من قبل مزودي خدمة الإنترنت والمؤسسات للتحكم في الوصول إلى الإنترنت والخدمات المحلية والشبكات اللاسلكية من خلال نقاط وصول WiFi وما إلى ذلك.

يتم تنفيذ بروتوكول RADIUS في طبقة التطبيقات مع بنية وحدة خدمة العميل التي يمكنها استخدام TCP أو UDP كطبقة نقل ويتم توصيلها بقاعدة بيانات المستخدمين مثل نشط الدليل, خدمة LDAP or نظام محاسبة لينكس. حلول RADIUS الأكثر شعبية هي FreeRadius أو Microsoft NPS Radius Server.

RADIUS Messaging Protocol

تعتمد رسائل البروتوكول على طلب العميل وطريقة استجابة الخادم كما هو موضح أدناه.

1. العميل يرسل مطلوب الوصول إلى الخادم لكل مستخدم أو جهاز ليتم توثيقه إلى منفذ الخادم TCP / UDP 1812 (ستستخدم إصدارات الخادم القديمة 1645 للمصادقة كذلك).
2. يرد الخادم وفقًا للسياسة وصول قبول إذا سمح المصادقة ، الوصول رفض إذا كان الوصول غير مسموح أو الوصول التحدي إذا كان الخادم يتطلب مزيدًا من المعلومات لتحديد الوصول (مثل التحقق الثاني من الصحة: ​​رقم التعريف الشخصي ، وكلمة المرور ، والشهادة ، وما إلى ذلك)

اختياريا ، يمكن للعميل والخادم تبادل رسائل المحاسبة مثل المحاسبة، طلب و المحاسبة الاستجابة من أجل الحفاظ على معرف جلسة فريد.

3. العميل يرسل المحاسبة، طلب إلى الخادم من خلال المنفذ TCP / UDP 1813 لإدارة جلسة المحاسبة (سوف تستخدم إصدارات الخادم القديمة 1646 للمصادقة كذلك).
4. ردود الخادم مع المحاسبة الاستجابة رسالة لتأكيد الجلسة الجديدة.

في بيئة RADIUS ، ستكون هناك حاجة إلى خدمة إضافية لإدارة قواعد بيانات المستخدمين ومن المهم اعتبارها في حالة التوفر العالي ، والتي سيتم التعامل معها في مقالة محددة أخرى.

توازن تحميل RADIUS وبيئة التوفر العالية

قد تؤدي المشكلة في حالة تعطل خدمة RADIUS إلى خطر عدم تمكن المستخدمين من الوصول إلى شبكة الخوادم ، أو تسجيل الدخول إلى أحد التطبيقات ، ولا يمكن للمستخدمين فتح جلسة في جهاز أو عدم القدرة على الحصول على إذن لاستخدام حق في عملية تجارية. من أجل حل هذا النوع من المواقف ، فإن الهدف من هذه المقالة هو إعداد البيئة الموضحة أدناه.

سيشارك Zevenet رسائل بروتوكول RADIUS بين جميع خوادم RADIUS ، سواء كانت في مواقع مختلفة أو محلية. في الأقسام التالية نوضح تكوين هذا النوع من البيئات ، والفحوصات الصحية المتقدمة لخدمات RADIUS والتحديات الأمنية لهذا البروتوكول.

تكوين خدمة افتراضية RADIUS

تعتمد طبيعة بروتوكول RADIUS على حزم UDP ، لذلك يتم تكوين بيئة RADIUS موثوق بها LSLB مزرعة مع L4xNAT الملف الشخصي في طبقة 4 ، والمنافذ 1812 و 1813، نوع البروتوكول UDP ويفضل DTA من أجل الحصول على الشفافية والحصول على IP العميل في الجانب الخلفي (على الرغم من NAT يجب أن تعمل بشكل جيد كذلك).

في مجلة خدماتنا ، لا حاجة إلى استمرار افتراضيا ما لم يكن مطلوبا بعض الالتصاق بين خادم العميل radius.

إذا تم استخدام RADIUS عبر TCP بدلاً من UDP ، فيمكن تغييره في حقل نوع البروتوكول. يمكن ضبطه كذلك الجميع البروتوكولات للسماح لكل من TCP و UDP في نفس الوقت من نفس عنوان IP الظاهري.

أخيرًا ، قم بتكوين الواجهات الخلفية بدون تكوين منافذ (حيث ستستخدم منفذ الوجهة لاتصال العميل) واختبر الاتصال. بمجرد تكوين خدمة RADIUS الافتراضية بنجاح ، يمكننا ضبط الفحص الصحي المتقدم لهذه الخدمة.

RADIUS تكوين فحص الصحة المتقدم

يتم تضمين فحص متقدم في Zevenet مع الاسم check_radius تحت المجلد الافتراضي / البيرة / المحلية / zenloadbalancer / التطبيق / libexec /.

يمكن سرد مساعدة هذا الأمر:

root@zevenet5# /usr/local/zenloadbalancer/app/libexec/check_radius --help
Tests to see if a RADIUS server is accepting connections.

Usage:
check_radius -H host -F config_file -u username -p password
			[-P port] [-t timeout] [-r retries] [-e expect]
			[-n nas-id] [-N nas-ip-addr]

Options:
 -h, --help
    Print detailed help screen
 -V, --version
    Print version information
 --extra-opts=[section][@file]
    Read options from an ini file. See
    https://www.monitoring-plugins.org/doc/extra-opts.html
    for usage and examples.
 -H, --hostname=ADDRESS
    Host name, IP Address, or unix socket (must be an absolute path)
 -P, --port=INTEGER
    Port number (default: 1645)
 -u, --username=STRING
    The user to authenticate
 -p, --password=STRING
    Password for autentication (SECURITY RISK)
 -n, --nas-id=STRING
    NAS identifier
 -N, --nas-ip-address=STRING
    NAS IP Address
 -F, --filename=STRING
    Configuration file
 -e, --expect=STRING
    Response string to expect from the server
 -r, --retries=INTEGER
    Number of times to retry a failed connection
 -t, --timeout=INTEGER
    Seconds before connection times out (default: 10)

This plugin tests a RADIUS server to see if it is accepting connections.
The server to test must be specified in the invocation, as well as a user
name and password. A configuration file may also be present. The format of
the configuration file is described in the radiusclient library sources.
The password option presents a substantial security issue because the
password can possibly be determined by careful watching of the command line
in a process listing. This risk is exacerbated because the plugin will
typically be executed at regular predictable intervals. Please be sure that
the password used does not allow access to sensitive system resources.

أولاً ، دعنا نتحقق مما إذا كان يعمل بشكل صحيح عن طريق تنفيذ الأمر المثال التالي (يرجى استخدام معلمات تكوين عميل radius من Zevenet):

root@zevenet5# cd /usr/local/zenloadbalancer/app/libexec/
root@zevenet5# ./check_radius -H <RADIUS_SERVER_IP> -P <RADIUS_SERVER_PORT> -u <DUMMY_USER_NAME> -p <DUMMY_USER_PASSWD> -F <RADIUS_CLIENT_CONFIG_FILE>

سيتم إجراء الاختبار من جهاز Zevenet إلى خادم RADIUS واحد مع التحقق من صحة المستخدم الوهمي ، واختيارياً ، ملف تكوين العميل لمعلمات محددة للعميل. دعنا نختبر الأمر ، وبعد ذلك ، عندما نحصل على OK من الخادم و بالفشل عندما يتعطل ، يمكننا تكوين الفحص الصحي المتقدم في خدماتنا قسم من الخدمة الافتراضية التي أنشأناها للتو.

لا تنس استخدام ملف HOST الرمز المميز عند تكوين الفحوصات الصحية المتقدمة في Zevenet كما هو مبين أدناه.

check_radius -H HOST -P 1812 -u johndoe -p johnspass -F /etc/radius_client.cfg

انظر أدناه خدماتنا تكوين القسم.

خيارات الأمن RADIUS

يستخدم بروتوكول RADIUS تقليديًا خوارزميات MD5 للمصادقة لكل حزمة وفحوصات السلامة عبر UDP. نظرًا لأن هذين النوعين لا يوفران أي تشفير أمني وحماية ، فقد تم دراسة العديد من الأساليب.

انتشار RADIUS أكثر أمن بروتوكول الإنترنت or أمان بروتوكول إنترنت تم نشرها على نطاق واسع ولكن هناك بعض الصعوبات في هذا الخيار لأن طبقة التطبيق ليست على دراية بسياسات الأمان ، كما هي ضمنية في طبقة الشبكة. لاستخدام هذا الأسلوب مع Zevenet ، يتطلب الأمر بعض التكوين اليدوي لأنه لم يتم دمجه بعد.

مواصفات DTLS or حماية طبقة النقل من Datagram يسمح لتوفير التشفير ومراقبة والتحكم في السياسات الأمنية لمثل هذه الحركة.

خيار آخر سيكون RADIUS أكثر TLS التي توفر قدرات TCP من الموثوقية وطبقة النقل في الطلب.

لهذا النوع من المناهج ، و ايانا قام بإنشاء إدخال رسمي لـ RadSec (RADIUS الأمن) لاستخدام UDP 2083 ميناء ل RADIUS / TLS التنفيذ.

خيار آخر سيكون تحسين الملخص والتخويل مع طبقة EAP (بروتوكول المصادقة الموسعة) التي لا يتم استخدامها في طبقة إنشاء الارتباط ولكن أثناء مرحلة مصادقة الاتصال ، وتجنب استخدام هضم MD5 ضعيف.

بالإضافة إلى ذلك ، مع Zevenet ، يمكن حماية خدمات RADIUS مع وحدة IPDS ضد الحزم الضارة والمضيفين ، هجمات DoS ، محاولات القوة الغاشمة وأكثر من ذلك بكثير.

قدرات وكيل RADIUS

إذا تم نشر العديد من خوادم RADIUS عبر مواقع مختلفة ، فسيكون من المثير للاهتمام إعادة توجيه اتصال العميل إلى الموقع الذي يدير بيانات المصادقة والتفويض والمحاسبة الخاصة بهم. حاليًا ، لا يدعم Zevenet إمكانيات وكيل RADIUS ولكن من المخطط تضمينه قريبًا. نتطلع إلى آخر التطورات!

استمتع بخدماتك العالية المتاحة والمتدرجة للوصول إلى الشبكة!

مشاركة مع :

وثائق بموجب شروط رخصة جنو للوثائق الحرة.

هل كان المقال مساعدا؟!

مقالات ذات صلة