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 كلها إلى دور خادم.
أثبت المسار المسموح والمسار المرفوض
افتح جلسة جديدة كمستخدم عادي معتمد، وتأكد من هوية الخادم وقاعدة البيانات والعملية المطلوبة. ثم أكد الاستبعاد: يجب أن يفشل في الاختبار نفسه أي مصدر أو حساب خارج السياسة. بالنسبة لتصميم محطة العمل، تحقق من أن الحاسوب المحمول لا يمكنه تجاوز الحد بالوصول إلى قاعدة البيانات مباشرة. وبالنسبة للوصول المباشر، تحقق من أن المسار وقاعدة المصدر ما زالا صالحين بعد إعادة الاتصال.
سجّل أين عمل العميل، وأي مصدر رصدته قاعدة البيانات، وأي قاعدة سمحت به. هذه هي الأدلة التي ستطلبها المراجعة التالية.