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