استخدام Azure Bastion للوصول الآمن إلى الأجهزة الافتراضية

استخدام Azure Bastion للوصول الآمن إلى الأجهزة الافتراضية

01/04/2025

تهدف هذه المقالة الفنية والتعليمية إلى توجيه محللي الأمان ومسؤولي تكنولوجيا المعلومات ومهندسي الأنظمة في تنفيذ وتكوين Azure Bastion للوصول الآمن إلى الأجهزة الافتراضية (VMs) في Azure. في البيئة السحابية، يعد أمان الوصول إلى الأجهزة الافتراضية أمرًا ضروريًا لحماية الموارد والبيانات. تقليديًا، كان الوصول إلى الأجهزة الافتراضية عبر RDP (بروتوكول سطح المكتب البعيد) أو SSH (Secure Shell) يتطلب تعريض المنافذ العامة للإنترنت، مما أدى إلى زيادة مساحة الهجوم بشكل كبير. يقدم Azure Bastion حلاً قويًا وآمنًا للتخلص من هذا التعرض من خلال توفير وصول آمن دون الحاجة إلى شبكات VPN أو عناوين IP عامة [1].

مقدمة

جلب ترحيل البنى التحتية إلى السحابة فوائد عديدة من حيث قابلية التوسع والمرونة. ومع ذلك، يظل الأمن مصدر قلق كبير. يعد الوصول إلى الأجهزة الافتراضية نقطة بالغة الأهمية، لأنها غالبًا ما تكون قلب العديد من التطبيقات والخدمات. يعد تعريض منافذ RDP (3389) أو SSH (22) مباشرة إلى الإنترنت ممارسة أمنية غير حكيمة، لأنها تجعلها أهدافًا سهلة لهجمات القوة الغاشمة وغيرها من عمليات الاستغلال [2].

Azure Bastion عبارة عن خدمة منصة كخدمة (PaaS) مُدارة بالكامل والتي توفرها في شبكتك الافتراضية. فهو يسمح لك بالاتصال بالأجهزة الافتراضية في شبكتك الافتراضية مباشرةً من بوابة Azure، باستخدام RDP وSSH، دون الحاجة إلى عناوين IP عامة على الأجهزة الافتراضية، أو الوكلاء المثبتين على الأجهزة الافتراضية، أو العملاء/التكوينات الخاصة على جهازك المحلي. يعمل Bastion كوكيل آمن، حيث يقوم بتوجيه حركة مرور RDP/SSH من خلال اتصال TLS (Transport Layer Security) الآمن إلى متصفح المستخدم، مما يحمي الأجهزة الافتراضية من التعرض المباشر للإنترنت [3].

سيغطي هذا الدليل الإرشادي المتطلبات الأساسية، وكيفية توفير Azure Bastion وتكوينه، وكيفية الاتصال بأجهزة Windows وLinux الافتراضية باستخدام RDP وSSH، وكيفية إدارة الجلسات، وكيفية اختبار الوصول الآمن والتحقق من صحته. سيتم توفير تعليمات خطوة بخطوة وأمثلة عملية وشروحات موجزة حتى يتمكن القارئ من تنفيذ هذه الميزات واختبارها والتحقق من صحتها. بالإضافة إلى ذلك، ستتم مناقشة النصائح الأمنية وفحوصات الامتثال وأفضل الممارسات لضمان الوصول الآمن والفعال عن بعد إلى أجهزتك الافتراضية، بطريقة مستقلة ومهنية وموثوقة.

