الإطار الأمني: أمان الاتصالات | التخفيفات

المنتج /الخدمة مقال
مركز الحدث Azure
Dynamics CRM
Azure Data Factory
Identity Server
تطبيق ويب
قاعدة بيانات
تخزين Azure
عميل الجوال
WCF
واجهة برمجة تطبيقات الويب
ذاكرة التخزين المؤقت Azure ل Redis
بوابة حقل IoT
بوابة سحابة IoT

الاتصال الآمن بمركز الأحداث باستخدام SSL/TLS

‏‫العنوان التفاصيل
المكون Azure Event Hub
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات غير متاح
المراجع نظرة عامة على نموذج الأمان ومصادقة مراكز الأحداث
الخطوات تأمين اتصالات AMQP أو HTTP إلى Event Hub باستخدام SSL / TLS

تحقق من امتيازات حساب الخدمة وتحقق من أن الخدمات المخصصة أو صفحات ASP.NET تحترم أمان CRM

‏‫العنوان التفاصيل
المكون Dynamics CRM
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات غير متاح
المراجع غير متاح
الخطوات تحقق من امتيازات حساب الخدمة وتحقق من أن الخدمات المخصصة أو صفحات ASP.NET تحترم أمان CRM

استخدام بوابة إدارة البيانات في أثناء توصيل SQL Server المحلية بـ Azure Data Factory

‏‫العنوان التفاصيل
المكون Azure Data Factory
مرحلة SDL التوزيع
التقنيات المعمول بها العام
السمات أنواع الخدمات المرتبطة - Azure والمحلي
المراجع نقل البيانات بين المحلي وAzure Data Factory
الخطوات

أداة بوابة إدارة البيانات (DMG) مطلوبة للاتصال بمصادر البيانات المحمية خلف شبكة corpnet أو جدار الحماية.

  1. يؤدي قفل الجهاز إلى عزل أداة DMG ومنع البرامج المعطلة من إتلاف جهاز مصدر البيانات أو التطفل عليه. (على سبيل المثال، يجب تثبيت آخر التحديثات، وتمكين الحد الأدنى من المنافذ المطلوبة، وتوفير الحسابات الخاضعة للرقابة، وتمكين التدقيق، وتمكين تشفير القرص وما إلى ذلك)
  2. يجب تدوير مفتاح Data Gateway على فترات متكررة أو كلما تم تجديد كلمة مرور حساب خدمة DMG
  3. يجب تشفير عمليات نقل البيانات من خلال Link Service

تأكد من أن نسبة استخدام الشبكة بأكملها إلى تمثل Identity Server عبر اتصال HTTPS

‏‫العنوان التفاصيل
المكون خادم الهوية
مرحلة SDL التوزيع
التقنيات المعمول بها العام
السمات غير متاح
المراجع IdentityServer3 - المفاتيح والتوقيعات والتشفير، IdentityServer3 - النشر
الخطوات بشكل افتراضي، يتطلب IdentityServer أن تأتي جميع الاتصالات الواردة عبر HTTPS. من الضروري تمامًا أن يتم الاتصال باستخدام IdentityServer عبر وسائل النقل الآمنة فحسب. هناك بعض سيناريوهات التوزيع مثل إلغاء تحميل TLS حتى يمكن تخفيف هذا المطلب. راجع صفحة نشر Identity Server في المراجع لمزيد من المعلومات.

تحقق من شهادات X.509 المستخدمة لمصادقة اتصالات SSL وTLS وDTLS

‏‫العنوان التفاصيل
المكون تطبيق ويب
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات غير متاح
المراجع غير متاح
الخطوات

يجب أن تتحقق التطبيقات التي تستخدم SSL أو TLS أو DTLS بشكل كامل من شهادات X.509 للكيانات التي تتصل بها. يتضمن ذلك التحقق من الشهادات من أجل:

  • اسم المجال
  • تواريخ الصلاحية (تواريخ البدء وانتهاء الصلاحية)
  • حالة الإبطال
  • الاستخدام (على سبيل المثال، مصادقة الخادم للخوادم، مصادقة العميل للعملاء)
  • سلسلة الثقة. يجب أن تتسلسل الشهادات إلى مرجع مصدق جذر (CA) موثوق به من قِبل النظام الأساس أو تم تكوينه بشكل صريح بواسطة المسؤول
  • يجب أن يكون طول المفتاح الرئيس للمفتاح العام للشهادة > 2048 بت
  • يجب أن تكون خوارزمية التجزئة SHA256 وما فوق

