אימות משתמש מרחוק (RADIUS) של שירות האימות מרחוק (RADIUS)

פורסם על ידי זאבנט | 3 באוקטובר, 2017

סקירה כללית

רַדִיוּס or שירות האימות מרחוק של שירות האימות הנו פרוטוקול רשת המספק אימות, הרשאה וחשבונאות של משתמשים ומכשירים ניהול מרכזי. זה נעשה שימוש נרחב על ידי ספקי שירותים ועסקים באינטרנט כדי לשלוט בגישה לאינטרנט, שירותים מקומיים, רשתות אלחוטיות באמצעות נקודות גישה WiFi וכו '.

פרוטוקול RADIUS מיושם בשכבת היישום עם ארכיטקטורת שרת לקוח שיכולה להשתמש ב- TCP או ב- UDP כשכבת הובלה, והם מתקשרים עם מסד נתונים של משתמשים של Active Directory, שירות LDAP or מערכת לינוקס חשבונאות. הפתרונות הפופולריים ביותר של RADIUS הם FreeRadius או Microsoft NPS Radius Server.

פרוטוקול העברת הודעות של RADIUS

העברת הפרוטוקולים מבוססת על בקשת הלקוח ואופן תגובת השרת כפי שמוצג להלן.

1. הלקוח שולח בקשת גישה לשרת עבור כל משתמש או מכשיר להיות מאומתים ליציאת השרת TCP / UDP 1812 (גרסאות שרת מבוגר ישתמשו 1645 לאימות גם כן).
2. השרת עונה על פי המדיניות קבל גישה אם האימות מותר, גישה לדחייה אם הגישה אינה מותרת או גישה לאתגר אם השרת דורש מידע נוסף על מנת לקבוע את הגישה (כמו אימות שני: PIN, סיסמה, אישור וכו ')

לחלופין, הלקוח והשרת יכולים להחליף הודעות של חשבונאות כמו בקשה לחשבונאות ו חשבונאות - תגובה על מנת לשמור על מזהה הפעלה ייחודי.

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 של הלקוח בצד backend (אם כי NAT צריך לעבוד בצורה מושלמת גם כן).

ב שירותים, לא נדרשת התמדה כברירת מחדל, אלא אם כן נדרשת הדבקה מסוימת בין שרת רדיוס הלקוח.

אם RADIUS נמצא בשימוש ב- TCP במקום ב- UDP, ניתן לשנות אותו בשדה סוג הפרוטוקול. זה יכול להיות מוגדר גם כן הכל פרוטוקולים כדי לאפשר הן TCP ו UDP באותו זמן מאותו IP וירטואלי.

לבסוף, הגדר את הגבולות ללא יציאות מוגדרות (שכן הוא ישתמש ביציאת היעד של חיבור הלקוח) ובדוק את החיבור. לאחר הגדרת השירות הווירטואלי RADIUS בהצלחה, אנו יכולים להגדיר את בדיקת הבריאות המתקדמת עבור שירות זה.

תצורת בדיקה רפואית מתקדמת של RADIUS

בדיקה מתקדמת כלולה בזאבנט עם שם check_radius תחת תיקיית ברירת המחדל / usr / local / zenloadbalancer / app / 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.

ראשית, בואו לבדוק אם זה עובד כמו שצריך על ידי ביצוע הפקודה הבאה (אנא השתמשו בפרמטרים של תצורת לקוח רדיוס משלכם מ- 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 כאשר הם מגדירים את בדיקות הבריאות המתקדמות בזובנט בהתאם להלן.

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

ראה להלן שירותים -.

אפשרויות אבטחה של RADIUS

פרוטוקול RADIUS השתמש באופן מסורתי באלגוריתמים של MD5 לבדיקת אימות לכל מנות ובדיקות תקינות ב- UDP. מכיוון ששני אלה אינם מספקים הצפנת אבטחה והגנה, נחקרו כמה גישות.

פריסות של RADIUS מעל IPsec or אבטחה פרוטוקול אינטרנט פורסמו באופן נרחב אך ישנם כמה קשיים באפשרות זו מכיוון ששכבת היישום אינה מודעת למדיניות האבטחה, מכיוון שהיא משתמעת בשכבת הרשת. כדי להשתמש בגישה זו עם Zevenet נדרש תצורה ידנית מסוימת מכיוון שהיא עדיין לא משולבת.

מפרט של DTLS or אבטחה שכבתית מאפשר לספק הצפנה, לפקח ולשלוט על מדיניות האבטחה של תנועה כזו.

אפשרות נוספת תהיה RADIUS מעל TLS המספק יכולות TCP של אמינות ושכבת תחבורה בהזמנה.

עבור אלה סוג של גישות, IANA יצר רשמית עבור ראדסק (אבטחה RADIUS) כדי להשתמש ב- UDP 2083 פורט עבור RADIUS / TLS מימושים.

אפשרות נוספת תהיה לשפר את digest ואת הרשאת שכבת עם EAP (פרוטוקול אימות ניתן להרחבה), כי הוא לא בשימוש בשכבת הקישור הקישור אבל במהלך שלב אימות החיבור, הימנעות משימוש MD5 מעוכל חלש.

בנוסף, עם Zevenet, השירותים RADIUS יכול להיות מוגן עם מודול IPDS נגד מנות זדוניות המארחים, התקפות DoS, ניסיונות כוח הזרוע ועוד.

RADIUS יכולות פרוקסי

אם כמה שרתי RADIUS פרוסים על פני אתרים שונים, יהיה מעניין להעביר את חיבור הלקוח לאתר שמנהל את נתוני האימות, ההרשאה והחשבונאות שלהם. נכון לעכשיו, Zevenet אינו תומך ביכולות ה- RADIUS proxy אך הוא מתוכנן להיכלל בקרוב. מצפים להתפתחויות האחרונות!

באפשרותך ליהנות משירותי הגישה לרשת שלך הזמינים והגדולים!

תשתף:

תיעוד על פי תנאי הרישיון לשימוש חופשי במסמכים של גנו.

האם המאמר הזה היה מועיל?

מאמרים נוספים