ما سبب أهمية Azure Bastion للوصول إلى الأجهزة الافتراضية؟

  • الأمان المحسّن: يلغي الحاجة إلى عناوين IP عامة على الأجهزة الافتراضية، مما يحميها من الهجمات المباشرة من الإنترنت. يتم الوصول عبر TLS من خلال المتصفح.
  • الوصول المبسط: يتصل بالأجهزة الافتراضية مباشرة من بوابة Azure، دون الحاجة إلى عملاء RDP/SSH الأصليين أو شبكات VPN.
  • الثقة المعدومة: تتوافق مع مبادئ الثقة المعدومة، مما يضمن التحقق من الوصول والتصريح به دائمًا، بغض النظر عن موقع المستخدم.
  • التدقيق والمراقبة: يتيح لك مراقبة الجلسات وإدارتها، مع خيار تسجيل الجلسة (المتوفر على Premium SKU) لأغراض التدقيق والامتثال.
  • تكلفة أقل وتعقيد: باعتبارها خدمة PaaS مُدارة بالكامل، فإنها تلغي الحاجة إلى إدارة صناديق الانتقال الخاصة بك أو شبكات VPN المعقدة.
  • حماية فحص المنافذ: لا تحتوي الأجهزة الافتراضية على عناوين IP عامة، مما يجعلها غير مرئية لبرامج فحص المنافذ والروبوتات الضارة على الإنترنت.

المتطلبات الأساسية

لتنفيذ Azure Bastion، ستحتاج إلى العناصر التالية:

  1. اشتراك Azure النشط: اشتراك Azure لإنشاء الموارد وإدارتها.
  2. الوصول الإداري: حساب بدور "المالك" أو "المساهم" في الاشتراك أو مجموعة الموارد حيث توجد الأجهزة الافتراضية.
  3. شبكة Azure الافتراضية (VNet): شبكة افتراضية موجودة تحتوي على الأجهزة الافتراضية التي تريد الاتصال بها.
  4. شبكة فرعية مخصصة لـ Azure Bastion: شبكة فرعية داخل شبكة VNet الخاصة بك بالاسم AzureBastionSubnet وبادئة لا تقل عن /27 (على سبيل المثال: 10.0.2.0/27). هذه الشبكة الفرعية حصرية لـ Bastion ولا يمكن استخدامها لموارد أخرى [4].
  5. الأجهزة الافتراضية (VMs): الأجهزة الافتراضية الموجودة التي تعمل بنظام التشغيل Windows أو Linux في نفس شبكة VNet (أو شبكات VNet النظيرة) التي تريد الاتصال بها.

خطوة بخطوة: تكوين Azure Bastion

فلنقم بتوفير Azure Bastion واستخدامه للاتصال بجهاز افتراضي.

1. إنشاء الشبكة الفرعية "AzureBastionSubnet".

قبلونشر Bastion، فأنت بحاجة إلى إنشاء شبكة فرعية مخصصة.

  1. افتح المتصفح الخاص بك وانتقل إلى بوابة Azure: https://portal.azure.com.
  2. قم بتسجيل الدخول باستخدام حساب لديه الأذونات اللازمة.
  3. في حقل البحث العلوي، اكتب "الشبكات الافتراضية" وحددها من النتائج.
  4. حدد الشبكة الافتراضية التي توجد بها أجهزة VM الخاصة بك.
  5. في جزء التنقل الأيمن، ضمن "الإعدادات"، حدد الشبكات الفرعية.
  6. انقر فوق "+شبكة فرعية".

  7. إضافة شبكة فرعية:

    • الاسم: أدخل AzureBastionSubnet (هذا الاسم مطلوب).
    • نطاق عنوان الشبكة الفرعية: قم بتوفير نطاق عنوان ببادئة لا تقل عن /27 (على سبيل المثال، 10.0.2.0/27).
    • اترك الإعدادات الأخرى كإعداد افتراضي.
  8. انقر حفظ.

    • شرح: AzureBastionSubnet هو المكان الذي سيتم نشر خدمة Azure Bastion فيه. من المهم أن يكون الاسم هو "AzureBastionSubnet" بالضبط حتى يمكن توفير الخدمة بشكل صحيح.

2. توفير Azure Bastion