تكوين شهادة TLS/SSL للمجال المخصص في Azure App Service

‏‫العنوان التفاصيل
المكون تطبيق ويب
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات EnvironmentType - Azure
المراجع تمكين HTTPS لتطبيق في Azure App Service
الخطوات بشكل افتراضي، يقوم Azure بالفعل بتمكين HTTPS لكل تطبيق مع شهادة حرف بدل لمجال *.azurewebsites.net. مع ذلك، مثل جميع مجالات أحرف البدل، فإنه ليس آمنًا مثل استخدام مجال مخصص مع الشهادة الخاصة الرجوع. يوصى بتمكين TLS للمجال المخصص الذي سيتم الوصول إلى التطبيق المنشور من خلاله

فرض جميع نسبة استخدام الشبكة إلى Azure App Service عبر اتصال HTTPS

‏‫العنوان التفاصيل
المكون تطبيق ويب
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات EnvironmentType - Azure
المراجع فرض HTTPS على Azure App Service
الخطوات

على الرغم من أن Azure يقوم بالفعل بتمكين HTTPS لخدمات تطبيقات Azure مع شهادة حرف بدل للمجال *.azurewebsites.net، فإنه لا يفرض HTTPS. لا يزال بإمكان الزائرين الوصول إلى التطبيق باستخدام HTTP، ما قد يعرض أمان التطبيق للخطر، ومن ثم يجب فرض HTTPS بشكل صريح. يجب أن تستخدم تطبيقات ASP.NET MVC عامل التصفية RequireHttps الذي يفرض إعادة إرسال طلب HTTP غير آمن عبر HTTPS.

بدلاً من ذلك، يمكن استخدام وحدة إعادة كتابة عنوان URL المضمنة مع Azure App Service لفرض HTTPS. تمكن وحدة إعادة كتابة URL المطورين من تحديد القواعد التي يتم تطبيقها على الطلبات الواردة قبل تسليم الطلبات إلى التطبيق الخاص بك. يتم تعريف قواعد إعادة كتابة URL في ملف web.config مخزن في جذر التطبيق

مثال

يحتوي المثال التالي على قاعدة إعادة كتابة URL الرئيسة التي تفرض على نسبة استخدام الشبكة بأكملها الواردة استخدام HTTPS

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Force HTTPS" enabled="true">
          <match url="(.*)" ignoreCase="false" />
          <conditions>
            <add input="{HTTPS}" pattern="off" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

تعمل هذه القاعدة من خلال عرض رمز حالة HTTP لـ 301 (إعادة توجيه دائمة) عندما يطلب المستخدم صفحة باستخدام HTTP. يعيد 301 توجيه الطلب إلى نفس عنوان URL الذي طلبه الزائر، ولكنه يستبدل جزء HTTP من الطلب بـ HTTPS. على سبيل المثال، HTTP://contoso.com ستتم إعادة توجيهك إلى HTTPS://contoso.com.

تمكين أمان النقل الصارم (HSTS)

‏‫العنوان التفاصيل
المكون تطبيق ويب
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات غير متاح
المراجع ورقة المعلومات المرجعية الأمنية الصارمة لأمان النقل لـ OWASP HTTP
الخطوات

HTTP Strict Transport Security (HSTS) هو تحسين أمان اختياري يتم تحديده بواسطة تطبيق ويب من خلال استخدام عنوان استجابة خاص. بمجرد أن يتلقى المستعرض المدعوم هذا العنوان، سيمنع المستعرض إرسال أي اتصالات عبر HTTP إلى المجال المحدد، وسيرسل بدلاً من ذلك جميع الاتصالات عبر HTTPS. كما أنه يمنع نقر HTTPS عبر المطالبات على المتصفحات.

