النفق من موقع إلى موقع يعمل، والعميل المحلي يصل إلى بعض مضيفي Azure دون غيرهم، وقد أضاف أحدهم مجموعة أمان شبكة إلى GatewaySubnet لحل المشكلة. توقّف هنا. لا تدعم Azure مجموعات أمان الشبكة على GatewaySubnet، ولا تستطيع المجموعة رؤية الحزمة الداخلية كما تفعل قاعدة حمل العمل. ضَع السياسة على الشبكة الفرعية الوجهة أو على NIC، وطابِق عنوان المصدر الموجود بعد فك التشفير، ثم تحقّق باتصال جديد لا باتصال قديم.

ضَع مجموعة الأمان حيث تقيّمها Azure

الحد المدعوم لتصفية حمل العمل هو الشبكة الفرعية الوجهة أو واجهة الشبكة الوجهة. أما الشبكة الفرعية للبوابة فهي بنية تحتية، وتوثّق Azure أن مجموعات أمان الشبكة غير مدعومة هناك وقد تُضعف عمل البوابة.

وهناك أيضًا مشكلة منطقية في الموضع. فالمجموعة على GatewaySubnet ستقيّم تبادل IPsec الخارجي، وعناوينه تخص البوابتين. وقاعدة تطبيقك تحتاج المصدر الخاص داخل النفق، وهذه الحزمة لا توجد إلا بعد أن تفكّ البوابة تشفيرها. اربط المجموعة بالشبكة الفرعية لحمل العمل، فترى القاعدة العنوان الذي كُتبت من أجله.

افحص الارتباطات الحالية قبل أن تغيّر أي شيء، لتعرف ما الذي تنقله:

az network vnet subnet show -g rg-net -n snet-app --vnet-name vnet-prod --query networkSecurityGroup.id
az network vnet subnet show -g rg-net -n GatewaySubnet --vnet-name vnet-prod --query networkSecurityGroup.id

اعثر على عنوان المصدر بعد فك التشفير

المصدر الداخلي هو العنوان الخاص للعميل المحلي، أو العنوان الذي يعرضه جهاز أو NAT الخاص بـ VPN بعد الترجمة. وهو ليس العنوان العام لبوابة VPN المحلية، إذ يخص التبادل الخارجي.

عندما يكون NAT جزءًا من التصميم، تأكّد من المصدر المعروض بدل أن تفترضه. فالتقاط الحزم على جهاز Azure الظاهري، أو حقل المصدر في سجل اتصال الخدمة، يحسم السؤال أسرع من قراءة الإعداد المحلي. ثم اكتب القاعدة على ذلك العنوان وعلى منفذ الوجهة الحقيقي.

az network nsg rule create -g rg-net --nsg-name nsg-app -n allow-onprem-https --priority 200 --direction Inbound --access Allow --protocol Tcp --source-address-prefixes 192.168.10.0/24 --destination-address-prefixes 10.1.2.0/24 --destination-port-ranges 443

استخدم قاعدة واحدة لكل خدمة تريد كشفها، وأبقِ قائمة المنافذ قصيرة. فالقاعدة التي تسمح بكل المنافذ من النطاق المحلي تجعل المجموعة شكليّة.

افحص النطاق الافتراضي VirtualNetwork

علامة الخدمة VirtualNetwork أوسع من الشبكة الظاهرية المحلية. فتعريفها يشمل مساحات العناوين المحلية المتصلة، والشبكات المتصلة بالنظير، وبادئات أخرى متصلة بالبوابة. أي أن قاعدة سماح افتراضية محصورة في VirtualNetwork قد تسمح أصلًا بحركة النفق التي كان المشغّل يعدّها خارجية.

اقرأ القواعد الافتراضية قبل إضافة قواعد ضيقة، واقرأ كل قاعدة ذات أولوية أعلى قد تطابق أولًا. فإضافة سماح صريح لا تلغي قاعدة أوسع تسمح بالتدفق بالفعل. وحيث تفرض السياسة منعًا، ضَعه بأولوية تُقيَّم فعلًا قبل السماح.

تسرد وثائق علامات الخدمة من Microsoft ما تغطيه علامة VirtualNetwork، وهي المرجع الذي يُستشهد به حين يجادل أحدهم بأن العلامة تعني نطاق VNet فقط.

اقرأ القواعد الفعلية عند الحدّين

عندما تنطبق مجموعة أمان على الشبكة الفرعية وأخرى على NIC معًا، يجب أن يستوفي التدفق الاثنتين. فالسماح في إحداهما لا يتجاوز المنع في الأخرى، والرؤية المجمّعة هي ما تصادفه الحزمة فعلًا.

az network nic show-effective-nsg -g rg-net -n vm-app-nic -o table

وإذا كانت قواعد مسؤول الأمان في Azure Virtual Network Manager مطبَّقة، فراجع تلك الطبقة أيضًا. فقاعدة Always allow الإدارية قد تمرّر الحركة دون تقييم المجموعة، بينما توقفها قاعدة Deny الإدارية قبل أن تراها المجموعات. ومراجعة المجموعات وحدها ناقصة في هذا الترتيب.

تذكّر أن مجموعات أمان الشبكة حالتية. فتعديل قاعدة لا يُنهي بالضرورة اتصالًا مسموحًا قائمًا، لذا يحتاج اختبار القبول تدفقًا جديدًا. وهذه الخاصية مفيدة في الإنتاج ومضللة أثناء نافذة تغيير.

تحقّق باتصال جديد

افتح جلسة جديدة من العميل المحلي إلى منفذ الخدمة، ثم كرّر من مضيف يُفترض أن يُرفض. ونفّذ اختبار التدفق من جهة الجهاز الظاهري أيضًا، لتعرف أن مسار العودة سليم.

az network watcher test-ip-flow -g rg-net --vm vm-app --direction Inbound --protocol Tcp --local 10.1.2.4:443 --remote 192.168.10.50:51515

سماح مجموعة الأمان قرار وصول واحد، ليس مسارًا ولا مستمعًا. فإذا سمحت القاعدة بالتدفق وظل الاتصال فاشلًا، فافحص مسار العميل إلى VPN، ومسار العودة في Azure، وجدار حماية المضيف قبل تعديل المجموعة مرة أخرى. وسجّل عنوان المصدر الفعلي وارتباطات المجموعة والقاعدة المطابقة مع الخدمة المعتمدة، لأن تغيير النظير أو المسار التالي قد يغيّر ما تغطيه علامة VirtualNetwork.

مقالات ذات صلة