Skip to content

בדיקת SPN ואישורי Kerberos ב־IIS: מחשב או מאגר יישומים?

פרסום המקור: . עדכון המקור: . תרגום ובדיקה: .

לצורך אבחון כניסה ישירה של לקוח לשרת האינטרנט IIS באמצעות Kerberos, בדקו את שם השירות ואת החשבון שמיועד לפענח את כרטיס האימות. ההיקף כאן הוא פנייה ישירה מהלקוח לשרת (single hop), לא האצלת זהות לשירות נוסף.

מזהה השירות, Service Principal Name (SPN), משייך את שם השירות לחשבון ב־Active Directory. המקור מפנה לרשימת הבדיקה ההיסטורית של Microsoft. ההבחנה החשובה היא בין זהות התהליך של מאגר היישומים לבין החשבון שמשמש לפענוח הכרטיס.

ברירת המחדל: אישורי חשבון המחשב

כאשר אימות במצב ליבה (kernel mode) מופעל, ברירת המחדל היא שימוש באישורי חשבון המחשב לפענוח הכרטיס — גם אם מאגר היישומים פועל בזהות מותאמת. אין פירוש הדבר שצריך להריץ את מאגר היישומים תחת LocalSystem.

להצגת הרישומים של חשבון המחשב, החליפו את computername בשם החשבון המתאים בסביבה שאתם מורשים לבדוק:

setspn -L computername

חפשו התאמה לשם שבו הלקוח פונה לשירות ולחשבון הנכון. רישומים כגון HTTP/computername או HTTP/dnsname הם דוגמאות בלבד. רישום HOST יכול לשמש במקום מחלקות שירות מוכרות, ובהן HTTP, בחשבונות מחשב — אלא אם קיימים רישומים מפורשים שמשנים את ההתאמה. זו אינה התאמה גורפת לכל שם או שירות, והימצאות רישום כשלעצמה אינה הוכחה שאימות Kerberos מצליח. ראו תיעוד setspn.

כאשר התכנון משתמש באישורי מאגר היישומים

אם תכנון האימות קובע במפורש שה־SPN שייך לחשבון דומיין שמשמש את מאגר היישומים, בדקו את הרישומים שלו. החליפו את accountname בשם החשבון המתאים, כולל שם הדומיין כשנדרש:

setspn -L accountname

בתצורה כזאת, ההגדרה useAppPoolCredentials=true מורה להשתמש באישורי המאגר לפענוח, תוך שמירת useKernelMode=true. עצם השימוש בזהות מאגר מותאמת אינו סיבה להפעיל את ההגדרה. יש להתאים בין החשבון, רישום השירות והתצורה המאושרת, ולבדוק שאין רישומים כפולים. שינוי תצורה או רישום דורש תכנון והרשאה; אין לפתור זאת בהענקת הרשאות מערכת או בכיבוי אימות במצב ליבה. ראו תיעוד אימות Windows ב־IIS.

צילום מסך היסטורי של עורך התצורה ב־IIS: useKernelMode מסומן True, אך useAppPoolCredentials ו־enabled מסומנים False
צילום המקור מציג את מיקום ההגדרות, לא תצורת אימות פעילה לדוגמה: useKernelMode=True, אבל useAppPoolCredentials=False ו־enabled=False; רשימת הספקים מציגה Count=0. אין להעתיק ממנו תצורה עובדת. לחצו על התמונה לפתיחת המקור בגודל מלא.

הערת תרגום: תוקנה ההנחיה הגורפת לגבי זהות מאגר מותאמת. נוספו ההבחנה בין אישורי המחשב לאישורי המאגר, הסייג לרישומי HOST והבהרה לצילום ההיסטורי.

תרגום לעברית עבור The Useful Byte. לקריאת המקור באנגלית.

Post a Comment

Previous Post Next Post