لتنفيذ HSTS، يجب تكوين عنوان الاستجابة التالي لموقع ويب عالميًا، إما في التعليمات البرمجية أو في التكوين. أمن النقل الصارم: الحد الأقصى للعمر = 300 ؛ includeSubDomains HSTS يعالج التهديدات التالية:

  • الإشارات المرجعية للمستخدم أو أنواعها https://example.com يدويًا وتخضع لمهاجم في الوسط: يقوم HSTS تلقائيًا بإعادة توجيه طلبات HTTP إلى HTTPS للمجال الهدف
  • تطبيق الويب الذي يُقصد به أن يكون HTTPS بحتًا عن غير قصد يحتوي على روابط HTTP أو يقدم محتوى عبر HTTP: يقوم HSTS تلقائيًا بإعادة توجيه طلبات HTTP إلى HTTPS للمجال الهدف
  • يحاول مهاجم الرجل في الوسط اعتراض نسبة استخدام الشبكة من مستخدم ضحية باستخدام شهادة غير صالحة وتأمل أن يقبل المستخدم الشهادة السيئة: لا يسمح HSTS للمستخدم بتجاوز رسالة الشهادة غير الصالحة

تأكد من تشفير اتصال خادم SQL والتحقق من صحة الشهادة

‏‫العنوان التفاصيل
المكون قاعدة بيانات
مرحلة SDL بناء
التقنيات المعمول بها SQL Azure
السمات إصدار SQL - الإصدار 12
المراجع أفضل الممارسات حول كتابة سلاسل الاتصال الآمنة لقاعدة بيانات SQL
الخطوات

يتم تشفير جميع الاتصالات بين قاعدة بيانات SQL وتطبيق العميل باستخدام بروتوكول أمان طبقة النقل (TLS)، المعروف سابقًا باسم طبقة مآخذ التوصيل الآمنة (SSL)، في جميع الأوقات. لا تدعم قاعدة بيانات SQL الاتصالات غير المشفرة. للتحقق من صحة الشهادات باستخدام رمز التطبيق أو الأدوات، اطلب صراحةً اتصالاً مشفرًا ولا تثق في شهادات الخادم. إذا لم تطلب التعليمات البرمجية للتطبيق أو الأدوات اتصالاً مشفرًا، فستظل تتلقى اتصالات مشفرة

مع ذلك، قد لا يتحققون من صحة شهادات الخادم ومن ثم سيكون عرضة لهجمات "الرجل في الوسط". للتحقق من صحة الشهادات باستخدام التعليمات البرمجية للتطبيق ADO.NET، قم بتعيين Encrypt=True وTrustServerCertificate=False في سلسلة اتصال قاعدة البيانات. للتحقق من صحة الشهادات عبر SQL Server Management Studio، افتح مربع الحوار الاتصال بالخادم. انقر فوق تشفير الاتصال على علامة التبويب خصائص الاتصال

فرض الاتصال المشفر على خادم SQL

‏‫العنوان التفاصيل
المكون قاعدة بيانات
مرحلة SDL بناء
التقنيات المعمول بها OnPrem
السمات إصدار SQL - MsSQL2016، إصدار SQL - MsSQL2012، إصدار SQL - MsSQL2014
المراجع تمكين الاتصالات المشفرة إلى محرك قاعدة البيانات
الخطوات يؤدي تمكين تشفير TLS إلى زيادة أمان البيانات المنقولة عبر الشبكات بين مثيلات SQL Server والتطبيقات.

تأكد من أن الاتصال بـ Azure Storage عبر HTTPS

‏‫العنوان التفاصيل
المكون تخزين Azure
مرحلة SDL التوزيع
التقنيات المعمول بها العام
السمات غير متاح
المراجع تشفير Transport-Level تخزين Azure - باستخدام HTTPS
الخطوات لضمان أمان بيانات Azure Storage في أثناء نقلها، استخدم دائمًا بروتوكول HTTPS عند استدعاء واجهات برمجة تطبيقات REST أو الوصول إلى الكائنات الموجودة في التخزين. أيضًا، تتضمن توقيعات الوصول المشترك، التي يمكن استخدامها لتفويض الوصول إلى كائنات Azure Storage، خيارًا لتحديد أنه يمكن استخدام بروتوكول HTTPS فحسب عند استخدام توقيعات الوصول المشترك، مما يضمن أن أي شخص يرسل ارتباطات مع رموز SAS المميزة سيستخدم البروتوكول المناسب.

التحقق من صحة تجزئة MD5 بعد تنزيل كائن ثنائي كبير الحجم إذا تعذر تمكين HTTPS

