במאמר הזה מוסבר איך לחבר את לקוח ה-LDAP לשירות LDAP מאובטח.
חשוב לדעת:
- חשוב לקרוא את המסמכים של הספק
הפרטים במאמר הזה לגבי חיבור לקוח LDAP לשירות LDAP מאובטח הם להפניה בלבד, והם עשויים להשתנות. בנוסף להוראות העזרה האלה, חשוב לקרוא את התיעוד של הספק כדי לקבל את השלבים העדכניים ביותר לחיבור הלקוח לשירות LDAP מאובטח. - לפני שמתחילים
לפני שמשתמשים בהוראות האלה, צריך לוודא שהוספתם את הלקוח לשירות LDAP מאובטח, הגדרתם הרשאות גישה, הורדתם אישור ומפתח של לקוח, ואם רוצים, יצרתם פרטי גישה. - בדיקת הקישוריות
לפני שמתחילים בשלבים האלה, אפשר לבצע בדיקת חיבור מהירה באמצעות כלים פשוטים כמו ldapsearch, ADSI ו-ldp.exe. אפשר להשתמש בכלים האלה גם לפתרון בעיות אם נתקלים בשגיאות בניסיון לחבר את לקוח ה-LDAP לשירות. הוראות מפורטות מופיעות במאמר בנושא בדיקת קישוריות מאובטחת של LDAP. - איך משלימים את שלבי ההגדרה
אחרי שמחברים את לקוח ה-LDAP לפי ההוראות בדף הזה, צריך להשלים את ההגדרה של לקוח ה-LDAP על ידי שינוי סטטוס השירות לפעיל במסוף Google Admin. הוראות מפורטות מופיעות בקטע 5. מעבירים את המתג שליד 'לקוחות LDAP' למצב מופעל.
מה כולל המאמר הזה
המאמר הזה כולל את הקטעים הבאים:
- הוראות בסיסיות להגדרה – כוללות הוראות כלליות לחיבור לקוחות LDAP שלא מפורטים במאמר הזה.
- הוראות להגדרת לקוחות LDAP ספציפיים – כולל הוראות לחיבור לקוחות LDAP ספציפיים (כמו Atlassian Jira או OpenVPN) לשירות LDAP מאובטח. השלבים משתנים בהתאם לסוג הלקוח.
- הוראות להגדרת אפליקציות Java – כולל הוראות כלליות לאפליקציות מבוססות Java שמציעות פונקציונליות של LDAP.
- אופציונלי: שימוש ב-stunnel כשרת proxy – בקטע הזה יש הוראות שמפרטות שיקולים נוספים כשמתחברים ללקוחות LDAP שלא תומכים בתעודות דיגיטליות.
ההוראות האלה מניחות ששמות הקבצים של המפתח והאישור שהורדתם הם ldap-client.key ו-ldap-client.crt.
הוראות הגדרה בסיסיות
בקטע הזה מפורטות הוראות כלליות לחיבור לקוח LDAP לשירות LDAP מאובטח. אם לקוח ה-LDAP שלכם לא מופיע בהוראות שלמטה, כדאי לעיין בתיעוד של האפליקציה.
הערה: לקוחות LDAP מסוימים, כמו Atlassian Jira ו-SSSD, מבצעים חיפוש משתמש כדי לקבל מידע נוסף על משתמש במהלך אימות המשתמש. כדי לוודא שאימות המשתמשים פועל בצורה תקינה בלקוחות LDAP כאלה, צריך להפעיל את האפשרות קריאת פרטי המשתמש בכל היחידות הארגוניות שבהן מופעלת האפשרות אימות פרטי הכניסה של המשתמש. (הוראות מפורטות מופיעות במאמר הגדרת הרשאות גישה).
כדי לחבר את לקוח LDAP לשירות LDAP מאובטח:
- מגדירים את לקוח ה-LDAP עם Cloud Directory כשרת ה-LDAP.
מעלים את האישור ללקוח ה-LDAP.
שירות ה-LDAP המאובטח משתמש באישור לקוח TLS כמנגנון האימות העיקרי. כדי להתחיל בתהליך ההעלאה של האישור ללקוח ה-LDAP, פותחים את הגדרות האימות או הספרייה של לקוח ה-LDAP ומזינים את הפרטים מהטבלה שלמטה.
הערה: פרטים מלאים על אופן ההעלאה של אישורי TLS ומיקום ההעלאה מופיעים במסמכי הספק.
בטבלה הבאה מפורט מידע בסיסי על החיבור:
|
שם מארח |
ldap.google.com |
|---|---|
|
יציאות |
389 ל-LDAP עם StartTLS מופעל |
|
Base DN |
הדומיין שלכם בפורמט DN. לדוגמה: dc=example,dc=com עבור example.com |
|
שם משתמש וסיסמה |
בנוסף לאימות באמצעות אישור, חלק מלקוחות ה-LDAP מחייבים הזנה של שם משתמש וסיסמה. אם לא חובה למלא את השדות של שם המשתמש והסיסמה, אפשר לדלג על השלב הזה. יוצרים שם משתמש וסיסמה במסוף Google Admin. הוראות מפורטות מופיעות במאמר בנושא יצירת פרטי גישה. |
|
קבצים של אישור לקוח ומפתחות |
משתמשים באישור ובקובץ המפתח שהורדתם ממסוף Google Admin. אם לקוח ה-LDAP לא מספק דרך לאימות באמצעות אישור לקוח, אפשר לעיין במאמר בנושא שימוש ב-stunnel כפרוקסי. חשוב: חלק מלקוחות LDAP, כמו Apache Directory Studio, לא תומכים בהעלאה של אישורים דיגיטליים. כדי לפתור את הבעיה בתרחיש הזה, אפשר לעיין במאמר בנושא שימוש ב-stunnel כשרת proxy. |
הוראות להגדרת לקוחות LDAP ספציפיים
ADSI Edit (Windows)
כך עושים זאת:
- פועלים לפי שלבים 1 עד 11 במאמר ldp.exe (Windows) כדי להתקין את אישורי הלקוח.
- עוברים אל פעולה > התחברות אל…
- מזינים את הגדרות החיבור הבאות:
שם: מקלידים שם לחיבור, כמו Google LDAP.
נקודת חיבור: 'בחירה או הקלדה של שם ייחודי או הקשר שמות'
מזינים את שם הדומיין בפורמט DN (לדוגמה, dc=example,dc=com עבור example.com).
מחשב: 'בחירה או הקלדה של דומיין או שרת'
ldap.google.com
השתמש בהצפנה מבוססת SSL: מסומן
- לוחצים על Advanced... ומזינים את הפרטים הבאים:
Specify credentials: (ציון פרטי כניסה): מסומן
Username: (שם משתמש): שם המשתמש של פרטי הגישה ממסוף Admin
Password: (סיסמה): הסיסמה של פרטי הגישה ממסוף Admin
Port Number: (מספר יציאה): 636
Protocol: (פרוטוקול): LDAP
Simple bind authentication: (אימות פשוט של קישור): מסומן
- לוחצים על אישור ואז שוב על אישור.
- אם החיבור יצליח, התוכן של Active Directory ב-DN הבסיסי יוצג בחלונית השמאלית.
Apache Directory Studio
כדי להשתמש ב-Apache Directory Studio, צריך להתחבר דרך stunnel ולהשתמש בפרטי גישה (שם משתמש וסיסמה) שנוצרו במסוף Google Admin. בהנחה שפרטי הכניסה קיימים, ובהנחה ש-stunnel מאזין ליציאה localhost 1389, פועלים לפי השלבים הבאים:
- לוחצים על קובץ > חדש…
- בוחרים באפשרות LDAP Browser > LDAP Connection (דפדפן LDAP > חיבור LDAP).
- לוחצים על הבא.
- מזינים את פרמטרי החיבור:
שם החיבור: בוחרים שם, כמו Google LDAP
שם המארח: localhost
יציאה: 1389 (או יציאת ההאזנה/הקבלה של stunnel)
שיטת ההצפנה: ללא הצפנה (הערה: אם stunnel פועל מרחוק, מומלץ להצפין את הנתונים בין stunnel לבין הלקוח).
- לוחצים על הבא.
- מזינים את פרמטרי האימות:
שיטת אימות: אימות פשוט
Bind DN or user: שם המשתמש של פרטי הגישה ממסוף Admin
Bind password: הסיסמה של פרטי הגישה ממסוף Admin
- לוחצים על הבא.
- מזינים את ה-DN הבסיסי.
זה שם הדומיין בפורמט DN (dc=example,dc=com עבור example.com). - לוחצים על סיום.
Atlassian Jira
מערכת Atlassian Jira מבצעת חיפוש משתמשים כדי לקבל מידע נוסף על משתמש במהלך אימות המשתמש. כדי לוודא שאימות המשתמשים פועל בצורה תקינה בלקוח ה-LDAP הזה, צריך להפעיל את האפשרויות קריאת פרטי משתמש וקריאת פרטי קבוצה בכל היחידות הארגוניות שבהן מופעלת האפשרות אימות פרטי הכניסה של משתמשים. (הוראות מפורטות מופיעות במאמר בנושא הגדרת הרשאות גישה).
חשוב: שימוש בהוראות הבאות עלול לחשוף את keystorePassword למשתמשים ולקובצי יומן. חשוב לנקוט אמצעי זהירות כדי למנוע גישה לא מורשית למעטפת המקומית, לקובץ היומן ולמסוף Google Admin. במקום ההוראות הבאות, אפשר להשתמש בשיטה stunnel4 (ראו אופציונלי: שימוש ב-stunnel כשרת proxy).
הערה: ההוראות הבאות מניחות שמערכת Jira מותקנת בנתיב /opt/atlassian/jira.
כדי לחבר לקוח Atlassian Jira לשירות LDAP מאובטח:
- מעתיקים את האישור ואת המפתח לשרתים של Jira. (זהו האישור שנוצר במסוף Google Admin בזמן הוספת לקוח ה-LDAP לשירות ה-LDAP המאובטח).
לדוגמה:
$ scp ldap-client.key user@jira-server:
- ממירים את האישור והמפתחות לפורמט של Java keystore. במהלך התהליך הזה תתבקשו להזין סיסמאות. כדי לפשט את התהליך, בוחרים סיסמה מאובטחת ומשתמשים בה בכל ההנחיות.
$ openssl pkcs12 -export -out jira-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
$ sudo /opt/atlassian/jira/jre/bin/keytool -v -importkeystore -srckeystore jira-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore /opt/atlassian/jira/jira-ldap.jks -deststoretype JKS
- מגדירים את Jira כך שישתמש במאגר המפתחות החדש. פועלים לפי ההוראות כאן כדי להוסיף אפשרויות:
"-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password"
ב-Linux:- עורכים את /opt/atlassian/jira/bin/setenv.sh.
- מחפשים את ההגדרה JVM_SUPPORT_RECOMMENDED_ARGS.
- מוסיפים את המחרוזת "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password", ומחליפים את "password" בסיסמה שבחרתם למעלה.
- מפעילים מחדש את Jira.
$ /opt/atlassian/jira/bin/stop-jira.sh
$ /opt/atlassian/jira/bin/start-jira.sh
- נכנסים לממשק האינטרנט של Jira כאדמינים.
- עוברים אל הגדרות > ניהול משתמשים. (כדי להגיע להגדרות, לוחצים על סמל גלגל השיניים בפינה השמאלית העליונה).
- לוחצים על ספריות משתמשים.
- לוחצים על הוספת ספרייה.
- בוחרים באפשרות LDAP כסוג.
- לוחצים על הבא.
- הזן את הפרטים הבאים:
שם
Google Secure LDAP
סוג המדריך
OpenLDAP
שם מארח
ldap.google.com
יציאה
636
שימוש ב-SSL
מסומנת
שם משתמש
יוצרים שם משתמש וסיסמה במסוף Google Admin. הוראות מפורטות מופיעות במאמר בנושא יצירת פרטי גישה.
סיסמה
יוצרים שם משתמש וסיסמה במסוף Google Admin. הוראות מפורטות מופיעות במאמר בנושא יצירת פרטי גישה.
Base DN
שם הדומיין בפורמט DN. (לדוגמה, dc=example,dc=com עבור example.com)
DN של משתמש נוסף
אופציונלי. "ou=Users"
Additional Group DN
אופציונלי. "ou=Groups"
הרשאות LDAP
קריאה בלבד
הגדרות מתקדמות
ללא שינוי
הגדרות של סכימת משתמשים >
מאפיין שם המשתמשgoogleUid
הגדרות של סכימת משתמשים >
מאפיין RDN של שם המשתמשuid
Group Schema Settings >
Group Object ClassgroupOfNames
הגדרות סכימת קבוצה >
מסנן אובייקטים של קבוצה(objectClass=groupOfNames)
הגדרות סכימת המינוי >
מאפיין חברי הקבוצהחבר מועדון
הגדרות סכימת החברות >
שימוש במאפיין חברות המשתמשמסומנת - נותנים תפקיד לקבוצה.
כדי שמשתמש יוכל להתחבר ל-Atlassian Jira, הוא צריך להיות חבר בקבוצה שיש לה גישה ל-Jira.
כדי להעניק תפקיד לקבוצה:- עוברים אל הגדרות > אפליקציות > גישה לאפליקציות.
- בתיבת הטקסט Select group (בחירת קבוצה), מזינים את השם של קבוצת Google שרוצים לתת לה גישה ל-Jira.
CloudBees Core / Jenkins
הוראות לחיבור CloudBees Core לשירות LDAP מאובטח זמינות במאמר Configure CloudBees Core with Google's Cloud Identity Secure LDAP.
FreeRadius
כך עושים זאת:
- מתקינים ומגדירים את FreeRADIUS בנתיב /etc/freeradius/3.0/.
אחרי שמתקינים את FreeRADIUS, אפשר להוסיף את הגדרת ה-LDAP על ידי התקנת הפלאגין freeradius-ldap.
$ sudo apt-get install freeradius freeradius-ldap
- מעתיקים את קובצי המפתח והאישור של לקוח ה-LDAP אל /etc/freeradius/3.0/certs/ldap-client.key ו-/etc/freeradius/3.0/certs/ldap-client.crt בהתאמה.
$ chown freeradius:freeradius
/etc/freeradius/3.0/certs/ldap-client.*
$ chmod 640 /etc/freeradius/3.0/certs/ldap-client.*
- מפעילים את מודול ה-LDAP.
$ cd /etc/freeradius/3.0/mods-enabled/
$ ln -s ../mods-available/ldap ldap
- עורכים את הקובץ /etc/freeradius/3.0/mods-available/ldap.
- ldap->server = 'ldaps://ldap.google.com:636'
- identity = שם המשתמש מפרטי הכניסה לאפליקציה
- סיסמה = סיסמה מפרטי הכניסה של האפליקציה
- base_dn = 'dc=domain,dc=com'
- tls->start_tls = no
- tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
- tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
- tls->require_cert = 'allow'
- מוסיפים הערה לכל השדות בנתיב הניווט שמייצגים את הקטע ldap -> post-auth -> update
- עורכים את הקובץ /etc/freeradius/3.0/sites-available/default.
הפעולה הזו משנה את החיבור של לקוח FreeRadius. אם אתם לא משתמשים בלקוח ברירת המחדל, הקפידו לעדכן את הלקוח הרלוונטי (מנהרת פנימית או לקוח בהתאמה אישית) שהגדרתם.
- משנים את הקטע authorize כדי להוסיף את הבלוק הבא בתחתית אחרי ההצהרה של פרוטוקול אימות הסיסמה (PAP):
if (User-Password) {
update control {
Auth-Type := ldap
}
}
- בקטע authorize, מסירים את הסימן '-' לפני LDAP כדי להפעיל אותו.
#
# The ldap module reads passwords from the LDAP database.
ldap
- משנים את הקטע authenticate על ידי עריכת הבלוק Auth-Type LDAP באופן הבא:
# Auth-Type LDAP {
ldap
# }
- משנים את הקטע authenticate על ידי עריכת הבלוק Auth-Type PAP באופן הבא:
Auth-Type PAP {
# pap
ldap
}
- משנים את הקטע authorize כדי להוסיף את הבלוק הבא בתחתית אחרי ההצהרה של פרוטוקול אימות הסיסמה (PAP):
GitLab
הוראות לחיבור GitLab לשירות LDAP מאובטח זמינות במאמר הגדרת LDAP מאובטח של Google ל-GitLab.
Itopia/Ubuntu
הוראות לחיבור Itopia/Ubuntu לשירות LDAP מאובטח מופיעות במאמר הגדרת Google Cloud Identity LDAP ב-Ubuntu 16.04 לכניסות של משתמשים.
Ivanti / LanDesk
כך עושים זאת:
- בשרת האינטרנט של Ivanti, פותחים את OpenLDAPAuthenticationConfiguration.xml או את OpenLDAPSSLAuthenticationConfiguration.xml בעורך טקסט בשתי התיקיות הבאות:
C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework ו-C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (כאשר servicedesk הוא שם המופע) - מעדכנים את הערך <Server> ל-ldap.google.com.
- מעדכנים את הערך של <Port> ליציאה 3268 לטקסט לא מוצפן עם StartTLS מופעל, וליציאה 3269 ליציאת SSL/TLS (ברירות המחדל הן 389 ליציאה של טקסט לא מוצפן או 636 ליציאת SSL/TLS).
- מגדירים את הערך <TestDN> לשם הדומיין בפורמט DN. (לדוגמה, dc=example,dc=com עבור example.com).
- גם ל-..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config וגם ל-..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config, מוסיפים את השורה:
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />
או את השורה:
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
- ב-Ivanti Configuration Center, פותחים את המופע הנדרש.
- לצד האפליקציה Service Desk Framework, לוחצים על עריכה.
מופיעה תיבת הדו-שיח Edit Application (עריכת האפליקציה) של Service Desk Framework. - בקטע Configuration parameters, בוחרים באפשרות Explicit only ברשימה Logon policy ולוחצים על OK.
- לצד האפליקציה Web Access, לוחצים על עריכה.
מופיעה תיבת הדו-שיח Edit Application (עריכת האפליקציה) של Web Access. - בקטע פרמטרים של הגדרות, בוחרים באפשרות Explicit only ברשימה Logon policy ולוחצים על OK.
כשמתחברים, משתמשים בסיסמה של המשתמש ברשת שמשויכת לדומיין.
רישום חריגים ביומן לאימות שרת LDAP
אם נתקלתם בבעיות בהגדרת אימות שרת LDAP, אתם יכולים להפעיל רישום של חריגים כדי לזהות את הבעיה. האפשרות הזו מושבתת כברירת מחדל, ואנחנו ממליצים להשבית שוב את רישום היוצאים מן הכלל אחרי שמסיימים את הבדיקות.
כדי להפעיל רישום ביומן של חריגות באימות של שרת LDAP:
- פותחים את קובץ ה-XML המתאים של הגדרות האימות בעורך טקסט:
DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml או OpenLDAPSSLAuthenticationConfiguration.xml - משנים את השורה:
<ShowExceptions>false</ShowExceptions>
ל-
<ShowExceptions>true</ShowExceptions>
- שומרים את השינויים.
Ldp.exe (Windows)
כך עושים זאת:
- ממירים את קובצי האישור והמפתח לקובץ אחד בפורמט PKCS12. בשורת הפקודה, מזינים את הפקודה הבאה:
אם אתם משתמשים ב-macOS או ב-Linux, מזינים את הפקודות הבאות:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
מזינים סיסמה להצפנת קובץ הפלט.
אם אתם משתמשים ב-Windows, תוכלו להשתמש בפקודות הבאות:
$ certutil -mergepfx ldap-client.crt ldap-client.p12
חשוב: שני הקבצים (<CERT_FILE>.crt ו-<CERT_FILE>.key) צריכים להיות באותה ספרייה. בנוסף, מוודאים שלשני הקבצים, key ו-crt, יש שם זהה (עם סיומת שונה). בדוגמה הזו, השתמשנו בשמות ldap-client.crt ו-ldap-client.key. - עוברים אל לוח הבקרה.
- בתיבת החיפוש, מחפשים את האפשרות 'אישור' ולוחצים על ניהול אישורים של משתמשים.
- עוברים אל פעולה > כל המשימות > ייבוא…
- בוחרים באפשרות משתמש נוכחי ולוחצים על הבא.
- לוחצים על עיון….
- בתפריט הנפתח סוג הקובץ בפינה השמאלית התחתונה של תיבת הדו-שיח, בוחרים באפשרות Personal Information Exchange (*.pfx;*.p12).
- בוחרים את הקובץ ldap-client.p12 משלב 2, לוחצים על פתיחה ואז על הבא.
- מזינים את הסיסמה משלב 2 ולוחצים על הבא.
- בוחרים את מאגר האישורים Personal, לוחצים על Next ואז על Finish.
- מריצים את Ldp.exe.
- עוברים אל חיבור > חיבור...
- מזינים את פרטי החיבור הבאים:
שרת: ldap.google.com
יציאה: 636
ללא חיבור: לא מסומן
SSL: מסומן
- לוחצים על אישור.
- עוברים אל תצוגה > עץ.
- מזינים את ה-DN הבסיסי. זה שם הדומיין שלכם בפורמט DN. (לדוגמה, dc=example,dc=com עבור example.com).
- לוחצים על אישור.
- אם החיבור יצליח, LDP.exe יציג את התוכן של Active Directory—כמו כל המאפיינים שקיימים בשם המבחין הבסיסי—בחלונית הימנית.
Netgate / pfSense
הוראות לחיבור Netgate/pfSense לשירות LDAP מאובטח מופיעות במאמר הגדרת Google Cloud Identity כמקור אימות.
OpenLDAP / ldapsearch (Linux)
כדי לגשת לספריית ה-LDAP משורת הפקודה, אפשר להשתמש בפקודה ldapsearch של OpenLDAP.
בהנחה שקובצי האישור והמפתח של הלקוח הם ldap-client.crt ו-ldap-client.key, הדומיין הוא example.com ושם המשתמש הוא jsmith:
$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=example,dc=com '(uid=jsmith)'
הפעולה הזו מגדירה את משתני הסביבה הרלוונטיים כך שיצביעו על מפתחות הלקוח. אפשר להחליף את האפשרויות האחרות של ldapsearch במסננים הרצויים, במאפיינים המבוקשים וכן הלאה. פרטים נוספים מופיעים בדפי ההוראות של ldapsearch (man ldapsearch).
ldapsearch (macOS)
כך עושים זאת:
- ממירים את קובצי האישור והמפתח לקובץ אחד בפורמט PKCS12. בשורת הפקודה, מזינים את הפקודה הבאה:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
מזינים את הסיסמה כדי להצפין את קובץ הפלט.
- לוחצים על
בפינה השמאלית העליונה של סרגל התפריטים, ומקלידים Keychain Access.
- פותחים את האפליקציה Keychain Access וברשימה שמימין לוחצים על System (מערכת).
- לוחצים על האפשרות קובץ בסרגל התפריטים בפינה הימנית העליונה ובוחרים באפשרות ייבוא פריטים.
- עוברים למיקום שבו נוצר הקובץ ldap-client.p12, בוחרים את ldap-client.p12 ולוחצים על פתיחה.
אם מוצגת בקשה, מזינים את הסיסמה.
אישור בשם LDAP Client אמור להופיע עכשיו ברשימת האישורים של System Keychain. - לוחצים על החץ לצד האישור של לקוח LDAP. מתחתיו מופיע מפתח פרטי.
- לוחצים לחיצה כפולה על המפתח הפרטי.
- בתיבת הדו-שיח, בוחרים בכרטיסייה בקרת גישה ולוחצים על + בפינה הימנית התחתונה.
-
בחלון שנפתח, מקלידים Command+Shift+G כדי לפתוח חלון חדש, ואז מחליפים את הטקסט הקיים ב-/usr/bin/ldapsearch.
-
Click Go.
ייפתח חלון עם ldapsearch מודגש. -
לוחצים על הוספה.
-
לוחצים על שמירת שינויים ומזינים את הסיסמה אם מתבקשים.
עכשיו אפשר לגשת לספריית ה-LDAP משורת הפקודה באמצעות הפקודה ldapsearch של OpenLDAP.
-
בהנחה שהקובץ ldap-client.p12 שיובא קודם למחזיק המפתחות נקרא LDAP Client, הדומיין הוא example.com ושם המשתמש הוא jsmith, מזינים את הפרטים הבאים:
$ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'
הפעולה הזו מגדירה את משתני הסביבה הרלוונטיים כך שיצביעו על אישור הלקוח המיובא. אפשר להחליף את האפשרויות האחרות של ldapsearch במסננים הרצויים, במאפיינים המבוקשים וכן הלאה. פרטים נוספים זמינים בדפי ההסבר של ldapsearch (man ldapsearch).
OpenVPN (גרסת קהילה)
כך עושים זאת:
- אם צריך, מתקינים ומגדירים את OpenVPN, או אם כבר עשיתם את זה, פותחים את דף ההגדרות ב-OpenVPN.
הגדרת VPN כללית היא מעבר להיקף של מאמר העזרה הזה. אחרי שמגדירים VPN, אפשר להוסיף אימות והרשאה של משתמשים באמצעות LDAP. בפרט, תצטרכו להתקין את הפלאגין openvpn-auth-ldap.
$ sudo apt-get install openvpn openvpn-auth-ldap
- מעתיקים את קובצי המפתח והאישור של לקוח ה-LDAP אל /etc/openvpn/ldap-client.key ו-/etc/openvpn/ldap-client.crt.
- יוצרים קובץ, /etc/openvpn/auth-ldap.conf, שמכיל את הטקסט הבא (בהנחה ש-example.com הוא שם הדומיין):
<LDAP>
URL ldaps://ldap.google.com:636 #
Timeout 15
TLSEnable false
TLSCACertDir /etc/ssl/certs
TLSCertFile /etc/openvpn/ldap-client.crt
TLSKeyFile /etc/openvpn/ldap-client.key
</LDAP>
<Authorization>
BaseDN "dc=example,dc=com"
SearchFilter "(uid=%u)" # (or choose your own LDAP filter for users)
RequireGroup false
</Authorization>
- עורכים את קובץ התצורה של OpenVPN, שלרוב נקרא /etc/openvpn/server.conf או שם דומה. בתחתית הקובץ, מוסיפים את הטקסט הבא:
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
verify-client-cert optional
- מפעילים מחדש את שרת OpenVPN.
$ sudo systemctl restart openvpn@server
- מגדירים את לקוחות ה-VPN כך שישתמשו בשמות המשתמשים ובסיסמאות של המשתמשים. לדוגמה, בהגדרת לקוח OpenVPN, מוסיפים את auth-user-pass לסוף קובץ ההגדרה של לקוח OpenVPN ומפעילים את לקוח OpenVPN:
$ openvpn --config /path/to/client.conf
- פועלים לפי ההוראות לשימוש ב-stunnel כשרת proxy.
OpenVPN Access Server (גרסה מסחרית)
הוראות לחיבור OpenVPN Access Server לשירות LDAP מאובטח זמינות במאמר הגדרת Google Secure LDAP עם OpenVPN Access Server.
PaperCut MF ו-NG
הוראות לחיבור PaperCut לשירות LDAP מאובטח מפורטות במאמר איך מסנכרנים ומאמתים משתמשים ב-Google Workspace וב-Google Cloud Identity ב-PaperCut.
Puppet Enteprise
הוראות לחיבור Puppet Enterprise לשירות LDAP מאובטח מופיעות במאמר Google Cloud Directory for PE.
Softerra LDAP Browser
חשוב: לפני שמתחילים, צריך לוודא שהתקנתם את Softerra LDAP Browser בגרסה 4.5 (4.5.19808.0) ואילך. מידע על LDAP Browser 4.5
כך עושים זאת:
- ממירים את קובצי האישור והמפתח לקובץ אחד בפורמט PKCS12. בשורת הפקודה, מזינים את הפקודה הבאה:
אם אתם משתמשים ב-macOS או ב-Linux, מזינים את הפקודות הבאות:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
מזינים סיסמה להצפנת קובץ הפלט.
אם אתם משתמשים ב-Windows, תוכלו להשתמש בפקודות הבאות:
$ certutil -mergepfx ldap-client.crt ldap-client.p12
חשוב: שני הקבצים (<CERT_FILE>.crt ו-<CERT_FILE>.key) צריכים להיות באותה ספרייה. בנוסף, מוודאים שלשני הקבצים, key ו-crt, יש שם זהה (עם סיומת שונה). בדוגמה הזו, השתמשנו בשמות ldap-client.crt ו-ldap-client.key. - ב-Softerra LDAP Browser, מתקינים את צמד המפתחות.
- עוברים אל כלים > Certificate Manager.
- לוחצים על ייבוא….
- לוחצים על הבא.
- לוחצים על עיון….
- ברשימה הנפתחת סוג הקובץ בפינה השמאלית התחתונה של תיבת הדו-שיח, בוחרים באפשרות Personal Information Exchange (*.pfx;*.p12).
- בוחרים את הקובץ ldap-client.p12 משלב 2 שלמעלה.
- לוחצים על פתיחה ואז על הבא.
- מזינים את הסיסמה משלב 2 שלמעלה ולוחצים על הבא.
- בוחרים את מאגר האישורים Personal (אישי).
- לוחצים על הבא.
- לוחצים על סיום.
- מוסיפים פרופיל שרת.
- עוברים אל קובץ > חדש > פרופיל חדש…
- מזינים שם לפרופיל, כמו Google LDAP.
- לוחצים על הבא.
מזינים את הפרטים הבאים:
מארח: ldap.google.com
יציאה: 636
DN בסיסי: שם הדומיין שלכם בפורמט DN. (לדוגמה, dc=example,dc=com עבור example.com)
שימוש בחיבור מאובטח (SSL): מסומן
- לוחצים על הבא.
- בוחרים באפשרות External (SSL Certificate) (חיצוני (אישור SSL)).
- לוחצים על הבא.
- לוחצים על סיום.
Sophos Mobile
הוראות לחיבור Sophos Mobile לשירות LDAP מאובטח מופיעות במאמר חיבור Sophos Mobile ל-Cloud Identity / Google Cloud Directory באמצעות LDAP מאובטח.
Splunk
כשמחברים את Splunk לשירות LDAP מאובטח, חשוב להשתמש בגרסה 8.1.4 ואילך של Splunk. כשמשתמשים בגרסאות ישנות יותר של Splunk, כמו גרסה 8.1.3, יכול להיות שיישלחו לשרת ה-LDAP יותר מדי שאילתות LDAP, וכתוצאה מכך המכסה של LDAP תנוצל במהירות. מידע נוסף על בעיות בגרסה 8.1.3 של Splunk זמין במאמר בעיות מוכרות ב-Splunk.
כך עושים זאת:
- מעתיקים את קובצי המפתח והאישור של לקוח ה-LDAP אל /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key ו-/home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt.
$ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
$ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*
$ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*
- עורכים את הקובץ ldap.conf כדי להוסיף את ההגדרות הבאות:
ssl start_tls
TLS_REQCERT never
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem - מוסיפים את ההגדרות הבאות לקובץ /home/splunkadmin/.ldaprc של המשתמש:
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
- מוסיפים את אסטרטגיית ה-LDAP באמצעות ממשק המשתמש באינטרנט של Splunk. מזינים את הפרטים הבאים ולוחצים על שמירה:
|
שם |
Google Secure LDAP |
|---|---|
|
מארח |
ldap.google.com |
|
יציאה |
636 |
|
ה-SSL מופעל |
מסומנת |
|
סדר החיבור |
1 |
|
Bind DN |
מזינים את פרטי הגישה שנוצרו במסוף Google Admin. |
|
סיסמת DN של איגוד |
מזינים את פרטי הגישה שנוצרו במסוף Google Admin. |
|
Base DN |
שם הדומיין בפורמט DN (לדוגמה, dc=example,dc=com לדומיין example.com) |
|
מסנן בסיס המשתמשים |
מזינים את המסנן User base (בסיס משתמשים) עבור מחלקת האובייקט שרוצים לסנן את המשתמשים לפי. |
|
מאפיין שם המשתמש |
uid |
|
מאפיין השם האמיתי |
displayname |
|
מאפיין האימייל |
כתובת אימייל |
|
מאפיין מיפוי קבוצה |
dn |
|
DN בסיסי של קבוצה |
שם הדומיין בפורמט DN (לדוגמה, ou=Groups,dc=example,dc=com עבור הדומיין example.com) |
|
מסנן חיפוש סטטי של קבוצות |
מזינים את מסנן החיפוש של קבוצה סטטית עבור מחלקת האובייקט שרוצים לסנן את הקבוצות הסטטיות לפיה. |
|
מאפיין שם הקבוצה |
cn |
|
מאפיין סטטי של חבר |
חבר מועדון |
SSSD (Red Hat Enterprise ו-CentOS)
מערכת SSSD מבצעת חיפוש משתמשים כדי לקבל מידע נוסף על משתמש במהלך אימות המשתמש. כדי לוודא שאימות המשתמשים פועל בצורה תקינה בלקוח ה-LDAP הזה, צריך להפעיל את האפשרויות קריאת פרטי משתמש וקריאת פרטי קבוצה בכל היחידות הארגוניות שבהן מופעלת האפשרות אימות פרטי הכניסה של משתמשים. (הוראות מפורטות מופיעות במאמר בנושא הגדרת הרשאות גישה).
כדי לחבר לקוח SSSD ב-Red Hat 8 או ב-CentOS 8 לשירות LDAP מאובטח:
- מוסיפים את לקוח SSSD לשירות LDAP מאובטח:
- במסוף Google Admin, עוברים אל אפליקציות > LDAP > הוספת לקוח.
חשוב להיכנס באמצעות החשבון הארגוני ולא באמצעות חשבון Gmail אישי. - מזינים את פרטי הלקוח ולוחצים על המשך.
- מגדירים את הרשאות הגישה:
אימות פרטי הכניסה של משתמשים – כל הדומיין
קריאת פרטי המשתמש – כל הדומיין
קריאת פרטי הקבוצה – מופעל - לוחצים על הוספה של לקוח LDAP.
- מורידים את האישור שנוצר.
- לוחצים על המשך לפרטי הלקוח.
- משנים את סטטוס השירות למופעל.
- במסוף Google Admin, עוברים אל אפליקציות > LDAP > הוספת לקוח.
- מתקינים את שאר הספריות הדרושות לצורך יצירת ספריות הלקוח:
dnf install openldap-clients sssd-ldap
install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap
מחלצים את קובץ ה- .zip של האישור ומעתיקים את קובצי ה- .crt ו- .key אל /etc/sssd/ldap
- (אופציונלי) בדיקה באמצעות ldapsearch:
LDAPTLS_REQCERT=never \
LDAPTLS_KEY=Google.key \
LDAPTLS_CERT=Google.crt \
ldapsearch -H ldaps://ldap.google.com:636/ \
-b dc=example,dc=com \
-D usertoverify@example.com \
-W \
'(mail=usertoverify@example.com)' \
mail dn
כשמוצגת בקשה, מזינים את הסיסמה של המשתמש לחשבון Google.
הערה: למשתמש צריך להיות רישיון Google Workspace Enterprise או Cloud Identity Premium. - יוצרים את הקובץ
/etc/sssd/sssd.confעם התוכן הבא:
[sssd]
services = nss, pam
domains = example.com[domain/example.com]
ldap_tls_cert = /etc/sssd/ldap/Google.crt
ldap_tls_key = /etc/sssd/ldap/Google.key
ldap_tls_reqcert = never
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=example,dc=com
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_uuid = entryUUID - מעדכנים את ההרשאות ואת התוויות של SELinux:
chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
restorecon -FRv /etc/sssd
- מפעילים מחדש את SSSD:
systemctl restart sssd
- בדיקה:
ssh לשרת:ssh -l user@example.com {HOSTNAME}
פתרון בעיות
- בודקים את גרסת SSSD (הגרסה צריכה להיות 1.15.2 ומעלה):
# sssd --version
2.2.3
-
ב-RHEL/CentOS (או בכל הפצה עם אכיפת SELinux), קובצי ההגדרות של SSSD, קובץ האישור והמפתח צריכים להיות בספרייה שאפשר לגשת אליה באמצעות התפקיד sssd_conf_t:
# egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contextsבודקים את הקובץ /var/log/audit/audit.log כדי לראות אם יש הודעות AVC deny.
- בודקים שבקובץ /etc/nsswitch.conf יש sss עבור הישויות passwd, shadow, group ו-netgroup:
passwd: files sss
shadow: files sss
group: files sss
netgroup: files sss
במקרה הזה, קבצים מקומיים יבטלו את המשתמשים ב-LDAP.
- בודקים את הקובץ /var/log/sssd.conf כדי לראות אם יש שגיאות הגדרה:
דוגמה:
[sssd] [sss_ini_add_snippets] (0x0020): Config merge error: File /etc/sssd/sssd.conf did not pass access check. מתבצע דילוג.פעולה: צריך להשתמש בפקודה chmod 600 בקובץ .conf.
דוגמה:
[sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_groups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. בודקים אם יש שגיאות הקלדה.[sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_initgroups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. בודקים אם יש שגיאות הקלדה.
פעולה: מסירים את תוספי ה-LDAP של התאמת הקבוצות שלא נתמכים מ-sssd.conf.
-
בודקים את הקובץ /var/log/sssd_{DOMAIN}.log כדי לראות אם יש שגיאות LDAP, שגיאות ברשת או שגיאות אימות.
לדוגמה:[sssd[be[example.com]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls failed: [Connect error] [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate)]
פעולה: צריך להוסיף את השורה ldap_tls_reqcert = never לקובץ sssd.conf.
כדי להגדיל את רמת הפירוט של השגיאות, מוסיפים את השורה debug_level = 9 בקובץ sssd.conf בקטע domain ומפעילים מחדש את sssd.
SSSD (מהדורות אחרות של Linux)
מערכת SSSD מבצעת חיפוש משתמשים כדי לקבל מידע נוסף על משתמש במהלך אימות המשתמש. כדי לוודא שאימות המשתמשים פועל בצורה תקינה בלקוח ה-LDAP הזה, צריך להפעיל את האפשרויות קריאת פרטי משתמש וקריאת פרטי קבוצה בכל היחידות הארגוניות שבהן מופעלת האפשרות אימות פרטי הכניסה של משתמשים. (הוראות מפורטות מופיעות במאמר בנושא הגדרת הרשאות גישה).
כדי לחבר לקוח SSSD לשירות LDAP מאובטח:
- מתקינים את SSSD בגרסה >= 1.15.2.
$ sudo apt-get install sssd
- בהנחה ששמות הקבצים של האישור והמפתח של הלקוח הם /var/ldap-client.crt ו-/var/ldap-client.key, ושם הדומיין הוא example.com, עורכים את /etc/sssd/sssd.conf עם הגדרה כמו:
[sssd]
services = nss, pam
domains = example.com[domain/example.com]
ldap_tls_cert = /var/ldap-client.crt
ldap_tls_key = /var/ldap-client.key
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=example,dc=com
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_uuid = entryUUID
ldap_groups_use_matching_rule_in_chain = true
ldap_initgroups_use_matching_rule_in_chain = true
-
משנים את הבעלות וההרשאה של קובץ התצורה:
$ sudo chown root:root /etc/sssd/sssd.conf
$ sudo chmod 600 /etc/sssd/sssd.conf -
מפעילים מחדש את SSSD:
$ sudo service sssd restart
טיפ: אם אתם משתמשים במודול SSSD במחשבי Linux ללא כתובות IP חיצוניות ב-Google Compute Engine, אתם עדיין יכולים להתחבר לשירות LDAP מאובטח, בתנאי שהפעלתם גישה פנימית לשירותי Google. פרטים נוספים זמינים במאמר בנושא הגדרת גישה פרטית ל-Google.
macOS
כדי לחבר את לקוח macOS לאימות חשבונות משתמשים באמצעות שירות LDAP מאובטח, פועלים לפי השלבים הבאים.
דרישות המערכת
- גרסת macOS צריכה להיות Catalina 10.15.4 ואילך.
- כדי להשלים את שלב 1 בשלב ההכנה, צריך להזין את מזהה המשתמש של סופר-אדמין ב-Google.
- כדי לבצע את ההגדרה הזו, צריך הרשאות אדמין מקומיות.
תוכן:
ההוראות בקטע הזה מתמקדות בהגדרה ידנית של אימות macOS ובבדיקה שלו באמצעות שירות LDAP מאובטח.
שלב 1: צירוף macOS כלקוח LDAP במסוף Google Admin
הוראות מפורטות זמינות במאמר בנושא הוספת לקוחות LDAP, או בסרטון הדגמה של LDAP מאובטח. במהלך התהליך הזה, תורידו גם אישור לקוח TLS שנוצר באופן אוטומטי.
שלב 2: מייבאים את האישור ל-keychain של המערכת
- מעתיקים את האישור (קובץ ה-ZIP שהורדתם בשלב 1) ואת המפתח למחשב macOS.
טיפ: מחלצים את הקובץ כדי למצוא את קובצי האישור והמפתח. - מייבאים את צמד המפתחות למחזיק המפתחות של המערכת:
-
ממירים את המפתח והאישור לקובץ PKCS 12 (p12). מריצים את הפקודה הבאה בטרמינל:
openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key
טיפ: כדאי לרשום את השם של קובץ ה- .p12.
המערכת תבקש מכם להזין סיסמה. מזינים סיסמה להצפנת קובץ ה-p12. -
פותחים את האפליקציה Keychain Access.
-
לוחצים על מחזיק המפתחות System.
-
לוחצים על File > Import Items (קובץ > ייבוא פריטים).
-
בוחרים את הקובץ ldap-client.p12 שנוצר למעלה.
-
אם מופיעה בקשה, מזינים את סיסמת האדמין כדי לאפשר שינוי של מחזיק המפתחות של המערכת.
-
מזינים את הסיסמה שיצרתם למעלה כדי לפענח את קובץ ה- .p12.
הערה: צפוי שיופיעו ברשימת המפתחות אישור חדש ומפתח פרטי משויך. יכול להיות שהשם שלו הוא לקוח LDAP. רושמים את שם האישור לשלב הבא שבהמשך.
- פועלים לפי שלב 6 בקטע ldapsearch (macOS) במאמר הזה כדי להגדיר בקרת גישה למפתח הפרטי, כדי להוסיף את האפליקציות שמפורטות בהמשך. אם המפתח הפרטי לא מופיע בקטגוריה All Items (כל הפריטים), נסו לעבור לקטגוריה My Certificates (האישורים שלי) ולאתר את רשומת המפתח הפרטי הנכונה על ידי הרחבת האישור המתאים.
האפליקציה ldapsearch, כפי שמצוין בהוראות, רלוונטית רק אם נדרש פתרון בעיות, ולא למטרות אחרות. בדרך כלל מסירים את ההרשאה הזו לפני שנותנים למשתמשים גישה ל-macOS.
צריך להוסיף את שלוש האפליקציות הבאות לרשימת בקרת הגישה:
/System/Library/CoreServices/Applications/Directory Utility
/usr/libexec/opendirectoryd
/usr/bin/dscl
-
-
מוסיפים שורה לקובץ /etc/openldap/ldap.conf, ומוודאים שהשם של האישור 'LDAP Client' זהה בדיוק לשם שמופיע באפליקציה Keychain Access ב-macOS אחרי ייבוא קובץ ה- .p12 (השם מגיע מהשם הנפוץ של הנושא X.509 באישור שנוצר):
sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'
שלב 3: הפניית המכשיר לספרייה של Google לצורך אימות
פותחים את האפליקציה Directory Utility כדי ליצור צומת חדש של ספריית LDAP:
- כדי לבצע שינויים, לוחצים על סמל המנעול ומזינים את הסיסמה.
- בוחרים באפשרות LDAPv3 ולוחצים על סמל העיפרון כדי לערוך את ההגדרות.
- לוחצים על חדש….
- בשדה של שם השרת, מזינים ldap.google.com, בוחרים באפשרות Encrypt using SSL (הצפנה באמצעות SSL) ולוחצים על Manual (ידני).
- בוחרים את שם השרת החדש ולוחצים על עריכה…
- מזינים שם תיאורי כמו Google Secure LDAP לשם ההגדרה.
- בוחרים באפשרות הצפנה באמצעות SSL ומוודאים שהיציאה מוגדרת לערך 636.
- עוברים לכרטיסייה חיפוש ומיפויים.
- ברשימה הנפתחת Access this LDAPv3 server using (גישה לשרת LDAPv3 הזה באמצעות), בוחרים באפשרות RFC2307.
- כשמתבקשים, מזינים את הפרטים שקשורים לדומיין בשדה Search Base Suffix (חיפוש סיומת בסיס). לדוגמה, אם שם הדומיין הוא zomato.com, מזינים
dc=zomato,dc=com. - לוחצים על אישור.
- מגדירים מאפיינים בסוג הרשומה משתמשים:
- בקטע Record Types and Attributes (סוגי רשומות ומאפיינים), בוחרים באפשרות Users (משתמשים) ולוחצים על הלחצן +.
- בחלון הקופץ, בוחרים באפשרות סוגי מאפיינים, בוחרים באפשרות GeneratedUID ולוחצים על אישור כדי לסגור את החלון הקופץ.
השדה GeneratedUID צריך להופיע בקטע Users אחרי שמרחיבים אותו.
- לוחצים על GeneratedUID ואז על הסמל + בתיבה בצד שמאל.
- מזינים apple-generateduid בתיבת הטקסט ולוחצים על Enter.
- בצומת משתמשים, לוחצים על המאפיין NFSHomeDirectory.
- במסך שמשמאל, מעדכנים את הערך של המאפיין הזה ל-
#/Users/$uid$ - לוחצים על OK (אישור) ומזינים את הסיסמה כדי לשמור את השינויים.
- בחלון Directory Utility, מגדירים את תצורת ה-LDAP החדשה:
- עוברים לכרטיסייה מדיניות החיפוש.
- כדי לבצע שינויים, לוחצים על סמל הנעילה ומזינים את הסיסמה של המשתמש הנוכחי כשמוצגת בקשה לכך.
- משנים את האפשרות בתפריט הנפתח מנתיב חיפוש לנתיב מותאם אישית.
- פותחים את הכרטיסייה אימות ולוחצים על הסמל +.
- בוחרים באפשרות
/LDAPv3/ldap.google.comמהרשימה 'דומיינים בספרייה' ולוחצים על הוספה. - לוחצים על הכפתור Apply (אישור) ומזינים את סיסמת האדמין אם מוצגת בקשה.
- מריצים את ארבע הפקודות הבאות כדי להשבית את מנגנוני האימות DIGEST-MD5, CRAM-MD5, NTLM ו-GSSAPI SASL. מערכת macOS תשתמש ב-Simple Bind כדי לבצע אימות באמצעות שירות ה-LDAP המאובטח של Google:
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
- מפעילים מחדש כדי לטעון מחדש את ההגדרה של OpenDirectory.
שלב 4: יצירת חשבון המכשיר הנייד (מאפשרת כניסה במצב אופליין)
כל משתמש ב-Google Workspace או ב-Cloud Identity יכול להתחבר באמצעות חשבון רשת (חשבון Google) עם שם המשתמש והסיסמה שלו. תהליך ההתחברות הזה דורש קישוריות לרשת. אם משתמש צריך להתחבר לרשת או לא, אפשר ליצור חשבון המכשיר הנייד. חשבון המכשיר הנייד מאפשר לכם להשתמש בשם המשתמש והסיסמה של החשבון ברשת (חשבון Google) כדי להיכנס לחשבון, בין אם אתם מחוברים לרשת ובין אם לא. פרטים נוספים זמינים במאמר בנושא יצירה והגדרה של חשבונות ניידים ב-Mac.
כדי ליצור חשבון המכשיר הנייד למשתמשי LDAP מאובטח:
-
מריצים את הפקודה הבאה כדי להתחבר לשרת LDAP מאובטח ולהגדיר נתיב ביתי וחשבונות המכשיר הנייד:
sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v
טיפ: מחליפים את $uid בחלק של שם המשתמש בכתובת האימייל שמשויכת לחשבון Google של המשתמש. לדוגמה, jsmith הוא שם המשתמש בכתובת jsmith@solarmora.com. -
כשמופיעה בקשה להזין את שם המשתמש של האדמין ב-SecureToken, מזינים את שם המשתמש של האדמין ומזינים את הסיסמה בבקשה הבאה. הפעולה הזו תוסיף את $uid ל-FileVault. הפעולה הזו נדרשת אם הדיסק ב-macOS מוצפן.
שלב 5: (אופציונלי) הגדרת ההעדפה של מסך הכניסה
- עוברים אל העדפות מערכת > משתמשים וקבוצות > אפשרויות כניסה בפינה הימנית התחתונה.
- כדי לבטל את הנעילה, צריך להזין את פרטי הכניסה של האדמין.
- משנים את ההגדרה הצגת חלון הכניסה כ לשם וסיסמה.
שלב 6: מפעילים מחדש את המכשיר ונכנסים לחשבון
- מוודאים שהמכשיר מחובר לאינטרנט. אם אין לכם חיבור לאינטרנט, לא תוכלו להתחבר באמצעות משתמש LDAP מאובטח.
הערה: נדרש חיבור לאינטרנט רק לכניסה הראשונה. אפשר לבצע כניסות נוספות בלי גישה לאינטרנט. - נכנסים למכשיר באמצעות חשבון המשתמש שהוגדר לשימוש ב-LDAP מאובטח לאימות.
ההוראות במאמר הזה מתמקדות באוטומציה של הגדרת המכשיר עבור המשתמשים. מבצעים את שלבים 1 ו-2 שבהמשך באותו מכשיר macOS שבו השלמתם את ההגדרה הידנית בשלב ההכנה.
שלב 1: יצירת פרופיל Mac עם אישור באמצעות Apple Configurator 2
- מתקינים את Apple Configurator 2 במחשב שבו הגדרתם אימות macOS באופן ידני באמצעות LDAP מאובטח.
- פותחים את Apple Configurator 2, יוצרים פרופיל חדש ובקטע Certificate, לוחצים על Configure ומייבאים את קובץ ה- .p12 שנוצר קודם.
הערה: חשוב לוודא שלקובץ ה- .p12 הזה יש סיסמה. מזינים את הסיסמה הזו בקטע 'סיסמה' של האישור.
- שומרים את הפרופיל.
- (במכשירים עם מעבדי M1 או M2, מדלגים על השלב הזה וממשיכים לשלב 5. ) פותחים את הפרופיל הזה בכל כלי לעריכת טקסט ומוסיפים את השורות הבאות בתג <dict> הראשון:
<key>PayloadScope</key>
<string>System</string>
התוספת הזו נדרשת כי Apple Configurator עדיין לא תומך בפרופילים ל-macOS.
- בתג השני <dict>, במקביל לנתוני האישור, מוסיפים את השורות הבאות:
<key>AllowAllAppsAccess</key>
<true/>
כך מוודאים שכל האפליקציות יוכלו לגשת לאישור הזה.
שלב 2: המרת קובץ התצורה של הספרייה (plist) ל-XML
בשלב הזה, אתם מחלצים לקובץ XML את כל ההגדרות הידניות שהשלמתם במהלך שלב 3 של שלב ההכנה. אתם יכולים להשתמש בקובץ הזה ובפרופיל Mac שנוצר בשלב 1 שלמעלה כדי להגדיר באופן אוטומטי מכשירי macOS אחרים.
- מעתיקים את הקובץ /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist לשולחן העבודה או למיקום אחר.
- להמיר אותו ל-XML כדי שתוכלו לבדוק אותו בכל עורך טקסט. מריצים את הפקודה הבאה בטרמינל:
sudo plutil -convert xml1 <path>/ldap.google.com.plist
אפשר לגשת לקובץ בתור<path>/ldap.google.com.plist.
- משנים את ההרשאה של הקובץ שלמעלה כדי שתוכלו לפתוח את קובץ ה-XML. מוודאים שהיא לא ריקה.
שלב 3: יצירת סקריפט Python לאוטומציה של ההגדרה במכשירי משתמשי הקצה
מעתיקים את סקריפט Python שמוצג למטה ושומרים אותו כקובץ Python (קובץ .py).
הערה: סקריפט הדוגמה הזה מיועד להיות תואם לגרסה 3.10.x של Python. הסקריפט הזה מסופק כמו שהוא. צוות התמיכה של Google לא מספק תמיכה בסקריפטים לדוגמה.
Ldap_python_config.py
#!/usr/bin/python
from OpenDirectory import ODNode, ODSession, kODNodeTypeConfigure
from Foundation import NSMutableData, NSData
import os
import sys
# Reading plist
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()
# Write the plist
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b' '*32, 32)
request.appendData_(NSData.dataWithBytes_length_(str.encode(CONFIG), len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)
# Edit the default search path and append the new node to allow for login
os.system("dscl -q localhost -append /Search CSPSearchPath /LDAPv3/ldap.google.com")
os.system("bash -c 'echo -e \"TLS_IDENTITY\tLDAP Client\" >> /etc/openldap/ldap.conf' ")
שלב 4: הגדרה אוטומטית של מכשירי משתמשי קצה
עוברים למכשירי macOS אחרים שרוצים להגדיר ופועלים לפי השלבים הבאים:
- מעתיקים למכשיר את קובץ הפרופיל של Mac שנוצר בשלב 1, את קובץ התצורה של XML שנוצר בשלב 2 ואת סקריפט Python משלב 3.
- כדי להתקין את התלות הנדרשת לסקריפט, מריצים את הפקודה הבאה:
python3 -m pip install pyobjc-framework-opendirectory - מריצים את הפקודה הבאה:
sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2> - כדי לייבא אישורים לצרור המפתחות של מערכת macOS, לוחצים לחיצה כפולה על קובץ הפרופיל של Mac שנוצר בשלב 1, ומזינים את פרטי הכניסה של האדמין המקומי ב-macOS כשמוצגת בקשה. לאחר מכן תתבקשו להזין את הסיסמה של קובץ ה- .p12 שהגדרתם בשלב ההכנה.
- מפעילים מחדש את מחשב macOS.
- יוצרים חשבונות לנייד לפי ההוראות בשלב 4 של שלב ההכנה, ואם רוצים, מגדירים העדפות נוספות כמו שמתואר בשלב 5 של שלב ההכנה.
- משתמשים שנכנסים ל-macOS באמצעות פרטי הכניסה שלהם לחשבון Google Workspace צריכים לוודא ששם המשתמש שלהם בחשבון Google Workspace שונה ממזהה המשתמש בפרופיל המשתמש שלהם ב-macOS, אחרת הכניסה תיחסם.
- אחרי שמשתמש מתחיל להיכנס ל-macOS באמצעות פרטי הכניסה לחשבון Google, ניהול הסיסמה של המשתמש (איפוס או שחזור) צריך להתבצע באתר Google (לדוגמה, בכתובת myaccount.google.com או במסוף Google Admin). אם אתם בוחרים לנהל את הסיסמאות באמצעות פתרון של צד שלישי, חשוב לוודא שהסיסמה העדכנית מסונכרנת עם Google.
- אם האדמין יוצר משתמש חדש או מאפס את הסיסמה של משתמש קיים כשההגדרה דרישה מהמשתמש להחליף את הסיסמה בכניסה הבאה מופעלת, המשתמש לא יכול להיכנס ל-Mac באמצעות הסיסמה הזמנית שהוגדרה על ידי האדמין.
פתרון עקיף: המשתמש צריך להיכנס ל-Google באמצעות מכשיר אחר (למשל, מכשיר נייד או מכשיר שולחני אחר), להגדיר סיסמה קבועה ואז להיכנס ל-macOS באמצעות הסיסמה החדשה. - מחשב ה-Mac צריך להיות מחובר לאינטרנט כדי שיהיה אפשר להגיע לכתובת ldap.google.com במהלך הכניסה הראשונה אחרי ההגדרה שלמעלה. אם בחרתם להגדיר חשבון המכשיר הנייד, לא תצטרכו יותר גישה לאינטרנט כדי להיכנס לחשבון.
- האינטגרציה של Google Secure LDAP עם macOS נבדקת ב-macOS Catalina, Big Sur ו-Monterey.
אם נתקלתם בבעיות בהתחברות לשירות LDAP מאובטח, פועלים לפי ההוראות שבהמשך.
שלב 1: מאמתים את החיבור.
אימות החיבור באמצעות odutil
מריצים את הפקודה odutil show nodenames במסוף.
מוודאים שהסטטוס של /LDAPv3/ldap.google.com הוא online. אם הוא לא מחובר לאינטרנט, אפשר לנסות את האפשרות telnet.
מאמתים את החיבור באמצעות nc.
מריצים את הפקודה הבאה במסוף: nc -zv ldap.google.com 636
אם לא מצליחים להתחבר ל-Google באמצעות השיטה הזו, מנסים להתחבר באמצעות IPv4.
מוודאים שיש חיבור באמצעות IPv4.
כדי לשנות את המכשיר לשימוש ב-IPv4, מבצעים את השלבים הבאים:
- עוברים אל העדפות המערכת > רשת > Wi-Fi > מתקדם.
- בתפריט 'מתקדם', עוברים לכרטיסייה TCP/IP.
- משנים את הבחירה בתפריט הנפתח מהגדרת IPv6 לLink-local only (רק קישור מקומי).
- לוחצים על OK (אישור) ואז על Apply (החלה) כדי לשמור את השינויים.
- בודקים את אימות השירות באמצעות קישוריות ldapsearch וחיפוש תקין.
שלב 2: בודקים אם אתם יכולים לראות אובייקטים בספרייה.
- פותחים את Directory Utility ואז את הכרטיסייה Directory Editor.
- בוחרים את הצומת /LDAPv3/ldap.google.com מהרשימה הנפתחת.
- בודקים אם אתם יכולים לראות משתמשים וקבוצות מהדומיין שלכם ב-Google.
הוראות להגדרה של אפליקציות Java
אפשר להגדיר את רוב האפליקציות שמבוססות על Java ומציעות פונקציונליות של LDAP כדי לבצע אימות באמצעות אישורי לקוח. לשם כך צריך להתקין את אישורי הלקוח במאגר המפתחות של האפליקציה. קובצי התצורה המדויקים יהיו שונים בין האפליקציות, אבל התהליך בדרך כלל דומה. כדי להגדיר את התוסף, צריך להתקין את OpenSSL ואת Java Runtime Environment.
ממירים את האישור והמפתחות לפורמט של Java keystore. במהלך התהליך תתבקשו להזין סיסמאות. בוחרים סיסמה מאובטחת ומשתמשים בה בכל ההנחיות. בהנחה שקובץ מפתח הלקוח נקרא ldap-client.key:
אם אתם משתמשים ב-macOS או ב-Linux, אתם יכולים להשתמש בפקודות הבאות:
$ openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.keyאם אתם משתמשים ב-Windows, תוכלו להשתמש בפקודות הבאות:
$ certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12חשוב: שני הקבצים (<CERT_FILE>.crt ו-<CERT_FILE>.key) צריכים להיות באותה ספרייה. בנוסף, חשוב לוודא שלשני הקבצים, key ו-crt, יש שם זהה (עם שתי הסיומות השונות). בדוגמה הזו, השתמשנו בשמות ldap-client.crt ו-ldap-client.key.
מייבאים את האישור למאגר המפתחות:
$ keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKSאפשר להגדיר מאפייני Java בדרכים שונות בהתאם לאפליקציה. לרוב, אפשר להגדיר אותן באמצעות האפשרות -D בשורת הפקודה java שמשמשת להפעלת האפליקציה. מגדירים את מאפייני Java לאפליקציה:
javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks javax.net.ssl.keyStorePassword = <password selected above>מגדירים את הגדרות החיבור של האפליקציה ל-LDAP באמצעות המידע שמופיע בהוראות ההגדרה הבסיסיות.
אופציונלי: שימוש ב-stunnel כ-proxy
אם הלקוחות לא מאפשרים אימות ל-LDAP באמצעות אישור לקוח, צריך להשתמש ב-stunnel כשרת proxy.
מגדירים את stunnel כך שיספק את אישור הלקוח לשרת ה-LDAP, ומגדירים את הלקוח כך שיתחבר ל-stunnel. מומלץ להריץ את stunnel באותם שרתים שבהם האפליקציה פועלת, ולהאזין רק באופן מקומי כדי לא לחשוף את ספריית ה-LDAP מעבר לשרת הזה.
כך עושים זאת:
מתקינים את stunnel. לדוגמה, ב-Ubuntu:
$ sudo apt-get install stunnel4יוצרים קובץ הגדרה /etc/stunnel/google-ldap.conf עם התוכן הבא (בהנחה ש-ldap-client.crt הוא האישור ו-ldap-client.key הוא המפתח):
[ldap]
client = yes
accept = 127.0.0.1:1636
connect = ldap.google.com:636
cert = ldap-client.crt
key = ldap-client.keyכדי להפעיל את stunnel, עורכים את /etc/default/stunnel4 ומגדירים את ENABLED=1.
מפעילים מחדש את stunnel.
$ sudo /etc/init.d/stunnel4 restartמגדירים את האפליקציה כך שתפנה אל ldap://127.0.0.1:1636.
אפשר להחליף את '1636' בכל יציאה שלא נמצאת בשימוש, אם משנים גם את השורה accept בקובץ ההגדרות שלמעלה. תצטרכו להשתמש ב-LDAP בטקסט פשוט ללא הפעלה של StartTLS/SSL/TLS בין הלקוח ל-stunnel, כי הם מתקשרים באופן מקומי.
הערה: אם בוחרים להריץ את stunnel בשרת נפרד, צריך להגדיר את חומות האש כך שרק האפליקציות הדרושות יוכלו לגשת לשרת stunnel. אפשר גם להגדיר את stunnel להאזין עם TLS כדי שהנתונים בין האפליקציה לבין שרתי stunnel יוצפנו. הפרטים של שתי ההגדרות האלה תלויים בסביבה שלכם.
השלבים הבאים
אחרי שמחברים את לקוח ה-LDAP לשירות Secure LDAP, צריך להעביר את סטטוס השירות לOn (מופעל) עבור לקוח ה-LDAP.
לשלבים הבאים, אפשר לעבור אל 5. מעבירים את המתג שליד 'לקוחות LDAP' למצב מופעל.
הערה: אם נתקלים בשגיאות כשמנסים לקשר את לקוח ה-LDAP לשירות, אפשר להשתמש בכלים פשוטים כמו ldapsearch, ADSI או ldp.exe כדי לפתור את הבעיות. הוראות מפורטות מופיעות במאמר בדיקה ופתרון בעיות של קישוריות.