en
שפה
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
מכונת תרגום
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • לא
  • pl
  • tr

אימות LDAP

LDAP

כיצד להגדיר את אימות LDAP

סקירה כללית
הכרזה על מצב אימות LDAP
על יצירת המשתמשים לטוס
כניסה LDAP לקבוצות
פתרון בעיות
במצבי Corner

 

סקירה כללית

LDAP (Lightweight Directory Access Protocol) הוא פרוטוקול תוכנה המאפשר לכל אחד לאתר ארגונים, אנשים ומשאבים אחרים כגון קבצים והתקנים ברשת, בין אם באינטרנט הציבורי ובין אם באינטרא-נט של החברה. LDAP היא גרסת "קל משקל" (כמות קטנה יותר של קוד) של פרוטוקול Access Access (DAP), המהווה חלק מ X.500, תקן לשירותי ספריות ברשת. LDAP קל יותר מכיוון שבגרסתו הראשונית הוא לא כלל תכונות אבטחה. Easy Project תומך באופן מקורי באימות LDAP באמצעות ספריות LDAP אחת או מרובות. סוגי שירותי הספריות הנתמכים כוללים Active Directory, OpenLDAP, eDirectory, Sun Java System Directory Server וכן שירותי ספריות תואמים אחרים.

ספריית LDAP מסודרת בהיררכיית "עץ" פשוטה המורכבת מהרמות הבאות:

  1. ספריית השורשים (מקום ההתחלה או מקור העץ), שמסתעפת אליו
  2. מדינות, שכל אחת מהן מסתעפת אליהן
  3. ארגונים, שמסתעפים אליהם
  4. יחידות ארגוניות (חטיבות, מחלקות וכדומה), המסתעפות אל (כולל ערך עבור)
  5. אנשים (הכוללים אנשים, קבצים ומשאבים משותפים כגון מדפסות)

 

הכרזה על מצב אימות LDAP

עבור אל ניהול ולחץ על "אימות LDAP" בתפריט. כאן תמצא את רשימת כל מצבי האימות הקיימים של LDAP, כולל אפשרויות לבדיקה או מחיקה. ליצירת חדש, לחץ על הכפתור הירוק "מצב אימות חדש" בפינה השמאלית העליונה.

ספק שירותי LDAP משתמש בכתובת URL כדי להגדיר את החיבור לשרת הספריות. כדי ליצור את כתובת ה- URL של חיבור LDAP, יש לציין את השדות הבאים:

  • שֵׁם: שם שרירותי לספריה.
  • מנחה: שם מארח LDAP (שרת בדיקה).
  • נמל: יציאת LDAP (ברירת המחדל היא 389).
  • LDAPS: בדוק זאת אם ברצונך או עליך להשתמש ב- LDAPS כדי לגשת לספריה.
  • חֶשְׁבּוֹן: הזן שם משתמש שיש לו גישה לקריאה ל- LDAP, אחרת השאר את השדה הזה ריק אם ניתן לקרוא את ה- LDAP שלך באופן אנונימי (בדרך כלל שרתי Active Directory אינם מאפשרים גישה אנונימית).
  • סיסמה: סיסמא לחשבון.
  • בסיס DN: ה- DN ברמה העליונה של עץ הספריות LDAP שלך (דוגמה: dc = דוגמה, dc = com).
  • מסנן LDAP: ניתן להשתמש במסננים להגבלת מספר המשתמשים או הקבוצות המורשים לגשת ליישום. בעיקרו של דבר המסנן מגביל מאיזה חלק מעץ LDAP שהיישום מסנכרן. ניתן וצריך לכתוב מסנן לחברות משתמשים וקבוצות כאחד. זה מבטיח שאתה לא מציף את היישום שלך עם משתמשים וקבוצות שאינם זקוקים לגישה.
     

    מסננים לדוגמא

    (אַזהָרָה) מסננים אלה נכתבים עבור Active Directory. על מנת להשתמש בהם למשהו כמו OpenLDAP יהיה צורך לשנות את התכונות.

    זה יסנכרן רק משתמשים בקבוצת 'CaptainPlanet' - יש להחיל זאת על ה- מסנן אובייקטים למשתמש:

    (&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=CaptainPlanet,ou=users,dc=company,dc=com))

    וזה יחפש משתמשים שחברים בקבוצה זו, ישירות או באמצעות קינון:

    (&(objectCategory=Person)(sAMAccountName=*)(memberOf:1.2.840.113556.1.4.1941:=cn=CaptainPlanet,ou=users,dc=company,dc=com))

    (info) חשוב שיהיה ל- Active Directory memberOf: 1.2.840.113556.1.4.1941 אם ברצונך למצוא קבוצות מקוננות (אל תחליף את המחרוזת המספרית) בתוך קבוצת CaptainPlanet.

    זה יחפש משתמשים שחברים באחת או בכל 4 הקבוצות (אש, רוח, מים, לב)

    (&(objectCategory=Person)(sAMAccountName=*)(|(memberOf=cn=fire,ou=users,dc=company,dc=com)(memberOf=cn=wind,ou=users,dc=company,dc=com)(memberOf=cn=water,ou=users,dc=company,dc=com)(memberOf=cn=heart,ou=users,dc=company,dc=com)))
  • פסק זמן (בשניות): אם ספק ה- LDAP אינו מקבל תגובת LDAP בתוך התקופה שצוינה, הוא מבטל את ניסיון הקריאה. המספר השלם צריך להיות גדול מאפס. מספר שלם שקטן או שווה לאפס פירושו שלא נקבע פסק זמן לקריאה שווה ערך להמתין לתגובה אינסוף עד שתתקבל אשר ברירת המחדל להתנהגות המקורית. אם מאפיין זה לא צוין, ברירת המחדל היא להמתין לתגובה עד שתתקבל.
  • יצירת משתמשים תוך כדי טיסה: על ידי סימון זה, כל משתמש LDAP ייצור את חשבון Easy Project שלו באופן אוטומטי בפעם הראשונה שהוא נכנס ל- Easy Project. אחרת, יהיה עליך ליצור ידנית את המשתמש ב- Easy Project עבור כל משתמש LDAP שרוצה להיכנס.