‏‫العنوان التفاصيل
المكون تخزين Azure
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات StorageType - Blob
المراجع نظرة عامة على Windows Azure Blob MD5
الخطوات

توفر خدمة Windows Azure Blob آليات لضمان تكامل البيانات في كل من طبقات التطبيق والنقل. إذا كنت بحاجة لأي سبب من الأسباب إلى استخدام HTTP بدلاً من HTTPS وكنت تعمل مع الكائنات الثنائية كبيرة الحجم للكتلة، يمكنك استخدام التحقق من MD5 للمساعدة في التحقق من تكامل الكائنات الثنائية كبيرة الحجم التي يتم نقلها

سيساعد هذا في الحماية من أخطاء طبقة الشبكة/النقل، لكن ليس بالضرورة مع الهجمات الوسيطة. إذا كان يمكنك استخدام HTTPS، الذي يوفر أمانًا على مستوى النقل، فإن استخدام التحقق من MD5 متكرر وغير ضروري.

استخدام عميل متوافق مع SMB 3 لضمان تشفير البيانات أثناء النقل إلى مشاركات ملفات Azure

‏‫العنوان التفاصيل
المكون عميل الجوال
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات StorageType - ملف
المراجع Azure Files، دعم Azure Files SMB لعملاء Windows
الخطوات تدعم ملفات Azure HTTPS عند استخدام واجهة برمجة تطبيقات REST، ولكنها تستخدم بشكل أكثر شيوعًا كمشاركة ملف SMB مرفقة بجهاز ظاهري. لا يدعم SMB 2.1 التشفير، لذلك لا يُسمح بالاتصالات إلا داخل نفس المنطقة في Azure. ومع ذلك، يدعم SMB 3.x التشفير، ويمكن استخدامه مع Windows Server 2012 R2، Windows 8، Windows 8.1، Windows 10، ما يسمح بالوصول عبر المناطق وحتى الوصول على سطح المكتب.

تنفيذ تثبيت الشهادة

‏‫العنوان التفاصيل
المكون تخزين Azure
مرحلة SDL بناء
التقنيات المعمول بها عام، Windows Phone
السمات غير متاح
المراجع تثبيت الشهادة والمفتاح العام
الخطوات

تدافع شهادة التثبيت ضد هجمات Man-In-The-Middle (MITM). التثبيت هو عملية إقران مضيف بشهادة X509 المتوقعة أو المفتاح العام. بمجرد معرفة شهادة أو مفتاح عام أو رؤيته لمضيف، يتم إقران الشهادة أو المفتاح العام أو "تثبيته" بالمضيف.

ومن ثم، عندما يحاول الخصم القيام بهجوم TLS MITM، في أثناء تأكيد اتصال TLS سيكون المفتاح من خادم المهاجم مختلفًا عن مفتاح الشهادة المثبتة، وسيتم تجاهل الطلب، ومن ثم يمكن منع تثبيت شهادة MITM عن طريق تنفيذ مفوض ServicePointManager ServerCertificateValidationCallback.

مثال

using System;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;

namespace CertificatePinningExample
{
    class CertificatePinningExample
    {
        /* Note: In this example, we're hardcoding the certificate's public key and algorithm for 
           demonstration purposes. In a real-world application, this should be stored in a secure
           configuration area that can be updated as needed. */

        private static readonly string PINNED_ALGORITHM = "RSA";

        private static readonly string PINNED_PUBLIC_KEY = "3082010A0282010100B0E75B7CBE56D31658EF79B3A1" +
            "294D506A88DFCDD603F6EF15E7F5BCBDF32291EC50B2B82BA158E905FE6A83EE044A48258B07FAC3D6356AF09B2" +
            "3EDAB15D00507B70DB08DB9A20C7D1201417B3071A346D663A241061C151B6EC5B5B4ECCCDCDBEA24F051962809" +
            "FEC499BF2D093C06E3BDA7D0BB83CDC1C2C6660B8ECB2EA30A685ADE2DC83C88314010FFC7F4F0F895EDDBE5C02" +
            "ABF78E50B708E0A0EB984A9AA536BCE61A0C31DB95425C6FEE5A564B158EE7C4F0693C439AE010EF83CA8155750" +
            "09B17537C29F86071E5DD8CA50EBD8A409494F479B07574D83EDCE6F68A8F7D40447471D05BC3F5EAD7862FA748" +
            "EA3C92A60A128344B1CEF7A0B0D94E50203010001";


