גישה ל-VPN בלי זכויות שולחן עבודה מרוחק: ארבעה שערים נפרדים
הפעלת RDP שנדחתה היא זכות התחברות של Windows, לא תקלת VPN. קראו את המדיניות האפקטיבית, העניקו את הקבוצה הצרה והשאירו את נתיב הרשת בנפרד.
משתמש מתחבר ל-VPN, פותח שיתוף קבצים ויישום פנימי, ואז ניסיון RDP מחזיר «חשבון המשתמש אינו מורשה להתחברות מרחוק». אין שום דבר שגוי במנהרה בהודעה הזו. ארבעה שערים בלתי תלויים עומדים בין חשבון VPN לשולחן עבודה אינטראקטיבי, ורק האחרון יצר אותה. אנשים בדרך כלל מגיבים בהוספת החשבון ל-Administrators, מה שמעניק הרבה יותר משולחן העבודה ואינו מתקן את השער אם מדיניות קבוצה אוסרת אותו. הנה מה שכל שער באמת עושה, ואיך לשנות רק את זה שמסרב.
ארבעה שערים בסדר קבוע
השער מחליט תחילה אם הזהות רשאית בכלל להקים מנהרה: מדיניות RADIUS, תנאי קבוצה, בדיקת תעודה, הרשאת Access Server. אחר כך הניתוב וחומות האש מחליטים אם החבילה ממאגר המנהרה מגיעה למאזין TCP 3389 של היעד. אחר כך לחיצת היד NLA של הלקוח מאמתת את החשבון מול היעד. רק אחרי שלושת אלה רשות האבטחה המקומית בודקת אם לחשבון יש זכות ההתחברות שהפעלה מרחוק אינטראקטיבית דורשת.
מכיוון שהסדר קבוע, כל שער מסתיר את אלה שמאחוריו. מנהרה שנכשלה לא אומרת דבר על ניתוב; יציאה חסומה לא אומרת דבר על זכות ההתחברות; בדיקת יציאה מוצלחת לא אומרת דבר על קבלה. לכן «ה-VPN עובד אבל RDP לא» אינו בעיה אחת אלא גבול בין שניים מהשערים האלה, ולכן טקסט השגיאה הוא הדרך המהירה ביותר לדעת באיזה מהם נתקלתם.
הזכות שבאמת דוחה את ההפעלה
ההתחברות לשולחן העבודה המרוחק דורשת את זכות המשתמש אפשר התחברות באמצעות שירותי שולחן עבודה מרוחק, SeRemoteInteractiveLogonRight. היא נבדקת בהתחברות, לא בהקמת המנהרה, ולכן חשבון יכול לשוטט ברשת שעות ועדיין ייסרב לו שולחן עבודה. הדו-שיח שמציג אותה נמצא תחת מדיניות מקומית, הקצאת זכויות משתמש, והמקבילה בתחום נמצאת ב-GPO.
החברות המוגדרת כברירת מחדל תלויה בתפקיד המחשב: תחנות עבודה ושרתי חבר מעניקים אותה ל-Administrators ול-Remote Desktop Users, בעוד שבקר תחום מעניק אותה רק ל-Administrators. העובדה האחת הזו מסבירה את רוב הבלבול, כי אותו חשבון מצליח בשרת קבצים ונכשל ב-DC. זכות סירוב גוברת על זכות ההרשאה המתאימה ללא תלות בחברות בקבוצה, ולכן חשבון שיש לו גם הרשאה וגם סירוב נדחה. קבוצת סירוב רחבה יכולה לתפוס מנהל שנוסף כטובה.
קראו את המדיניות האפקטיבית, לא את הדו-שיח המקומי
המדיניות המקומית נדרסת על ידי כל GPO בתחום שמגדיר את אותה זכות, ולכן ה-snap-in המקומי יכול להציג רשימה שנראית נכונה בעוד שהמצב האפקטיבי שונה. ייצאו את מה שהמחשב באמת מחיל, ואז חפשו את הזכות וקראו את ה-SID ולא את שמות התצוגה:
secedit /export /cfg C:\temp\secpol.cfg
Select-String -Path C:\temp\secpol.cfg -Pattern SeRemoteInteractiveLogonRight
gpresult /scope computer /v
בפלט הזה, *S-1-5-32-544 הוא Administrators ו-*S-1-5-32-555 הוא Remote Desktop Users.
אם אף אחד מהם לא מופיע, איש מלבד בעל מדיניות לא יכול לפתוח שולחן עבודה, יהיה מה שיגיד הדו-שיח המקומי של משתמשים וקבוצות. אז gpresult מציין את ה-GPO שניצח, וזה האובייקט שעליכם לערוך; שינוי מדיניות מקומית במחשב שמצורף לתחום הוא בדיקה, לא תיקון.
העניקו את הזכות הצרה ביותר שמתאימה
התשובה הרגילה היא קבוצת Remote Desktop Users ביעד. היא נושאת את הזכות כברירת מחדל, היא קטנה בהרבה מ-Administrators, והיא מפרידה בין «רשאי לפתוח שולחן עבודה» ל«רשאי לנהל את השרת». במקום שבו המדיניות הקצתה את הזכות מחדש במפורש, הוסיפו את הקבוצה או החשבון לאותה מדיניות במקום להוסיף קבוצה שאיש לא התכוון שתהיה בקרת גישה.
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "CORP\a.user"
בדקו את רשימת הסירוב לפני שתוסיפו משהו. אם זכות סירוב מציינת קבוצה שמכילה את המשתמש, השינוי הנכון הוא להסיר את החשבון מאותה קבוצה או לצמצם את הסירוב, לא להוסיף הרשאה שנייה במקום אחר. תעדו איזו זכות שיניתם והיכן, כי רענון GPO מאוחר יותר ישחזר בשקט את המצב הקודם והקריאה תיפתח שוב עם אותה הודעה.
השאירו את נתיב הרשת החלטה נפרדת
קבוצת ה-VPN לא חייבת להגיע לכל יציאה. כשקבוצה זקוקה ליישום ולא לשולחן עבודה, כלל חומת אש שמוגבל למאגר המנהרה וליציאת היישום נותן תוקף למדיניות הזו, בעוד שזכות ההתחברות נשארת בלי שינוי.
Get-NetFirewallRule -DisplayGroup "Remote Desktop"
Test-NetConnection -ComputerName 10.20.0.50 -Port 3389
התצורה של OpenVPN לכל לקוח והרשאות הקבוצה של Access Server יכולות להגביל את קידומות היעד באותה רוח; אף אחד מהם לא מעניק זכות התחברות של Windows, וזכות התחברות לא יכולה לפתוח יציאה. החזיקו אותם בחלונות שינוי נפרדים, כי כלל יציאה והרשאה מאושרים על ידי אנשים שונים.
אמתו בסדר שבו השערים חלים: האם החשבון יכול להקים את המנהרה, האם ההפעלה מגיעה למאזין, האם הלקוח מאמת, והאם לחשבון יש את הזכות. פינג שנכשל בזמן שבדיקת היציאה מצליחה הוא חומת אש שמשיבה אחרת ל-ICMP, לא הוכחה ש-RDP חסום. המסמך של Microsoft על זכות ההתחברות מפרט את ברירות המחדל לפי תפקיד המחשב ואת הכלל שסירוב גובר על הרשאה.