تیم‌ها 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 را به یک نقش سرور اضافه کنید.

مسیر مجاز و مسیر ردشده را اثبات کنید

نشست تازه‌ای به‌عنوان یک کاربر عادی تأییدشده باز کنید و هویت سرور، پایگاه داده و عملیات لازم را تأیید کنید. سپس استثنا را تأیید کنید: مبدأ یا حسابی بیرون از سیاست باید در همان آزمون شکست بخورد. برای طرح ایستگاه کاری، بررسی کنید که لپ‌تاپ نتواند با رسیدن مستقیم به پایگاه داده از مرز بگذرد. برای دسترسی مستقیم، بررسی کنید که مسیر و قاعده مبدأ پس از اتصال دوباره هنوز برقرار باشند.

ثبت کنید کلاینت کجا اجرا شد، پایگاه داده کدام مبدأ را دید و کدام قاعده اجازه داد. این همان مدرکی است که بازبینی بعدی خواهد خواست.

مقالات مرتبط