الآن بعد أن أصبحت الشبكة الفرعية جاهزة، يمكننا نشر خدمة Bastion.

  1. في بوابة Azure، في حقل البحث العلوي، اكتب "Bastion" وحدده من النتائج.
  2. انقر فوق "+ إنشاء".

  3. الأساسيات:

    • الاشتراك: حدد اشتراكك.
    • مجموعة الموارد: حدد نفس مجموعة الموارد مثل شبكة VNet الخاصة بك.
    • الاسم: قم بتسمية مثيل Bastion الخاص بك (على سبيل المثال، myBastionHost).
    • المنطقة: حدد نفس منطقة شبكة VNet الخاصة بك.
    • المستوى: حدد أساسي (لـ RDP/SSH الأساسي) أو قياسي (للحصول على ميزات إضافية مثل تسجيل الجلسة ومشاركة الارتباط وما إلى ذلك). في هذا الدليل، سوف نستخدم "Basic".
  4. الشبكة الافتراضية:

    • الشبكة الافتراضية: حدد شبكة VNet التي أنشأت فيها AzureBastionSubnet.
    • الشبكة الفرعية: سيتم تحديد AzureBastionSubnet تلقائيًا.
    • عنوان IP العام: انقر على "إنشاء جديد". قم بتسمية عنوان IP العام (على سبيل المثال، myBastionPublicIP). عنوان IP العام هذا مخصص لخدمة Bastion ولا يتم عرضه على أجهزة VM الخاصة بك.
  5. انقر على "مراجعة + إنشاء"، ثم إنشاء.

    • الشرح: يمكن أن يستغرق توفير Azure Bastion من 5 إلى 10 دقائق. بمجرد نشره، سيكون جاهزًا للاستخدام للوصول إلى أجهزة VM الخاصة بك.

3. الاتصال بجهاز Windows VM عبر RDP

دعنا نتصل بجهاز Windows VM دون الكشف عن منفذ RDP الخاص به.

  1. في بوابة Azure، انتقل إلى Windows VM.
  2. في جزء التنقل الأيسر، حدد الاتصال.
  3. حدد الحصن.
  4. أدخل بيانات اعتماد مستخدم Windows VM وكلمة المرور.
  5. انقر الاتصال.

    • الإجراء المتوقع: سيتم فتح علامة تبويب جديدة في المتصفح، وسترى سطح مكتب Windows VM. يعتمد الاتصال بالكامل على HTML5 في المتصفح.

4. الاتصال بجهاز Linux VM عبر SSH

دعنا نتصل بجهاز Linux VM دون الكشف عن منفذ SSH الخاص به.

  1. في بوابة Azure، انتقل إلى Linux VM.
  2. في جزء التنقل الأيسر، حدد الاتصال.
  3. حدد الحصن.
  4. اختر "نوع المصادقة": "اسم المستخدم وكلمة المرور" أو "مفتاح SSH الخاص".
    • إذا كان "اسم المستخدم وكلمة المرور"، فأدخل بيانات اعتماد Linux VM الخاصة بك.
    • إذا كان "مفتاح SSH الخاص"، فقم بتحميل ملف المفتاح الخاص (.pem أو .ppk).
  5. انقر الاتصال.

    • الإجراء المتوقع: سيتم فتح علامة تبويب جديدة في المتصفح، وسترى محطة Linux VM الخاصة بك، مما يسمح لك بتنفيذ أوامر SSH.

التحقق والاختبار

من الضروري التحقق من أن الوصول عبر Azure Bastion يعمل كما هو متوقع وأن الأجهزة الافتراضية لا يمكن الوصول إليها بطرق أخرى.

1. التحقق من اتصال باستيون

  1. السيناريو: حاول الوصول إلى الأجهزة الافتراضية التي تعمل بنظامي التشغيل Windows وLinux باستخدام Azure Bastion، وفقًا للخطوتين 3 و4 أعلاه.
  2. الإجراء المتوقع: يجب إنشاء اتصالات RDP وSSH بنجاح من خلال المتصفح.
  3. التحقق:
    • تأكد من أنه يمكنك التفاعل مع سطح مكتب Windows VM وتنفيذ الأوامر في محطة Linux VM.

