التشفير أثناء النقل باستخدام WireGuard

مع اعتماد المؤسسات بشكل متزايد على Azure Kubernetes Service (AKS) لتشغيل أحمال العمل المحوية، يصبح ضمان أمان حركة الشبكة بين التطبيقات والخدمات أمرا أساسيا، خاصة في البيئات المنظمة أو الحساسة للأمن. يحمي التشفير أثناء النقل باستخدام WireGuard البيانات أثناء انتقالها بين الكبسولات والعقد ، مما يخفف من مخاطر الاعتراض أو العبث. تشتهر WireGuard ببساطتها وتشفيرها القوي ، وتقدم حلا قويا لتأمين الاتصال داخل مجموعات AKS.

تشفير WireGuard لصالح AKS هو جزء من مجموعة ميزات خدمات شبكات الحاويات المتقدمة ، وتنفيذه يعتمد على Cilium.

نطاق تشفير WireGuard

تم تصميم تشفير WireGuard أثناء النقل في AKS لتأمين تدفقات حركة مرور محددة داخل مجموعة Kubernetes الخاصة بك. يوضح هذا القسم أنواع الحركة التي تم تشفيرها وأيها غير مدعومة حاليا عبر خدمات شبكات الحاويات المتقدمة.

تدفقات حركة المرور المدعومة/المشفرة:

  • حركة مرور الجراب بين العقد: حركة المرور التي تغادر جراب من عقدة واحدة موجهة إلى جراب على عقدة أخرى.

تدفقات حركة المرور غير المدعومة/غير المشفرة

  • حركة مرور جراب العقدة نفسها: حركة المرور بين الجرابات على نفس العقدة
  • حركة مرور شبكة العقدة: حركة المرور الناتجة عن العقدة نفسها الموجهة إلى عقدة أخرى

نظرة عامة على الهندسة

يعتمد تشفير وايرجارد على Azure CNI المدعوم ب cilium لتأمين الاتصالات بين العقد داخل نظام موزع. تستخدم البنية عامل WireGuard مخصصا ينسق إدارة المفاتيح وتكوين الواجهة وتحديثات الأقران الديناميكية. يحاول هذا القسم تقديم شرح مفصل

رسم تخطيطي لتصميم WireGuard.

وكيل WireGuard

عند بدء التشغيل، يقوم عامل Cilium بتقييم تكوينه لتحديد ما إذا كان التشفير ممكنا أم لا. عند تحديد WireGuard كوضع التشفير، يقوم العامل بتهيئة نظام فرعي مخصص ل WireGuard. عامل wireguard مسؤول عن تكوين وتهيئة المكونات المطلوبة لفرض تشفير WireGuard.

توليد المفاتيح

المتطلبات الأساسية لتأمين الاتصال هي إنشاء أزواج مفاتيح التشفير. ستقوم كل عقدة في مجموعة Kubernetes تلقائيا بإنشاء زوج مفاتيح WireGuard فريد أثناء مرحلة التهيئة وتوزيع مفتاحها العام عبر التعليق التوضيحي "network.cilium.io/wg-pub-key" في كائن المورد المخصص Kubernetes CiliumNode. يتم تخزين أزواج المفاتيح في الذاكرة وتدويرها كل 120 ثانية. يعمل المفتاح الخاص كهوية سرية للعقدة. تتم مشاركة المفتاح العام مع عقد النظير في نظام المجموعة لفك تشفير نسبة استخدام الشبكة وتشفيرها من وإلى نقاط النهاية المدارة من Cilium التي تعمل على تلك العقدة. تدار هذه المفاتيح بالكامل بواسطة Azure، وليس من قبل العميل، مما يضمن التعامل الآمن والآلي دون الحاجة إلى تدخل يدوي. تضمن هذه الآلية أن العقد التي لديها بيانات اعتماد تم التحقق من صحتها فقط يمكنها المشاركة في الشبكة المشفرة.

إنشاء الواجهة

بمجرد انتهاء عملية إنشاء المفاتيح ، يقوم عامل WireGuard بتكوين واجهة شبكة مخصصة (cilium_wg0). تتضمن هذه العملية إنشاء واجهة وتكوينها باستخدام المفتاح الخاص الذي تم إنشاؤه مسبقا.

مقارنة مع تشفير الشبكة الظاهرية

يقدم Azure عدة خيارات لتأمين حركة المرور أثناء النقل في AKS، بما في ذلك ><تشفير الشبكة الافتراضية والتشفير القائم على WireGuard. بينما يعزز كلا النهجين سرية وسلامة حركة مرور الشبكة، إلا أنهما يختلفان في النطاق والمرونة ومتطلبات النشر. يساعدك هذا القسم على فهم وقت استخدام كل حل.