תכונות (דוגמאות):

  • תכונת כניסה: שם הכניסה שבאמצעותו משתמש מתחבר ומאומת.
  • מאפיין שם פרטי: תכונה לשם פרטי.
  • מאפיין שם משפחה: תכונה לשם משפחה.
  • מאפיין דוא"ל: תכונה לכתובת דוא"ל.

כעת משתמשי Easy Project אמורים להיות מסוגלים לאמת באמצעות שם המשתמש והסיסמה שלהם ב- LDAP אם חשבונותיהם מוגדרים להשתמש ב- LDAP לאימות (בדוק את ההגדרה "מצב אימות" בעת עריכת פרופיל המשתמש).

כדי לבדוק זאת, צור משתמש Easy Project עם כניסה התואמת לחשבון LDAP שלו (בדרך כלל, Easy Project יעץ לך על ידי חיפוש הנתונים של LDAP), בחר את ה- LDAP החדש שנוצר ברשימה הנפתחת מצב אימות (שדה זה הוא גלוי במסך החשבון רק אם מוכרז LDAP) והשאיר את הסיסמה ריקה. נסה להיכנס ל- Easy Project באמצעות שם המשתמש והסיסמה של LDAP.

 

תוכנה שמתאימה לצרכים שלך? קַל.

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


על יצירת המשתמשים לטוס

