لماذا يجب تجنّب إعادة توجيه المنفذ 1433
لديك SQL Server في المكتب. وشخص ما خارج هذه الشبكة — محلل يعمل عن بُعد، أو أداة تقارير سحابية، أو تطبيق يريد فريقك بناءه — يحتاج إلى قراءته. الحل السريع الذي يقترحه الجميع: إعادة توجيه منفذ TCP رقم 1433 من الراوتر إلى خادم قاعدة البيانات والسماح به في جدار الحماية.
يعمل، وبسرعة. لكنه أيضاً ما سينصحك معظم خبراء الأمن بعدم فعله:
- تصبح شاشة الدخول عامة. أي شيء على الإنترنت يمكنه الوصول إلى SQL Server ومحاولة تسجيل الدخول. أدوات الفحص الآلية تبحث عن المنفذ 1433 المفتوح طوال اليوم، وتجرّب حسابات مثل
saبقوائم كلمات مرور. - تصبح قاعدة البيانات هي خط الدفاع. كل تحديث أمني مؤجَّل وكل تسجيل دخول ضعيف صار في متناول الخارج.
- حصر الوصول بعناوين IP مفيد، لكنه هشّ. تقييد 1433 بعناوين مزوّد معيّن يقلّل الانكشاف، لكن هذه العناوين تتغير، وعلى أحدهم صيانة القائمة.
ما تريده فعلاً هو أن تقرأ جهة خارجية قاعدة البيانات دون أي منفذ وارد. وهناك أربع طرق لذلك.
الخيار 1: شبكة VPN
تُدخل الـ VPN الطرف الخارجي "إلى داخل" شبكتك. VPN العميل يربط حاسوب شخص محدد، وVPN بين موقعين يربط شبكتين بشكل دائم.
مناسب للأشخاص. محاسب يعمل عن بُعد ويحتاج SQL Server Management Studio هو بالضبط ما صُمّمت له الـ VPN.
غير مناسب لأدوات SaaS. معظم الخدمات السحابية لا تستطيع الانضمام إلى شبكتك الافتراضية. كما أن بوابة الـ VPN نفسها تستمع عادةً على منفذ وارد، فتستبدل قاعدة بيانات مكشوفة بنقطة VPN مكشوفة (أكثر تحصيناً بكثير، هذا صحيح).
الخيار 2: نفق SSH عبر خادم وسيط (Bastion)
تدعم أدوات سحابية كثيرة خيار "الاتصال عبر نفق SSH". تشغّل جهاز Linux صغيراً (خادماً وسيطاً) تتصل به الأداة عبر SSH، ويمرّ الاتصال بـ SQL Server عبر هذه الجلسة.
مدعوم على نطاق واسع، وSSH بالمفاتيح بروتوكول معروف ومُختبر جيداً.
المشكلة: ما زال يحتاج إلى منفذ وارد — غالباً 22 — مفتوح للإنترنت أو لعناوين المزوّد، على جهاز عليك تحديثه ومراقبته. ولا يناسب مكتباً بلا عنوان عام، لأن الخادم الوسيط يجب أن يكون قابلاً للوصول من الخارج.
الخيار 3: نفق صادر (Cloudflare Tunnel وngrok وTailscale)
الأنفاق الصادرة تعكس الاتجاه: خدمة صغيرة داخل شبكتك تتصل إلى الخارج، وتعود حركة البيانات عبر هذا الاتصال الصادر.
- Cloudflare Tunnel يشغّل
cloudflaredداخل شبكتك، ولا يفتح إلا اتصالات صادرة إلى Cloudflare، وتتحكم في من يصل عبر سياسات الوصول. - ngrok يفتح اتصالاً صادراً ويمنحك عنواناً عاماً يعيد التوجيه إلى خدمتك المحلية. مناسب للتجربة، لكن هذا العنوان يمكن الوصول إليه من الإنترنت ما لم تضف ضوابط وصول.
- Tailscale يبني شبكة WireGuard خاصة بين الأجهزة المسجّلة. أعضاء شبكتك فقط يصلون إلى SQL Server.
لا قواعد واردة ولا حاجة لعنوان IP عام. تعمل في مكتب لا يملك أياً منهما.
لكنه وصول إلى الشبكة، لا إلى قاعدة البيانات. ما يصل إلى النفق يتحدث مع SQL Server بصلاحيات حساب الدخول الخاص به. السياسات وحسابات الدخول والمراقبة تبقى مسؤوليتك. كما يجب أن تكون أداة SaaS على الطرف الآخر قادرة على استخدام النفق، وكثير منها لا يستطيع.
الخيار 4: وكيل من المزوّد يتصل إلى الخارج
بعض المنتجات تأتي بوكيل خاص بها لهذه الحالة تحديداً. تثبّته على جهاز يرى قاعدة البيانات، فيتصل بسحابة المزوّد، ويرسل المنتج الاستعلامات عبر هذا الاتصال.
- بوابة البيانات المحلية من Microsoft (on-premises data gateway) هي الأشهر. تعمل على Windows، وتتصل صادرةً إلى Azure، وتخدم Power BI وPower Apps وPower Automate وLogic Apps. إن كان فريقك يعمل في منظومة Microsoft فهي الخيار الطبيعي. (نقارنها بالتفصيل في دليلنا لبدائل بوابة البيانات المحلية.)
- موصّل AgentUI يفعل الشيء نفسه لتطبيقات ولوحات بيانات AgentUI، بنطاق أضيق عن قصد.
لماذا هو مرتّب: لا منفذ وارد ولا عنوان عام، والوكيل يخدم منتجات ذلك المزوّد فقط، فلا يوجد مسار شبكة عام يقلقك.
المقابل: كل وكيل يخدم منتجات مزوّده فقط، وأنت تثق بوكيل المزوّد، فاقرأ ما يستطيع وما لا يستطيع فعله قبل تثبيته.
مقارنة جنباً إلى جنب
| الخيار | يفتح منفذاً وارداً؟ | يعمل دون IP عام؟ | من يصل إلى قاعدة البيانات | الأنسب لـ |
|---|---|---|---|---|
| إعادة توجيه 1433 | نعم (1433) | لا | أي أحد يصل إلى المنفذ | لا شيء على المدى الطويل |
| VPN | عادةً، على البوابة | حسب الإعداد | أي أحد على الـ VPN | أشخاص يحتاجون وصولاً كاملاً |
| نفق SSH عبر خادم وسيط | نعم (22، على الخادم الوسيط) | لا | من يملك مفتاح الخادم الوسيط | أدوات سحابية تدعم أنفاق SSH |
| نفق صادر (Cloudflare Tunnel، Tailscale) | لا | نعم | من تسمح به سياستك | فرق تدير سياسات الوصول |
| وكيل المزوّد (البوابة، موصّل AgentUI) | لا | نعم | منتجات ذلك المزوّد فقط | استخدام أدوات مزوّد واحد على البيانات |
إن كان الهدف تطبيقات ولوحات بيانات فوق هذه البيانات
إن كان ما تريده فعلاً أدوات داخلية أو تقارير أو لوحات بيانات فوق قاعدة بيانات المكتب، فالموصّل أهم من النفق. ولهذا صُمّم موصّل AgentUI لـ SQL Server الداخلي:
- صادر فقط. يتصل عبر HTTPS على المنفذ 443. لا قواعد واردة، ولا تغيير في جدار الحماية، ولا حاجة إلى عنوان عام.
- للقراءة فقط. لا يُنفَّذ إلا
SELECTوWITH، ويُتراجَع عن كل استعلام بعد انتهائه. - كلمة المرور لا تتحرك. تُحفظ على ذلك الخادم فقط (ومشفّرة على Windows). ولا يحتفظ AgentUI إلا ببصمة لمفتاح الموصّل.
- قابل للإلغاء. تلغيه بنقرتين، ويتوقف المفتاح خلال 25 ثانية.
- الحدود. Microsoft SQL Server فقط. الاستعلامات عند الحاجة، بحد أقصى 1,000 صف و30 ثانية لكل منها. لا نسخ ولا مزامنة.
يُثبَّت على Windows أو macOS أو Linux كخدمة. من الحالات المعتادة SAP Business One على خادم Windows. وإن كنت تقارن أدوات بناء التطبيقات من هذه الزاوية، فقد شرحنا أيضاً كيف يتصل Retool بـ SQL Server داخلي.
أيّها تختار؟
- شخص يحتاج وصولاً كاملاً من المنزل: VPN.
- أداة سحابية لا تدعم إلا أنفاق SSH: خادم وسيط مقيّد بعناوين المزوّد، وتعامل معه كخادم إضافي تجب صيانته.
- فريقك متمرّس في إدارة سياسات الوصول ويريد مساراً عاماً: نفق صادر مثل Cloudflare Tunnel أو Tailscale.
- تريد أن يقرأ منتج واحد فقط البيانات: الوكيل الصادر لذلك المنتج — بوابة Microsoft لمنصة Power Platform، وموصّل AgentUI لتطبيقات AgentUI.
إن كانت الحالة الأخيرة حالتك، فاربط SQL Server الخاص بك عبر موصّل AgentUI. للقراءة فقط، وتلغيه بنقرتين.