2. التحقق من عدم إمكانية الوصول المباشر إلى الأجهزة الافتراضية

  1. السيناريو: حاول الوصول إلى الأجهزة الافتراضية الخاصة بك مباشرة من الإنترنت باستخدام عميل RDP أو SSH، مع الإشارة إلى عنوان IP العام لجهاز VM (إذا كان هناك واحد) أو IP الخاص (إذا كنت خارج VNet).
  2. الإجراء المتوقع: يجب أن تفشل محاولات الاتصال المباشر حيث لا ينبغي الكشف عن منافذ RDP/SSH بشكل علني.
  3. التحقق: *إذا كانت الأجهزة الافتراضية الخاصة بك تحتوي على عناوين IP عامة، فتحقق من قواعد مجموعة أمان الشبكة (NSG) المرتبطة بواجهة شبكة الجهاز الافتراضي أو الشبكة الفرعية للجهاز الافتراضي. تأكد من أن المنفذين 3389 (RDP) و22 (SSH) غير مفتوحين لـ "Any" أو "Internet".
    • من الناحية المثالية، لا ينبغي أن تحتوي الأجهزة الافتراضية التي يتم الوصول إليها عبر Bastion على عناوين IP عامة مرتبطة بها.

3. مراقبة جلسة Bastion (SKU القياسي)

إذا قمت بتزويد Bastion بـ SKU القياسي، فيمكنك مراقبة الجلسات النشطة.

  1. في بوابة Azure، انتقل إلى مورد Azure Bastion الخاص بك (myBastionHost).
  2. في جزء التنقل الأيسر، ضمن "المراقبة"، حدد الجلسات.
  3. سترى قائمة بجلسات RDP وSSH النشطة، بما في ذلك المستخدم وعنوان IP المصدر والجهاز الافتراضي الوجهة.

نصائح أمنية وأفضل الممارسات

  • إزالة عناوين IP العامة من الأجهزة الافتراضية: بعد تكوين Azure Bastion، قم بإزالة أي عناوين IP عامة من الأجهزة الافتراضية الخاصة بك. هذه هي الميزة الأمنية الرئيسية لـ Bastion.
  • تكوين NSGs بشكل مناسب: تأكد من تكوين مجموعات أمان الشبكة (NSGs) للشبكات الفرعية VM وAzureBastionSubnet بشكل صحيح للسماح بحركة المرور الضرورية فقط. يحتاج Bastion إلى الوصول إلى منافذ RDP/SSH الخاصة بأجهزة VM، لكن الأجهزة الافتراضية لا تحتاج إلى وصول عام للداخل.
  • مبدأ الامتياز الأقل: قم بتعيين الأذونات الضرورية فقط حتى يتمكن المستخدمون من الاتصال بالأجهزة الافتراضية عبر Bastion. يمكن استخدام Azure RBAC للتحكم في من يمكنه استخدام Bastion.
  • المصادقة القوية: استخدم دائمًا المصادقة القوية لبيانات اعتماد الجهاز الافتراضي الخاص بك. ادمج مع Azure AD للمصادقة، وإذا أمكن، الوصول المشروط للمطالبة بـ MFA للوصول إلى بوابة Azure، والتي بدورها تتحكم في الوصول إلى Bastion.
  • تسجيل الجلسة (SKU Premium): بالنسبة إلى البيئات التي تتطلب امتثالًا وتدقيقًا صارمين، فكر في استخدام Azure Bastion Premium SKU لتسجيل جلسات RDP وSSH. يوفر هذا سجلاً مرئيًا لما تم إنجازه على الأجهزة الافتراضية.
  • مراقبة السجل: مراقبة سجلات نشاط Azure لـ Bastion وسجلات الأمان لأجهزة VM الخاصة بك لاكتشاف الأنشطة المشبوهة أو محاولات الوصول غير المصرح بها.
  • التحديثات والتصحيحات: حافظ على تحديث الأجهزة الافتراضية الخاصة بك بأحدث تصحيحات الأمان للتخفيف من الثغرات الأمنية الداخلية.