        public static void Main(string[] args)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://azure.microsoft.com");
            request.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) =>
            {
                if (certificate == null || sslPolicyErrors != SslPolicyErrors.None)
                {
                    // Error getting certificate or the certificate failed basic validation
                    return false;
                }

                var targetKeyAlgorithm = new Oid(certificate.GetKeyAlgorithm()).FriendlyName;
                var targetPublicKey = certificate.GetPublicKeyString();
                
                if (targetKeyAlgorithm == PINNED_ALGORITHM &&
                    targetPublicKey == PINNED_PUBLIC_KEY)
                {
                    // Success, the certificate matches the pinned value.
                    return true;
                }
                // Reject, either the key or the algorithm does not match the expected value.
                return false;
            };

            try
            {
                var response = (HttpWebResponse)request.GetResponse();
                Console.WriteLine($"Success, HTTP status code: {response.StatusCode}");
            }
            catch(Exception ex)
            {
                Console.WriteLine($"Failure, {ex.Message}");
            }
            Console.WriteLine("Press any key to end.");
            Console.ReadKey();
        }
    }
}

تمكين HTTPS - قناة النقل الآمن

‏‫العنوان التفاصيل
المكون WCF
مرحلة SDL بناء
التقنيات المعمول بها NET Framework 3
السمات غير متاح
المراجع MSDN، Fortify Kingdom
الخطوات يجب أن يضمن تكوين التطبيق استخدام HTTPS لجميع عمليات الوصول إلى المعلومات الحساسة.
  • تفسير: إذا كان التطبيق يعالج المعلومات الحساسة ولا يستخدم التشفير على مستوى الرسالة، فيجب السماح له بالاتصال عبر قناة نقل مشفرة فحسب.
  • التوصيات: تأكد من تعطيل نقل HTTP وتمكين نقل HTTPS بدلاً من ذلك. على سبيل المثال، استبدل <httpTransport/> بعلامة <httpsTransport/>. لا تعتمد على تكوين شبكة (جدار حماية) لضمان إمكانية الوصول إلى التطبيق عبر قناة آمنة فحسب. من وجهة نظر فلسفية، يجب ألّا يعتمد التطبيق على الشبكة لأمنها.

من وجهة نظر عملية، لا يتعقب الأشخاص المسؤولون عن تأمين الشبكة دائمًا المتطلبات الأمنية للتطبيق في أثناء تطورها.

WCF: تعيين مستوى حماية أمان الرسائل إلى EncryptAndSign

‏‫العنوان التفاصيل
المكون WCF
مرحلة SDL بناء
التقنيات المعمول بها .NET Framework 3
السمات غير متاح
المراجع Msdn
الخطوات
  • تفسير: عند تعيين مستوى الحماية إلى "لا شيء"، سيعطل حماية الرسائل. يتم تحقيق السرية والنزاهة مع مستوى مناسب من الإعداد.
  • التوصيات:
    • عند Mode=None - تعطيل حماية الرسائل
    • عند Mode=Sign - يقوم بتسجيل ولكنه لا يقوم بتشفير الرسالة؛ يجب استخدامه عندما يكون تكامل البيانات مهمًا
    • عند Mode=EncryptAndSign - يقوم بتسجيل الرسالة وتشفيرها

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

مثال

يتم عرض تكوين الخدمة والعملية لتوقيع الرسالة في الأمثلة التالية فحسب. مثال على عقد الخدمة لـ ProtectionLevel.Sign: فيما يلي مثال على استخدام ProtectionLevel.Sign على مستوى عقد الخدمة:

[ServiceContract(Protection Level=ProtectionLevel.Sign] 
public interface IService 
  { 
  string GetData(int value); 
  } 

مثال

مثال على عقد العملية لـ ProtectionLevel.Sign (لعنصر التحكم متعدد المستويات): فيما يلي مثال على استخدام ProtectionLevel.Sign على مستوى OperationContract:

[OperationContract(ProtectionLevel=ProtectionLevel.Sign] 
string GetData(int value);

WCF: استخدم حسابًا أقل امتيازًا لتشغيل خدمة WCF

‏‫العنوان التفاصيل
المكون WCF
مرحلة SDL بناء
التقنيات المعمول بها .NET Framework 3
السمات غير متاح
المراجع Msdn
الخطوات
  • تفسير: لا تقم بتشغيل خدمات WCF ضمن حساب المسؤول أو الامتيازات العالية. في حالة تعرض الخدمات للخطر، سيؤدي ذلك إلى تأثير كبير.
  • التوصيات: استخدم حسابًا أقل امتيازًا لاستضافة خدمة WCF لأنه سيقلل من سطح هجوم تطبيقك ويقلل من الضرر المحتمل إذا تعرضت للهجوم. إذا كان حساب الخدمة يتطلب حقوق وصول إضافية إلى موارد البنية التحتية مثل MSMQ وسجل الأحداث وعدادات الأداء ونظام الملفات، فإنه يجب منح الأذونات المناسبة لهذه الموارد حتى يمكن تشغيل خدمة WCF بنجاح.

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

فرض نسبة استخدام الشبكة بأكملها إلى واجهات برمجة تطبيقات الويب عبر اتصال HTTPS

‏‫العنوان التفاصيل
المكون واجهة API للويب
مرحلة SDL بناء
التقنيات المعمول بها MVC5، MVC6
السمات غير متاح
المراجع فرض SSL في وحدة تحكم واجهة برمجة تطبيقات الويب
الخطوات إذا كان التطبيق يحتوي على كل من HTTPS وربط HTTP، فلا يزال بإمكان العملاء استخدام HTTP للوصول إلى الموقع. لمنع ذلك، استخدم عامل تصفية الإجراء للتأكد من أن طلبات واجهات برمجة التطبيقات المحمية دائما عبر HTTPS.

مثال

تظهر التعليمات البرمجية التالية عامل تصفية مصادقة واجهة برمجة تطبيقات الويب الذي يتحقق من TLS:

public class RequireHttpsAttribute : AuthorizationFilterAttribute
{
    public override void OnAuthorization(HttpActionContext actionContext)
    {
        if (actionContext.Request.RequestUri.Scheme != Uri.UriSchemeHttps)
        {
            actionContext.Response = new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden)
            {
                ReasonPhrase = "HTTPS Required"
            };
        }
        else
        {
            base.OnAuthorization(actionContext);
        }
    }
}

أضف عامل التصفية هذا إلى أي إجراءات واجهة برمجة تطبيقات ويب تتطلب TLS:

public class ValuesController : ApiController
{
    [RequireHttps]
    public HttpResponseMessage Get() { ... }
}

تأكد من أن الاتصال بـ Azure Cache for Redis عبر TLS

‏‫العنوان التفاصيل
المكون ذاكرة التخزين المؤقت في Azure لـ Redis
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات غير متاح
المراجع دعم Azure Redis TLS
الخطوات لا يدعم خادم Redis TLS خارج الصندوق، لكن Azure Cache لـ Redis يدعم ذلك. إذا كنت تتصل بـ Azure Cache for Redis وكان عميلك يدعم TLS، مثل StackExchange.Redis، فاستخدم TLS. افتراضيًا، يتم تعطيل منفذ غير TLS لذاكرة التخزين المؤقت Azure الجديدة لمثيلات Redis. تأكد من عدم تغيير الإعدادات الافتراضية الآمنة ما لم يكن ثمة تبعية على دعم TLS لعملاء redis.

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

تأمين اتصال الجهاز ببوابة المجال

‏‫العنوان التفاصيل
المكون بوابة حقل IoT
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات غير متاح
المراجع غير متاح
الخطوات بالنسبة إلى الأجهزة القائمة على IP، يمكن عادةً تغليف بروتوكول الاتصال في قناة SSL / TLS لحماية البيانات في أثناء النقل. بالنسبة إلى البروتوكولات الأخرى التي لا تدعم SSL/TLS تحقق مما إذا كانت هناك إصدارات آمنة من البروتوكول توفر الأمان في طبقة النقل أو الرسالة.

تأمين اتصال الجهاز بالبوابة السحابية باستخدام SSL / TLS

‏‫العنوان التفاصيل
المكون بوابة سحابة IoT
مرحلة SDL بناء
التقنيات المعمول بها العام
السمات غير متاح
المراجع اختر بروتوكول الاتصال
الخطوات بروتوكولات HTTP/AMQP أو MQTT الآمنة باستخدام SSL/TLS.