استخدام تشفير الشبكة الظاهرية عندما

  • أنت بحاجة إلى تشفير كامل لطبقة الشبكة لجميع حركة المرور داخل الشبكة الافتراضية: يضمن تشفير الشبكة الافتراضية أن جميع حركة المرور بغض النظر عن عبء العمل أو طبقة التنسيق يتم تشفيرها تلقائيا أثناء عبوره Azure Virtual Network.

  • تحتاج إلى الحد الأدنى من النفقات العامة للأداء: يستخدم تشفير الشبكة الظاهرية تسريع الأجهزة في وحدات SKU للجهاز الظاهري المدعومة، وإلغاء تحميل التشفير من نظام التشغيل إلى الأجهزة الأساسية. يوفر هذا التصميم إنتاجية عالية مع استخدام منخفض لوحدة المعالجة المركزية.

  • تدعم جميع أجهزتك الظاهرية تشفير الشبكة الظاهرية: يعتمد تشفير الشبكة الظاهرية على وحدات SKU للجهاز الظاهري التي تدعم تسريع الأجهزة اللازم. إذا كانت البنية الأساسية الخاصة بك تتكون بالكامل من وحدات SKU المدعومة، فيمكن تمكين تشفير الشبكة الظاهرية بسلاسة.

  • تدعم تكوينات شبكة AKS تشفير الشبكة الظاهرية: يحتوي تشفير الشبكة الظاهرية على بعض القيود عندما يتعلق الأمر بشبكات جراب aks. لمزيد من المعلومات، راجع السيناريوهات المدعومة لتشفير الشبكة الظاهرية

استخدام تشفير WireGuard عندما

  • تريد التأكد من تشفير نسبة استخدام الشبكة للتطبيق عبر جميع العقدة ، ولا يقوم تشفير الشبكة الظاهرية بتشفير نسبة استخدام الشبكة بين العقد على نفس المضيف الفعلي.

  • تريد توحيد التشفير عبر البيئات متعددة السحابة أو المختلطة: يقدم WireGuard حلا غير سحابي ، مما يتيح التشفير المتسق عبر المجموعات التي تعمل في موفري الخدمات السحابية المختلفة أو المحليين.

  • لا تحتاج أو تريد تشفير جميع نسبة استخدام الشبكة داخل الشبكة الظاهرية: يتيح WireGuard استراتيجية تشفير أكثر استهدافا مثالية لتأمين أحمال العمل الحساسة دون تكبد النفقات العامة لتشفير جميع حركة المرور.

  • لا تدعم بعض وحدات SKU للجهاز الظاهري تشفير الشبكة الظاهرية: يتم تنفيذ WireGuard في البرامج ويعمل بغض النظر عن دعم أجهزة الجهاز الظاهري ، مما يجعله خيارا عمليا للبيئات غير المتجانسة.

الاعتبارات والقيود

• WireGuard غير متوافق مع FIPS . • لا ينطبق تشفير WireGuard على استخدام الجرابات للشبكات المضيفة (spec.hostNetwork: true) لأن هذه القرون تستخدم هوية المضيف بدلا من امتلاك هويات فردية.

مهم

يعمل تشفير WireGuard على مستوى البرنامج ، والذي يمكن أن يؤدي إلى زمن الوصول والتأثير على أداء الإنتاجية. يعتمد مدى هذا التأثير على عوامل مختلفة، بما في ذلك حجم الجهاز الظاهري (SKU للعقدة) وتكوين الشبكة وأنماط حركة مرور التطبيق. تشير المقارنة المعيارية التي أجريناها إلى أن الإنتاجية تقتصر على 1.5 جيجابت في الثانية مع وحدة نقل أسرع من الوحدات تبلغ 1500. ومع ذلك، قد تختلف النتائج وفقا لخصائص حمل العمل وتكوين نظام المجموعة. أدى استخدام SKU الذي يدعم MTU 3900 إلى زيادة معدل النقل بمقدار 2.5 مرة تقريبا. بينما يمكن استخدام تشفير WireGuard جنبا إلى جنب مع سياسات الشبكة، فإن القيام بذلك قد يؤدي إلى مزيد من التدهور في الأداء، مع تقليل الإنتاجية وزيادة زمن الوصول. بالنسبة للتطبيقات الحساسة لزمن الوصول أو الإنتاجية، نوصي بشدة بتقييم WireGuard في بيئة غير إنتاجية أولا. كما هو الحال دائما، قد تختلف النتائج بناء على خصائص حمل العمل وتكوين نظام المجموعة.

التسعير

مهم

خدمات شبكات الحاويات المتقدمة هي عرض مدفوع. لمزيد من المعلومات حول التسعير، راجع خدمات شبكات الحاويات المتقدمة - التسعير.

الخطوات التالية