يوضح الرسم التخطيطي التالي طريقة عرض عالية المستوى للمكونات في حل IoT نموذجي قائم على الحافة. تركز هذه المقالة على أمان حل IoT المستند إلى الحافة:
يمكنك تقسيم الأمان في حل IoT المستند إلى الحافة إلى المجالات الثلاثة التالية:
أمان الأصول: تأمين العنصر الفعلي أو الظاهري للقيمة التي تريد إدارة البيانات منها ومراقبتها وجمعها.
أمان الاتصال: تأكد من أن جميع البيانات أثناء النقل بين الأصول والحافة والخدمات السحابية سرية وخالية من العبث.
أمان الحافة: قم بتأمين بياناتك أثناء التنقل، ويتم تخزينها في الحافة.
أمان السحابة: تأمين بياناتك أثناء انتقالها وتخزينها في السحابة.
عادة ما تريد تأمين عملياتك من طرف إلى طرف باستخدام قدرات أمان Azure على حل قائم على الحافة. تحتوي عمليات Azure IoT على قدرات أمان مضمنة مثل إدارة الأسرار وإدارة الشهادات والإعدادات الآمنة على مجموعة Kubernetes التي تدعم Azure Arc. عند توصيل مجموعة Kubernetes ب Azure، يتم بدء اتصال صادر ب Azure، باستخدام SSL القياسي للصناعة لتأمين البيانات أثناء النقل، ويتم تمكين العديد من ميزات الأمان الأخرى، مثل:
Microsoft Defender for IoT هو حل أمان موحد تم إنشاؤه خصيصا لتحديد أجهزة IoT والتكنولوجيا التشغيلية (OT) والثغرات الأمنية والتهديدات. Microsoft Defender for Containers هو حل سحابي أصلي لتحسين ومراقبة وصيانة أمان الأصول المعبأة في حاويات (مجموعات Kubernetes وعقد Kubernetes وأحمال عمل Kubernetes وسجلات الحاويات وصور الحاويات والمزيد)، وتطبيقاتها، عبر البيئات متعددة السحابة والبيئات المحلية.
يمكن لكل من Defender for IoT وDefender for Containers مراقبة بعض التوصيات المضمنة في هذه المقالة تلقائيا. يجب أن يكون Defender for IoT وDefender for Containers خط الدفاع الأمامي لحماية الحل المستند إلى الحافة. لمعرفة المزيد، راجع:
إدارة البيانات السرية: استخدم Azure Key Vault لتخزين وإدارة المعلومات الحساسة للأصول مثل المفاتيح وكلمات المرور والشهادات والأسرار. تستخدم عمليات Azure IoT Azure Key Vault كحل للمخزن المدار على السحابة، وتستخدم ملحق مخزن Azure Key Vault السري ل Kubernetes لمزامنة الأسرار من السحابة وتخزينها على الحافة كأسرار Kubernetes. لمعرفة المزيد، راجع إدارة الأسرار لتوزيع عمليات Azure IoT.
إدارة الشهادات: تعد إدارة الشهادات أمرا بالغ الأهمية لضمان الاتصال الآمن بين الأصول وبيئة وقت تشغيل الحافة. توفر عمليات Azure IoT أدوات لإدارة الشهادات، بما في ذلك إصدار الشهادات وتجديدها وإبطالها. لمعرفة المزيد، راجع إدارة الشهادات للاتصال الداخلي لعمليات Azure IoT.
حدد أجهزة مقاومة للعبث للأصول: اختر أجهزة الأصول ذات الآليات المضمنة للكشف عن العبث المادي، مثل فتح غطاء الجهاز أو إزالة جزء من الجهاز. يمكن أن تكون إشارات العبث هذه جزءا من دفق البيانات الذي تم تحميله إلى السحابة، وتنبيه المشغلين إلى هذه الأحداث.
تمكين التحديثات الآمنة للبرامج الثابتة للأصول: استخدم الخدمات التي تمكن التحديثات عبر الهواء لأصولك. إنشاء أصول مع مسارات آمنة للتحديثات وضمان التشفير لإصدارات البرامج الثابتة لتأمين أصولك أثناء التحديثات وبعدها.
توزيع أجهزة الأصول بشكل آمن: تأكد من أن نشر أجهزة الأصول مقاوم للعبث قدر الإمكان، خاصة في المواقع غير الآمنة مثل الأماكن العامة أو الأماكن المحلية غير الخاضعة للإشراف. قم بتمكين الميزات الضرورية لتقليل بصمة الهجوم المادي، مثل تغطية منافذ USB بأمان إذا لم تكن هناك حاجة إليها.
اتبع أفضل ممارسات الأمان والنشر للشركة المصنعة للجهاز: إذا كانت الشركة المصنعة للجهاز توفر إرشادات الأمان والتوزيع، فاتبع هذه الإرشادات بالإضافة إلى الإرشادات العامة المدرجة في هذه المقالة.
أمان الاتصال
استخدم أمان طبقة النقل (TLS) لتأمين الاتصالات من الأصول: يتم تشفير جميع الاتصالات داخل عمليات Azure IoT باستخدام TLS. لتوفير تجربة آمنة بشكل افتراضي تقلل من التعرض غير المقصود للحل المستند إلى الحافة للمهاجمين، يتم نشر عمليات Azure IoT مع مرجع مصدق جذري افتراضي ومصدر لشهادات خادم TLS. لنشر الإنتاج، نوصي باستخدام مصدر CA الخاص بك وحل PKI للمؤسسة.
ضع في اعتبارك استخدام جدران حماية المؤسسة أو الوكلاء لإدارة نسبة استخدام الشبكة الصادرة: إذا كنت تستخدم جدران حماية المؤسسة أو الوكلاء، أضف نقاط نهاية عمليات Azure IoT إلى قائمة السماح الخاصة بك.
تشفير نسبة استخدام الشبكة الداخلية لوسيط الرسائل: يعد ضمان أمان الاتصالات الداخلية داخل البنية الأساسية للحافة أمرا مهما للحفاظ على سلامة البيانات وسريتها. يجب عليك تكوين وسيط MQTT لتشفير حركة المرور الداخلية والبيانات أثناء النقل بين الواجهة الأمامية للوسيط MQTT ووحدات الواجهة الخلفية. لمعرفة المزيد، راجع تكوين تشفير حركة المرور الداخلية للوسيط والشهادات الداخلية.
تكوين TLS مع إدارة الشهادات التلقائية للمستمعين في وسيط MQTT: توفر عمليات Azure IoT إدارة الشهادات التلقائية للمستمعين في وسيط MQTT. وهذا يقلل من النفقات الإدارية لإدارة الشهادات يدويا، ويضمن التجديدات في الوقت المناسب، ويساعد على الحفاظ على التوافق مع نهج الأمان. لمعرفة المزيد، راجع اتصال وسيط MQTT الآمن باستخدام BrokerListener.
حافظ على بيئة وقت تشغيل الحافة محدثة: حافظ على تحديث نظام المجموعة وعمليات Azure IoT مع أحدث التصحيحات والإصدارات الثانوية للحصول على جميع إصلاحات الأمان والأخطاء المتوفرة. بالنسبة إلى عمليات نشر الإنتاج، قم بإيقاف تشغيل الترقية التلقائية ل Azure Arc للتحكم الكامل في وقت تطبيق التحديثات الجديدة على نظام المجموعة الخاص بك. بدلا من ذلك، ترقية العوامل يدويا حسب الحاجة.
تحقق من تكامل صور docker و helm: قبل نشر أي صورة إلى مجموعتك، تحقق من أن الصورة موقعة من قبل Microsoft. لمعرفة المزيد، راجع التحقق من صحة توقيع الصورة.
استخدم دائما شهادات X.509 أو رموز حساب خدمة Kubernetes للمصادقة مع وسيط MQTT: يدعم وسيط MQTT أساليب مصادقة متعددة للعملاء. يمكنك تكوين كل منفذ وحدة استماع للحصول على إعدادات المصادقة الخاصة به باستخدام مورد BrokerAuthentication. لمعرفة المزيد، راجع تكوين مصادقة وسيط MQTT.
توفير أقل امتياز مطلوب لأصل الموضوع في وسيط MQTT: تحدد نهج التخويل الإجراءات التي يمكن للعملاء تنفيذها على الوسيط، مثل الاتصال أو النشر أو الاشتراك في الموضوعات. قم بتكوين وسيط MQTT لاستخدام نهج تخويل واحد أو عدة نهج مع مورد BrokerAuthorization. لمعرفة المزيد، راجع تكوين تخويل وسيط MQTT.
تكوين بيئات الشبكة المعزولة باستخدام Azure IoT Layered Network Management (معاينة):Azure IoT Layered Network Management (معاينة) هو مكون يسهل الاتصال بين Azure والمجموعات في بيئات الشبكة المعزولة. في السيناريوهات الصناعية، تتبع الشبكات المعزولة بنية شبكة Purdue ISA-95/. لمعرفة المزيد، راجع ما هي إدارة الشبكة ذات طبقات Azure IoT (معاينة)؟.
أمان السحابة
استخدام الهويات المدارة المعينة من قبل المستخدم للاتصالات السحابية: استخدم دائما مصادقة الهوية المدارة. عندما يكون ذلك ممكنا، استخدم الهوية المدارة المعينة من قبل المستخدم في نقاط نهاية تدفق البيانات من أجل المرونة وإمكانية التدقيق.
توزيع موارد إمكانية المراقبة وإعداد السجلات: توفر إمكانية المراقبة رؤية في كل طبقة من تكوين عمليات Azure IoT. فهو يمنحك نظرة ثاقبة على السلوك الفعلي للمشكلات، ما يزيد من فعالية هندسة موثوقية الموقع. توفر عمليات Azure IoT إمكانية المراقبة من خلال لوحات معلومات Grafana المنسقة المخصصة المستضافة في Azure. يتم تشغيل لوحات المعلومات هذه بواسطة خدمة Azure Monitor المدارة ل Prometheus و Container Insights.
نشر موارد إمكانية المراقبة على نظام المجموعة قبل نشر عمليات Azure IoT.
الوصول الآمن إلى الأصول ونقاط نهاية الأصول باستخدام Azure RBAC: الأصول ونقاط نهاية الأصول في عمليات Azure IoT لها تمثيلات في كل من مجموعة Kubernetes ومدخل Azure. يمكنك استخدام Azure RBAC لتأمين الوصول إلى هذه الموارد. Azure RBAC هو نظام تخويل يمكنك من إدارة الوصول إلى موارد Azure. يمكنك استخدام Azure RBAC لمنح أذونات للمستخدمين والمجموعات والتطبيقات في نطاق معين. لمعرفة المزيد، راجع الوصول الآمن إلى الأصول ونقاط نهاية الأصول.
يوضح الرسم التخطيطي التالي طريقة عرض عالية المستوى للمكونات في حل IoT نموذجي قائم على السحابة. تركز هذه المقالة على أمان حل IoT المستند إلى السحابة:
يمكنك تقسيم الأمان في حل IoT المستند إلى السحابة إلى المجالات الثلاثة التالية:
أمان الجهاز: تأمين جهاز IoT أثناء نشره في البرية.
أمان الاتصال: تأكد من أن جميع البيانات المرسلة بين جهاز IoT وخدمات سحابة IoT سرية وخالية من العبث.
أمان السحابة: تأمين بياناتك أثناء انتقالها وتخزينها في السحابة.
يساعدك تنفيذ التوصيات الواردة في هذه المقالة على الوفاء بالالتزامات الأمنية الموضحة في نموذج المسؤولية المشتركة.
Microsoft Defender لإنترنت الأشياء
يمكن ل Microsoft Defender for IoT مراقبة بعض التوصيات المضمنة في هذه المقالة تلقائيا. يجب أن يكون Microsoft Defender for IoT هو خط الدفاع الأمامي لحماية الحل المستند إلى السحابة. يقوم Microsoft Defender for IoT بتحليل حالة الأمان لموارد Azure بشكل دوري لتحديد الثغرات الأمنية المحتملة. ثم يقدم لك توصيات بشأن كيفية معالجتها. لمعرفة المزيد، راجع:
نطاق الأجهزة إلى الحد الأدنى من المتطلبات: حدد جهاز الجهاز الخاص بك لتضمين الحد الأدنى من الميزات المطلوبة لتشغيله، وليس أكثر من ذلك. على سبيل المثال، قم بتضمين منافذ USB فقط إذا كانت ضرورية لتشغيل الجهاز في الحل الخاص بك. يمكن أن تعرض الميزات الإضافية الجهاز لنواقل الهجوم غير المرغوب فيها.
حدد أجهزة إثبات العبث: حدد أجهزة الجهاز ذات الآليات المضمنة للكشف عن العبث المادي، مثل فتح غطاء الجهاز أو إزالة جزء من الجهاز. يمكن أن تكون إشارات العبث هذه جزءا من دفق البيانات الذي تم تحميله إلى السحابة، والذي يمكن أن ينبه المشغلين إلى هذه الأحداث.
تحديد الأجهزة الآمنة: إذا أمكن، اختر أجهزة الجهاز التي تتضمن ميزات الأمان مثل وظائف التخزين والتمهيد الآمنة والمشفرة استنادا إلى وحدة النظام الأساسي الموثوق بها. تجعل هذه الميزات الأجهزة أكثر أمانا وتساعد على حماية البنية الأساسية الشاملة لـ IoT.
تمكين التحديثات الآمنة: استخدم خدمات مثل Device Update ل IoT Hub للتحديثات عبر الهواء لأجهزة IoT الخاصة بك. إنشاء أجهزة بمسارات آمنة للتحديثات وضمان التشفير لإصدارات البرامج الثابتة لتأمين أجهزتك أثناء التحديثات وبعدها.
اتبع منهجية تطوير البرامج الآمنة: يتطلب منك تطوير البرامج الآمنة مراعاة الأمان منذ بداية المشروع طوال الطريق من خلال التنفيذ والاختبار والنشر.
توفر دورة حياة تطوير الأمان من Microsoft نهجا خطوة بخطوة لإنشاء برامج آمنة.
استخدام SDKs للجهاز كلما أمكن ذلك: تنفذ مجموعات SDK الخاصة بالجهاز ميزات أمان مختلفة مثل التشفير والمصادقة التي تساعدك على تطوير تطبيقات قوية وآمنة للجهاز. لمعرفة المزيد، راجع Azure IoT SDKs.
اختيار البرامج مفتوحة المصدر بعناية: توفر البرامج مفتوحة المصدر فرصة لتطوير الحلول بسرعة. عندما تقوم باختيار برنامج مفتوح المصدر، فضع في اعتبارك مستوى نشاط المجتمع لكل مكون مفتوح المصدر. يضمن المجتمع النشط دعم البرنامج واكتشاف المشكلات وإصلاحها. قد لا يتم دعم مشروع برنامج مفتوح المصدر غامض وغير نشط ولا يمكن اكتشاف المشكلات على الأرجح.
توزيع الأجهزة بشكل آمن: قد تتطلب منك عمليات توزيع IoT نشر الأجهزة في مواقع غير آمنة، كما هو الحال في الأماكن العامة أو الأماكن المحلية غير الخاضعة للإشراف. في مثل هذه الحالات، تأكد من أن توزيع الأجهزة هو مقاومة للعبث قدر الإمكان، ويتم تمكين الميزات الضرورية فقط لتقليل بصمة الهجوم المادي. على سبيل المثال، إذا كان الجهاز يحتوي على منافذ USB، فتأكد من تغطيتها بشكل آمن.
حافظ على أمان مفاتيح المصادقة: أثناء النشر، يتطلب كل جهاز معرفات الجهاز ومفاتيح المصادقة المقترنة التي تم إنشاؤها بواسطة الخدمة السحابية. احتفظ بهذه المفاتيح آمنة ماديا واستخدم بيانات الاعتماد المتجددة. يمكن لجهاز ضار استخدام أي مفتاح تم اختراقه للتنكر كجهاز موجود.
حافظ على تحديث النظام: تأكد من ترقية أنظمة تشغيل الجهاز وجميع برامج تشغيل الأجهزة إلى أحدث الإصدارات. يساعد الحفاظ على تحديث أنظمة التشغيل على ضمان حمايتهم من الهجمات الضارة.
الحماية من النشاط الضار: إذا سمح نظام التشغيل بذلك، فقم بتثبيت أحدث إمكانيات مكافحة الفيروسات والبرامج الضارة على كل نظام تشغيل جهاز.
التدقيق بشكل متكرر: يعد تدقيق البنية الأساسية ل IoT للمشكلات المتعلقة بالأمان أمرا أساسيا عند الاستجابة للحوادث الأمنية. توفر معظم أنظمة التشغيل تسجيل أحداث مضمن يجب مراجعته بشكل متكرر للتأكد من عدم حدوث أي خرق أمني. يمكن للجهاز إرسال معلومات التدقيق كتدفق بيانات تتبع الاستخدام منفصل إلى الخدمة السحابية حيث يمكن تحليلها.
اتبع أفضل ممارسات الأمان والنشر للشركة المصنعة للجهاز: إذا كانت الشركة المصنعة للجهاز توفر إرشادات الأمان والتوزيع، فاتبع هذه الإرشادات بالإضافة إلى الإرشادات العامة المدرجة في هذه المقالة.
استخدم بوابة حقل لتوفير خدمات الأمان للأجهزة القديمة أو المقيدة: قد تفتقر الأجهزة القديمة والمقيدة إلى القدرة على تشفير البيانات أو الاتصال بالإنترنت أو توفير تدقيق متقدم. في هذه الحالات، يمكن لبوابة مجال حديثة وآمنة أن تقوم بتجميع البيانات من الأجهزة القديمة وتوفير الأمان المطلوب لتوصيل هذه الأجهزة عبر الإنترنت.
يمكن استخدام جهاز IoT Edge كبوابة وتوفير مصادقة آمنة والتفاوض على جلسات عمل مشفرة واستلام أوامر من السحابة والعديد من ميزات الأمان الأخرى.
يمكن استخدام Azure Sphere كوحدة وصي لتأمين الأجهزة الأخرى، بما في ذلك الأنظمة القديمة الحالية غير المصممة للاتصال الموثوق به.
أمان الاتصال
استخدم شهادات X.509 لمصادقة أجهزتك إلى IoT Hub أو IoT Central: يدعم IoT Hub وIoT Central كلا من المصادقة المستندة إلى شهادة X509 والرموز المميزة للأمان كأساليب للجهاز للمصادقة. إذا أمكن، استخدم المصادقة المستندة إلى X509 في بيئات الإنتاج لأنها توفر أمانا أكبر. لمعرفة المزيد، راجع مصادقة جهاز إلى IoT Hub ومفاهيم مصادقة الجهاز في IoT Central.
استخدم بروتوكول أمان طبقة النقل (TLS) 1.2 لتأمين الاتصالات من الأجهزة: يستخدم IoT Hub وIoT Central بروتوكول أمان طبقة النقل لتأمين الاتصالات من أجهزة وخدمات IoT. يتم حاليا دعم ثلاثة إصدارات من بروتوكول TLS: 1.0 و1.1 و1.2. تعتبر TLS 1.0 و1.1 قديمة. لمعرفة المزيد، راجع دعم أمان طبقة النقل (TLS) في دعم IoT Hub وTLS في خدمة توفير جهاز Azure IoT Hub (DPS).
تأكد من أن لديك طريقة لتحديث شهادة جذر TLS على أجهزتك: شهادات جذر TLS طويلة الأمد، ولكن قد لا تزال تنتهي صلاحيتها أو يتم إبطالها. إذا لم تكن هناك طريقة لتحديث الشهادة على الجهاز، فقد لا يتمكن الجهاز من الاتصال ب IoT Hub أو IoT Central أو أي خدمة سحابية أخرى في وقت لاحق. لمعرفة المزيد، راجع كيفية لف شهادات جهاز X.509.
اتبع منهجية تطوير البرامج الآمنة: يتطلب منك تطوير البرامج الآمنة مراعاة الأمان منذ بداية المشروع طوال الطريق من خلال التنفيذ والاختبار والنشر.
توفر دورة حياة تطوير الأمان من Microsoft نهجا خطوة بخطوة لإنشاء برامج آمنة.
اختيار البرامج مفتوحة المصدر بعناية: توفر البرامج مفتوحة المصدر فرصة لتطوير الحلول بسرعة. عندما تقوم باختيار برنامج مفتوح المصدر، فضع في اعتبارك مستوى نشاط المجتمع لكل مكون مفتوح المصدر. يضمن المجتمع النشط دعم البرنامج واكتشاف المشكلات وإصلاحها. قد لا يتم دعم مشروع برنامج مفتوح المصدر غامض وغير نشط ولا يمكن اكتشاف المشكلات على الأرجح.
التكامل بعناية: توجد العديد من عيوب أمان البرامج على حدود المكتبات وواجهات برمجة التطبيقات. قد لا تزال الوظائف التي قد لا تكون مطلوبة للتوزيع الحالي متوفرة من خلال طبقة واجهة برمجة التطبيقات. لضمان الأمان الشامل، تأكد من فحص كافة واجهات المكونات التي يتم دمجها بحثا عن عيوب أمنية.
حماية بيانات اعتماد السحابة: يمكن للمهاجم استخدام بيانات اعتماد المصادقة السحابية التي تستخدمها لتكوين وتشغيل نشر IoT للوصول إلى نظام IoT الخاص بك واختراقه. حماية بيانات الاعتماد عن طريق تغيير كلمة المرور بشكل متكرر، ولا تستخدم بيانات الاعتماد هذه على الأجهزة العامة.
تحديد عناصر التحكم في الوصول لمركز IoT الخاص بك: فهم وتحديد نوع الوصول الذي يحتاجه كل مكون في حل IoT Hub استنادا إلى الوظيفة المطلوبة. هناك طريقتان يمكنك من خلالهما منح أذونات لواجهات برمجة تطبيقات الخدمة للاتصال بمركز IoT: معرف Microsoft Entra أو توقيعات الوصول المشترك. إذا كان ذلك ممكنا، فاستخدم معرف Microsoft Entra في بيئات الإنتاج لأنه يوفر أمانا أكبر.
تحديد عناصر التحكم في الوصول لتطبيق IoT Central: فهم وتحديد نوع الوصول الذي تقوم بتمكينه لتطبيق IoT Central الخاص بك. لمعرفة المزيد، راجع:
تحديد عناصر التحكم في الوصول لخدمات الواجهة الخلفية: يمكن لخدمات Azure الأخرى استهلاك البيانات التي يتناولها مركز IoT أو تطبيق IoT Central من أجهزتك. يمكنك توجيه الرسائل من أجهزتك إلى خدمات Azure الأخرى. فهم وتكوين أذونات الوصول المناسبة ل IoT Hub أو IoT Central للاتصال بهذه الخدمات. لمعرفة المزيد، راجع:
إعداد التشخيصات: راقب عملياتك عن طريق تسجيل الأحداث في الحل الخاص بك، ثم إرسال سجلات التشخيص إلى Azure Monitor. لمعرفة المزيد، راجع مراقبة المشاكل وتشخيصها في مركز IoT.