SQL דרך VPN: לקוח ישיר או תחנת עבודה פנימית?
SQL ישיר ממחשב נייד ב-VPN ו-SSMS בתחנת עבודה מנוהלת הם מסלולי אמון שונים. השוו את כתובת המקור ואת ההרשאות שכל אחד מהם יוצר.
צוותים רוצים SSMS על המחשבים הניידים שלהם, והפתרון המהיר הוא לפרסם את פורט SQL למאגר ה-VPN. התשובה האיטית יותר שואלת היכן תהליך הלקוח אמור לרוץ, מפני שגישה ישירה ותחנת עבודה פנימית מייצרות מסלולי נתונים שונים, וכן כתובות מקור ואמון בנקודת קצה. אף אחד מהם אינו בטוח אוטומטית, וחברות ב-VPN לבדה אינה מכריעה דבר. השוו את התכנונים לפני שקיימת כלל הרשאה.
שני מסלולים, שתי כתובות מקור
בגישה ישירה המחשב הנייד נושא את תצורת הלקוח ופותח בעצמו את החיבור למסד הנתונים. בתחנת עבודה מרוחקת המחשב הנייד פותח הפעלת שולחן עבודה, ותחנת העבודה מבצעת את חיבור ה-SQL מכתובתה שלה. לכן מסד הנתונים רואה את מאגר ה-VPN או שער מתורגם בתכנון הראשון, ואת כתובת תחנת העבודה בשני. ההבדל הזה קובע איזה כלל חומת אש ואיזו הרשאת SQL חלים בפועל.
המחשב הנייד עדיין שולט בהפעלה המרוחקת, ולכן תחנת עבודה אינה מחליפה אימות משתמש או מדיניות הפעלה.
בדקו מה מסד הנתונים באמת רואה
כתובת המקור היא דבר שמודדים ולא מסיקים מתרשים. קראו אותה מצד השרת של חיבור חי.
Test-NetConnection sql.example.com -Port 1433
sqlcmd -S tcp:sql.example.com,1433 -N -d appdb -Q "select SUSER_SNAME() as login_name, DB_NAME() as db"בדיקת הקישוריות מוכיחה שהמאזין מקבל TCP מאותה רשת, בעוד השאילתה מוכיחה לאיזה חשבון כניסה ולאיזה מסד נתונים הגיעה ההפעלה. כדי לראות את הכתובת שהשרת תיעד, שאלו את sys.dm_exec_connections עבור ההפעלה הנוכחית, שמחזיר את כתובת הלקוח לאחר כל תרגום. אם הערך הזה הוא שער ולא המחשב הנייד, כלל מארח לכל משתמש אינו יכול לעבוד במכונת מסד הנתונים. רשמו את הערך שנצפה לצד התכנון הנבחר, מפני שחיבורים מחדש ושינויי מאגר מזיזים אותו.
פתחו את המאזין ולא דבר נוסף
פתחו רק את השירות שהפריסה זקוקה לו. הפורט 1433 המוכר הוא הפורט של מופע ברירת המחדל ולא קבוע אוניברסלי.
Get-NetTCPConnection -State Listen -LocalPort 1433מופעים בשמות מאזינים לעתים קרובות לפורט דינמי, כאשר SQL Server Browser עונה לגילוי ב-UDP 1434, ותלות זו היא חשיפה נפרדת שצריך להצדיק. הצמדת פורט קבוע למופע מסירה את הצורך ב-Browser והופכת את כללי חומת האש ליציבים. שמרו על בדיקות ההצפנה והתעודות שהלקוח כבר מבצע במקום להשבית אותן כדי שבדיקה תעבור. לאחר מכן העניקו תפקידי מסד נתונים לעומס העבודה במקום להוסיף את כל קבוצת ה-VPN לתפקיד שרת.
הוכיחו את המסלול המותר ואת המסלול הנדחה
פתחו הפעלה חדשה כמשתמש רגיל מאושר, ואשרו את זהות השרת, מסד הנתונים והפעולה הנדרשת. לאחר מכן אשרו את ההחרגה: מקור או חשבון מחוץ למדיניות חייב להיכשל באותה בדיקה. בתכנון תחנת העבודה, ודאו שהמחשב הנייד אינו יכול לעקוף את הגבול בהגעה ישירה למסד הנתונים. בגישה ישירה, ודאו שהמסלול וכלל המקור עדיין תקפים לאחר חיבור מחדש.
תעדו היכן רץ הלקוח, איזה מקור מסד הנתונים ראה ואיזה כלל התיר אותו. זו הראיה שהביקורת הבאה תבקש.