استكشاف الأخطاء وإصلاحها الشائعة

  • لا أستطيع رؤية خيار Bastion عند محاولة الاتصال بالجهاز الافتراضي:
    • تأكد من توفير Azure Bastion في نفس VNet (أو شبكة VNet النظيرة) مثل VM.
    • تأكد من وجود AzureBastionSubnet وأنه يحتوي على بادئة العنوان الصحيحة (/27 أو أكبر).
    • تحقق مما إذا كان Bastion في حالة "التشغيل" في بوابة Azure.
  • خطأ في اتصال RDP/SSH عبر Bastion:
    • بيانات اعتماد غير صالحة: تحقق من صحة بيانات اعتماد المستخدم وكلمة المرور (أو مفتاح SSH) للجهاز الظاهري.
    • مشكلات NSG: تأكد من أن NSG للشبكة الفرعية VM تسمح بحركة المرور الواردة على المنافذ 3389 (RDP) أو 22 (SSH) لـ AzureBastionSubnet.
    • VM Firewall: تأكد من أن جدار الحماية الداخلي لجهاز VM لا يحظر اتصالات RDP/SSH.
    • خدمة RDP/SSH ليست قيد التشغيل: تأكد من تشغيل خدمة RDP (لنظام التشغيل Windows) أو خدمة SSH (لنظام Linux) على الجهاز الظاهري.
  • بطء الأداء أو انقطاع الاتصال:
    • التحقق من عرض النطاق الترددي لاتصالك بالإنترنت. يقوم Bastion ببث فيديو الجلسة إلى متصفحك.
    • خذ بعين الاعتبار استخدام Bastion's Standard أو Premium SKU، الذي يوفر أداءً أفضل وميزات إضافية.
    • التحقق من الاستخدام العالي لوحدة المعالجة المركزية أو الذاكرة على الجهاز الظاهري المستهدف، مما قد يؤثر على أداء الجلسة.
  • لا أستطيع الوصول إلى موارد VM الداخلية عبر Bastion:
    • يوفر Azure Bastion إمكانية الاتصال بالجهاز الافتراضي. بمجرد الاتصال بالجهاز الافتراضي، سيعتمد الوصول إلى الموارد الداخلية الأخرى لشبكة VNet على تكوينات الشبكة الخاصة بالجهاز الافتراضي وقواعد NSG المعمول بها.

الخلاصة

يعد Azure Bastion مكونًا أساسيًا لأمن البيئات السحابية، حيث يوفر طريقة آمنة ومبسطة للوصول إلى الأجهزة الافتراضية. من خلال القضاء على التعرض المباشر لمنافذ RDP/SSH للإنترنت، فإنه يقلل بشكل كبير من سطح الهجوم ويعزز الوضع الأمني ​​العام. يعد التنفيذ الدقيق والتكامل مع أفضل الممارسات الأمنية والمراقبة المستمرة أمرًا بالغ الأهمية لتحقيق أقصى قدر من فوائد Bastion. مع هذا زمن خلال هذا النهج العملي، سيكون متخصصو الأمن ومسؤولو تكنولوجيا المعلومات مجهزين جيدًا لتكوين Azure Bastion والتحقق من صحته وإدارته، مما يضمن أن الوصول إلى أجهزتهم الافتراضية آمن ومتوافق دائمًا.


المراجع:

[1] مايكروسوفت تعلم. ما هو أزور باستيون؟. متوفر على: https://learn.microsoft.com/pt-br/azure/bastion/bastion-overview [2] مايكروسوفت تعلم. اعتبارات التصميم والتخطيط لاستخدام Azure Bastion لتمكين الوصول الآمن عن بعد إلى الأجهزة الافتراضية في Azure. متوفر في: https://learn.microsoft.com/pt-br/azure/cloud-adoption-framework/ready/azure-best-practices/plan-for-virtual-machine-remote-access [3] مايكروسوفت تعلم. اتصل بجهاز Windows VM باستخدام RDP - Azure Bastion. متوفر على: https://learn.microsoft.com/pt-br/azure/bastion/bastion-connect-vm-rdp-windows [4] مايكروسوفت تعلم. تكوين مضيف Bastion. متوفر على: https://learn.microsoft.com/pt-br/azure/bastion/tutorial-create-host-portal [5] مايكروسوفت تعلم. اتصل بجهاز Linux VM باستخدام SSH - Azure Bastion. متوفر على: https://learn.microsoft.com/pt-br/azure/bastion/bastion-connect-vm-ssh-linux [6] مايكروسوفت تعلم. مراقبة جلسة Azure Bastion وإدارتها. متوفر على: https://learn.microsoft.com/pt-br/azure/bastion/session-monitoring [7] مايكروسوفت تعلم. * تكوين تسجيل جلسة Bastion *. متوفر على: https://learn.microsoft.com/pt-br/azure/bastion/session-recording