על ידי סימון יצירת משתמשים תוך כדי תנועה, כל משתמש LDAP ייצור את חשבון Easy Project שלו באופן אוטומטי בפעם הראשונה שהוא נכנס ל- Easy Project.
לשם כך, עליך לציין את שם תכונות LDAP (שם פרטי, שם משפחה, דוא"ל) שישמש ליצירת חשבונות Easy Project שלהם.

הנה דוגמה טיפוסית לשימוש ב- Active Directory:

שם = מארח הספריה שלי = host.domain.org יציאה = 389 LDAPS = אין חשבון = MyDomain \ UserName (או שם משתמש @ MyDomain תלוי בשרת AD) סיסמה = בסיס DN = CN = משתמשים, DC = מארח, DC = דומיין, DC = org יצירת משתמשים ברמה = כן תכונות כניסה = sAMAccountName שם פרטי = givenName שם משפחה = sN דוא"ל = דואר

הנה דוגמה נוספת ל- Active Directory עם אינטרא-נט ממודר:

שם = רק תיאור לדף מצבי האימות Host = DepartmentName.OrganizationName.local Port = 389 LDAPS = no Account = DepartmentName \ UserName (או UserName @ MyDomain תלוי בשרת AD או לאגד DN uid = מנהל, cn = משתמשים, dc = MyDomain, dc = com) סיסמה = בסיס DN = DC = שם מחלקה, DC = שם ארגוני, DC = יצירת משתמש מקומי בזמן אמת = כן תכונות כניסה = sAMAccountName שם פרטי = שם פרטי שם משפחה = sN דוא"ל = דואר

שים לב ששמות תכונות LDAP הם תלוי רישיות.

חשבון קישור דינמי

ההתקנה שלעיל תזדקק לחשבון מיוחד בשרת הספריות בו Easy Project משתמש כדי לאמת מראש. אפשר להשתמש במילת המפתח $ login בשדה החשבון שיוחלף אז בכניסה הנוכחית. ניתן להשאיר את הסיסמה ריקה במקרה זה, למשל:

חשבון: $login@COMPANY.DOMAIN.NAME

or

חשבון: כניסה לחברה \ $

גרסאות DN בסיסיות

למרות שייתכן בהחלט ש- DN DN לעיל הוא סטנדרטי עבור Active Directory, ה- Active Directory באתר המעסיק שלי אינו משתמש במיכל המשתמשים עבור משתמשים רגילים, כך שההוראות האלה שלחו אותי בדרך ארוכה וכואבת. אני ממליץ לנסות רק "DC = host, DC = domain, DC = org" אם הכניסה נכשלת עם ההגדרות שם.

 

התחברות LDAP קבוצתית

אם ברצונך רק לאפשר כניסות למשתמשים השייכים לקבוצת LDAP מסוימת, עליך לבצע את ההוראות הבאות. הם מבוססים על שרת OpenLDAP LDAP ו- Easy Project.

1. (שרת OpenLDAP) אפשר שכבת-על של חבר

1.1. צור קובץ:

vim ~ / memberof_add.ldif

עם התוכן למטה:

dn: cn = מודול, cn = config
objectClass: olcModuleList
cn: מודול
olcModulePath: / usr / lib / ldap
olcModuleLoad: memberof

1.2. צור קובץ:

vim ~ / memberof_config.ldif

עם התוכן למטה:

dn: olcOverlay = memberof, olcDatabase = {1} hdb, cn = config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: למעלה
olcOverlay: memberof
olcMemberOfDangling: התעלם
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: חבר
olcMemberOfMemberOfAD: memberOf

1.3. טען אותם. זה יהיה תלוי בתצורת OpenLDAP שלך, לכן אנו מציעים כמה אפשרויות:

sudo ldapadd -c -Y EXTERNAL -H ldapi: /// -f memberof_add.ldif
sudo ldapadd -c -Y EXTERNAL -H ldapi: /// -f memberof_config.ldif

או:

ldapadd -D cn = admin, cn = config -w "סיסמה" -H ldapi: /// -f memberof_add.ldif
ldapadd -D cn = admin, cn = config -w "סיסמה" -H ldapi: /// -f memberof_config.ldif

אין צורך בהפעלה מחדש אם אתה משתמש במנוע תצורה דינמי של זמן ריצה (slapd-config).

1.4. (אופציונלי) בדוק את זה:

ldapsearch -D cn = admin, dc = דוגמה, dc = com -x -W -b 'dc = דוגמה, dc = com' -H 'ldap: //127.0.0.1: 389 / "(& (objectClass = posixAccount ) (memberOf = cn = ldapeasyproject, ou = קבוצות, dc = דוגמה, dc = com)) '

2. (שרת OpenLDAP) צור את הקבוצה. בדוגמה זו המשתמש הוא "ldap_user_1" והקבוצה היא "ldapeasyproject":

dn: cn = ldapeasyproject, ou = קבוצות, dc = דוגמה, dc = com
cn: ldapeasyproject
תיאור: אנשי צוות מורשים להתחבר למערכת כרטוס Easy Project
חבר: cn = ldap_user_1, ou = אנשים, dc = דוגמה, dc = com
class class: groupOfNames
אובייקט-קלאס: עליון

התאם את "dn" ו- "cn" כך שיתאימו למבנה ה- DIT שלך

3. (Easy Project) ערוך את מצב האימות של LDAP. במקרה שלי "ldap_user_1" הוא מחלקת אובייקטים "posixAccount":

בסיס DN: dc = דוגמה, dc = com
סינון: (& (objectClass = posixAccount) (memberOf = cn = ldapeasyproject, ou = קבוצות, dc = דוגמה, dc = com))

 

פתרון בעיות

אם ברצונך להשתמש ביצירת משתמשים באופן שוטף, ודא ש- Easy Project יכול להביא מ- LDAP שלך את כל המידע הדרוש ליצירת משתמש חוקי.
לדוגמא, יצירת משתמשים תוך כדי תנועה לא תעבוד אם אין לך כתובות דוא"ל חוקיות בספרייה שלך (תקבל הודעת שגיאה 'שם משתמש / סיסמה לא חוקי' בעת ניסיון להתחבר).
(זה לא נכון בגרסאות חדשות יותר של Easy Project; תיבת הדו-שיח ליצירת משתמשים מאוכלסת בכל מה שהוא יכול למצוא משרת LDAP ומבקשת מהמשתמש החדש למלא את השאר).

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

לא מדווחים על שגיאות במערכת הכניסה עם מידע אמיתי ביומני Easy Project, מה שמקשה על פתרון בעיות. עם זאת, אתה יכול למצוא את רוב המידע הדרוש לך באמצעות Wireshark בין מארח ה- Easy Project שלך לבין שרת LDAP. שים לב שהדבר עובד רק אם יש לך הרשאות לקרוא תעבורת רשת בין שני המארחים האלה.

אתה יכול גם להשתמש בכלי 'ldapsearch' כדי לבדוק אם ההגדרות שלך נכונות. היכנס למכונת לינוקס המארחת את פרויקט הקל שלך (ואולי התקן את ldaputils) והפעל את זה:

ldapsearch -x -b  "dc=example,dc=com" -H ldap://hostname/ -D "DOMAIN\USER" -w mypassword [searchterm]

אם תצליח, תקבל רשימה של תוכן המודעה התואמת לשאילתת החיפוש שלך. לאחר מכן, תוכלו לדעת כיצד למלא את השדות בתצורת ה- LDAP ב- Easy Project.

דרכים חלופיות לאימות הפונקציונליות

  • נסה להסיר מסנני LDAP שאם הם מוגדרים באופן שגוי, הם יכולים למחוק את המשתמשים שאתה רוצה למצוא.
  • ליד "תכונת הכניסה" מופיע סמל ספר. אם אתה לוחץ עליו וה- LDAP מוגדר כהלכה, "התכונות הרגילות" ממולאות אוטומטית מראש על ידי שרת ה- LDAP בפועל. במקום שדות טקסט, תיבות בחירה מופיעות עבור מקרה בו המשתמש רוצה לשנות את ההגדרות. ברוב המקרים המשתמש כלל לא צריך למלא זאת. אם זה עובד, סביר להניח שכל השאר יעבוד.
  • לבעיות חיבור, תוכלו להשתמש בלחצן "בדיקה" ברישום שרת ה- LDAP. היזהר, זה משמש רק כדי לבדוק אם אתה יכול להתחבר ל- LDAP. הבעיה הנפוצה היא שמנהלים אינם ממלאים את משתמש מערכת ה- LDAP גם כאשר הגדרות ה- LDAP עדיין מוגנות. במקרה זה, הבדיקה תפעל בסדר מכיוון שהחיבור פועל אך לא ניתן להוסיף משתמשים מכיוון שה- LDAP אינו "רואה" אף אחד.
  • כדי לבדוק האם LDAP באמת עובד, ניתן להשתמש גם במספר "משתמשים זמינים" - אם הערך שלו הוא 0, LDAP אינו מחזיר נתונים וכנראה שהוא מוגדר באופן שגוי. אם יש מספר, אתה יכול ללחוץ עליו כדי להרחיב ולראות מה מראה ה- LDAP (ולהתאים את המסננים בהתאם).

חֶשְׁבּוֹן פורמט ערך

ייתכן שיהיה צורך לציין את שם המשתמש של אישורי הקישור כ- DN ולא כ- UPN (user@domain.com) או כ דומיין \ משתמש, כפי שצוין בתגובה זו ב מקור: trunk / vendor / plugins / ruby-net-ldap-0.0.4 / lib / net / ldap.rb:

  # כמתואר תחת #bind, רוב שרתי ה- LDAP דורשים שתספק מספר DN מלא כתעודת כריכה מחייבת, יחד עם מאמת כגון סיסמה.

לכן משתמש ב- MyDomain \ MyUserName או MyUserName@MyDomain.com שם משתמש עשוי להזין רק את MyUserName כשם כניסה קל לפרוייקט.

אימות LDAP איטי

אם אימות LDAP איטי ויש לך אשכול AD, נסה לציין בשדה המארח את אחד השרתים הפיזיים של AD. זה עשוי לעזור.

OpenDS

אם אתה משתמש בשרת OpenDS, ייתכן שתיתקל בבעיות בבקרת הבקשה "תוצאות בדף" שנשלחה עם השאילתה הראשונית המחפשת את המשתמש על ידי מאפיין הכניסה שצוין. בקרת בקשה זו 1.2.840.113556.1.4.319 אינה מורשית למשתמשים אנונימיים כברירת מחדל, ובכך מונעת מאיזי פרויקט למצוא את המשתמש בספרייה עוד לפני שהכריכה מתרחשת.

הוסף ACI גלובלי כזה

./dsconfig -h SERVER_IP -p 4444 -D cn = "מנהל ספריות" -w סיסמת -n set-control-control-handler-prop -trustAll - להוסיף global-aci: \ (targetcontrol = \ "1.2.840.113556.1.4.319 .3.0 \ "\) \ (גרסה \ 1.2.840.113556.1.4.319 \; \ acl \ \" אנונימי \ שליטה \ גישה \ אל \ XNUMX \ "\; \ allow \ \ (קרא \) \ userdn = \ "ldap: /// מישהו \" \; \)

הערה: הזן את הפקודה בשורה אחת, השתמש ב- escaping בדיוק כפי שצוין (ה \ אחרי "acl" אמור להיות "\" למרחב).

משתמשים מסוימים אינם יכולים להתחבר

בעיה: OU ספציפי של משתמשים אינו מצליח להתחבר (משתמש או סיסמה לא חוקיים) בזמן שכל האחרים. המשתמשים נמצאים באתר מרוחק, אך משתמשים בשאר ה- OUs באותו אתר לא מקבלים את השגיאה הזו.

פתרון: הבעיה היא ככל הנראה לא הקשורה להגדרות שגויות אלא לבעיה של Active Directory (AD). למשתמשים שלא הצליחו להתחבר, הוגדר שדה "כניסה אל" למחשב מסוים במאפיינים של משתמש ה- AD (ניהול AD). לאחר שינוי זה ל"כניסה מכל מקום ", זה אמור לעבוד. באופן ספציפי יותר, יש להגדיר שדה זה: משתמש משתמש -> מאפיינים -> חשבון -> כניסה מכל מקום.

בעיות עם כניסה בעת שימוש ב- LDAPS ללא אישור תקף

אתה עלול להיתקל בבעיות עם כניסה בעת שימוש ב- LDAPS ללא אישור חוקי. ב- Easy Project, אישור LDAPS מאומת תמיד. עם אישור לא חוקי, המשתמשים לא יוכלו להתחבר. כמובן, הפיתרון הנכון והארוך הוא שימוש באישור תקף. אך עד שתשיג זאת, הפתרון הזמני הוא לעבור לניהול >> אימות LDAP >> ערוך מצב אימות בהתאמה.

שנה את ההגדרה ל- LDAPS (ללא בדיקת תעודה).

באמצעות פתרון Easy Project Server תוכלו לשנות אותו בכמות גדולה מקונסולת המסילה
rails r "AuthSource.update_all (valid_peer: false)" -הייצור

או באמצעות SQL
UPhate auth_sources set verify_peer = 0;

 

במצבי Corner

  • בעת ייבוא ​​/ יצירה של משתמשים באופן אוטומטי מ- LDAP, עדיפה הגדרת ברירת המחדל של סוג המשתמש שהוזנה בטופס יצירת המשתמש על פני הגדרת ברירת המחדל של סוג המשתמש שהוזנה ב- LDAP. לאחר יצירת המשתמש, לא ניתן לשנות מאוחר יותר הגדרה זו (אלא אם כן אתה יוצר LDAP חדש).

נסה את Easy Project ב-30 יום ניסיון חינם

תכונות מלאות, מוגנת SSL, גיבויים יומיים, במיקום הגיאוגרפי שלך