Güvenlik Çerçevesi: İletişim Güvenliği | Azaltıcı etken

Ürün/Hizmet Makale
Azure Olay Hub'ı
Dynamics CRM
Azure Data Factory
Kimlik Sunucusu
Web uygulaması
Veritabanı
Azure Depolama
Mobil İstemci
WCF
Web API'si
Azure Yönetimli Redis
  • Azure Managed Redis ile iletişimin TLS
IoT Alan Ağ Geçidi
IoT Cloud Gateway

SSL/TLS kullanarak Olay Hub'ına güvenli iletişim

Başlık Ayrıntılar
Bileşen Azure Olay Hub'ı
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Event Hubs kimlik doğrulama ve güvenlik modeli genel bakış
Adımları SSL/TLS kullanarak Olay Hub'ına AMQP veya HTTP bağlantılarının güvenliğini sağlama

Hizmet hesabı ayrıcalıklarını denetleyin ve özel Hizmetlerin veya ASP.NET Sayfalarının CRM'nin güvenliğine uygun olup olmadığını denetleyin

Başlık Ayrıntılar
Bileşen Dynamics CRM
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımları Hizmet hesabı ayrıcalıklarını denetleyin ve özel Hizmetlerin veya ASP.NET Sayfalarının CRM'nin güvenliğine uygun olup olmadığını denetleyin

Şirket içi SQL Server'ı Azure Data Factory'ye bağlarken Veri yönetimi ağ geçidini kullanma

Başlık Ayrıntılar
Bileşen Azure Data Factory
SDL Aşaması Dağıtım
Geçerli Teknolojiler Genel
Öznitelikler Bağlı Hizmet Türleri - Azure ve Şirket İçi
Referanslar Şirket içi ile Azure Data Factory arasında veri taşıma
Adımları

Corpnet veya güvenlik duvarı arkasında korunan veri kaynaklarına bağlanmak için Veri Yönetimi Ağ Geçidi (DMG) aracı gereklidir.

  1. Makinenin kilitlenmesi DMG aracını yalıtır ve hatalı çalışan programların veri kaynağı makinesine zarar vermesini veya bu makineye burnunu sokmasını önler. (Örneğin, en son güncelleştirmeler yüklenmelidir, gerekli en düşük bağlantı noktalarını etkinleştirmeli, denetimli hesapları sağlama, denetim etkin, disk şifrelemesi etkinleştirilmelidir vb.)
  2. Data Gateway anahtarı sık aralıklarla veya DMG hizmet hesabı parolası her yenilendiği zaman döndürülmelidir
  3. Bağlantı Hizmeti üzerinden veri aktarımları şifrelenmelidir

Kimlik Sunucusuna gelen tüm trafiğin HTTPS bağlantısı üzerinden olduğundan emin olun

Başlık Ayrıntılar
Bileşen Kimlik Sunucusu
SDL Aşaması Dağıtım
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımları Varsayılan olarak, IdentityServer tüm gelen bağlantıların HTTPS üzerinden gelmesini gerektirir. IdentityServer ile iletişimin yalnızca güvenli aktarımlar üzerinden yapılması kesinlikle zorunludur. Bu gereksinimin gevşetilebileceği TLS boşaltma gibi bazı dağıtım senaryoları vardır. Daha fazla bilgi için referanslardaki Kimlik Sunucusu dağıtım sayfasına bakın.

SSL, TLS ve DTLS bağlantılarının kimliğini doğrulamak için kullanılan X.509 sertifikalarını doğrulama

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımları

SSL, TLS veya DTLS kullanan uygulamaların bağlandıkları varlıkların X.509 sertifikalarını tam olarak doğrulaması gerekir. Bu, aşağıdakiler için sertifikaların doğrulanmasını içerir:

  • Alan adı
  • Geçerlilik tarihleri (hem başlangıç hem de son kullanma tarihleri)
  • İptal durumu
  • Kullanım (örneğin, sunucular için Sunucu Kimlik Doğrulaması, istemciler için İstemci Kimlik Doğrulaması)
  • Güven zinciri. Sertifikalar, platform tarafından güvenilen veya yönetici tarafından açıkça yapılandırılan bir kök sertifika yetkilisine (CA) zincirlenmelidir
  • Sertifikanın ortak anahtarının anahtar uzunluğu 2048 bit olmalıdır >
  • Karma algoritması SHA256 ve üzeri olmalıdır

Azure App Service'te özel etki alanı için TLS/SSL sertifikası yapılandırma

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler OrtamTürü - Azure
Referanslar Azure App Service'te bir uygulama için HTTPS'yi etkinleştirme
Adımları Varsayılan olarak Azure, *.azurewebsites.net etki alanı için joker sertifikaya sahip her uygulama için HTTPS'yi zaten etkinleştirir. Ancak, tüm joker etki alanları gibi, kendi sertifikası olan özel bir etki alanı kullanmak kadar güvenli değildir Refer. Dağıtılan uygulamaya erişilecek özel etki alanı için TLS'nin etkinleştirilmesi önerilir

HTTPS bağlantısı üzerinden bütün trafiği Azure App Service'e yönlendirme

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler OrtamTürü - Azure
Referanslar Azure App Service'te HTTPS'ye zorlama
Adımları

Azure, *.azurewebsites.net etki alanı için joker karakter sertifikasıyla Azure uygulama hizmetleri için HTTPS'yi zaten etkinleştirse de HTTPS'yi zorunlu kılmaz. Ziyaretçiler uygulamaya HTTP kullanarak erişmeye devam edebilir ve bu da uygulamanın güvenliğini tehlikeye atabilir ve bu nedenle HTTPS'nin açıkça uygulanması gerekir. ASP.NET MVC uygulamaları, güvenli olmayan bir HTTP isteğinin HTTPS üzerinden yeniden gönderilmesini zorlayan RequireHttps filtresini kullanmalıdır.

Alternatif olarak, Azure App Service'e dahil edilen URL Yeniden Yazma modülü HTTPS'yi zorunlu kılmak için kullanılabilir. URL Yeniden Yazma modülü, geliştiricilerin gelen isteklere uygulanan kuralları uygulamanıza teslim etmeden önce tanımlamasını sağlar. URL Yeniden Yazma kuralları, uygulamanın kökünde depolanan bir web.config dosyasında tanımlanır

Örnek

Aşağıdaki örnek, tüm gelen trafiği HTTPS kullanmaya zorlayan temel bir URL Yeniden Yazma kuralı içerir

<?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>

Bu kural, kullanıcı HTTP kullanarak bir sayfa istediğinde 301 (kalıcı yeniden yönlendirme) HTTP durum kodu döndürerek çalışır. 301, isteği ziyaretçinin istediği URL'ye yönlendirir, ancak isteğin HTTP bölümünü HTTPS ile değiştirir. Örneğin, HTTP://contoso.com öğesi HTTPS://contoso.com öğesine yeniden yönlendirilir.

HTTP Katı Aktarım Güvenliğini (HSTS) Etkinleştirme

Başlık Ayrıntılar
Bileşen Web Uygulaması
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar OWASP HTTP Strict Transport Security Özet Rehber
Adımları

HTTP Strict Transport Security (HSTS), bir web uygulaması tarafından özel bir yanıt üst bilgisi kullanılarak belirtilen isteğe bağlı bir güvenlik geliştirmesidir. Desteklenen bir tarayıcı bu üst bilgiyi aldığında, tarayıcı belirtilen etki alanına HTTP üzerinden herhangi bir iletişim gönderilmesini engeller ve bunun yerine tüm iletişimleri HTTPS üzerinden gönderir. Tarayıcılarda, HTTPS ile ilgili uyarı pencerelerinin görüntülenmesini de engeller.

HSTS'yi uygulamak için aşağıdaki yanıt üst bilgisinin bir web sitesi için kodda veya yapılandırmada genel olarak yapılandırılması gerekir. Strict-Transport-Security: max-age=300; includeSubDomains HSTS aşağıdaki tehditleri giderir:

  • Kullanıcı yer imlerini veya adresi elle yazar ve ortadaki adam saldırısına maruz kalabilir: HSTS, hedef etki alanı için HTTP isteklerini otomatik olarak HTTPS'ye yönlendirir.
  • Tamamen HTTPS olması amaçlanan web uygulaması yanlışlıkla HTTP bağlantıları içerir veya HTTP üzerinden içerik sunar: HSTS, hedef etki alanı için HTTP isteklerini otomatik olarak HTTPS'ye yönlendirir
  • Ortadaki adam saldırgan, geçersiz bir sertifika kullanarak bir kurban kullanıcısından gelen trafiği kesmeye çalışır ve kullanıcının hatalı sertifikayı kabul edeceğinden umut eder: HSTS, kullanıcının geçersiz sertifika iletisini geçersiz kılmasına izin vermez

SQL Server bağlantı şifrelemesini ve sertifika doğrulamasını sağlama

Başlık Ayrıntılar
Bileşen Veritabanı
SDL Aşaması İnşa et
Geçerli Teknolojiler SQL Azure
Öznitelikler SQL Sürümü - V12
Referanslar SQL Veritabanı için Güvenli Bağlantı Dizeleri Yazma konusunda En İyi Yöntemler
Adımları

SQL Veritabanı ile istemci uygulaması arasındaki tüm iletişimler, daha önce Güvenli Yuva Katmanı (SSL) olarak bilinen Aktarım Katmanı Güvenliği (TLS) kullanılarak her zaman şifrelenir. SQL Veritabanı şifrelenmemiş bağlantıları desteklemez. Sertifikaları uygulama kodu veya araçlarla doğrulamak için, açıkça şifreli bir bağlantı isteyin ve sunucu sertifikalarına güvenmeyin. Uygulama kodunuz veya araçlarınız şifreli bağlantı isteğinde bulunmazsa şifrelenmiş bağlantılar almaya devam eder

Ancak, sunucu sertifikalarını doğrulamayabilirler ve bu nedenle "ortadaki adam" saldırılarına maruz kalabilirler. Sertifikaları ADO.NET uygulama koduyla doğrulamak için veritabanı bağlantı dizesini ayarlayın Encrypt=True ve TrustServerCertificate=False yazın. SERTIFIKALARı SQL Server Management Studio aracılığıyla doğrulamak için Sunucuya Bağlan iletişim kutusunu açın. Bağlantı Özellikleri sekmesinde Bağlantıyı şifrele'ye tıklayın

SQL Server ile Şifreli iletişimi zorlamak

Başlık Ayrıntılar
Bileşen Veritabanı
SDL Aşaması İnşa et
Geçerli Teknolojiler OnPrem
Öznitelikler SQL Sürümü - MsSQL2016, SQL Sürümü - MsSQL2012, SQL Sürümü - MsSQL2014
Referanslar Veritabanı Altyapısına Şifreli Bağlantıları Etkinleştirme
Adımları TLS şifrelemesinin etkinleştirilmesi, SQL Server örnekleri ile uygulamalar arasında ağlar arasında iletilen verilerin güvenliğini artırır.

Azure Depolama ile iletişimin HTTPS üzerinden olduğundan emin olun

Başlık Ayrıntılar
Bileşen Azure Depolama
SDL Aşaması Dağıtım
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Azure Depolama Transport-Level Şifrelemesi – HTTPS Kullanma
Adımları Aktarımdaki Azure Depolama verilerinin güvenliğini sağlamak için REST API'leri çağırırken veya depolamadaki nesnelere erişirken her zaman HTTPS protokollerini kullanın. Ayrıca, Azure Depolama nesnelerine erişimi temsilci olarak atamak için kullanılabilen Paylaşılan Erişim İmzaları, Paylaşılan Erişim İmzaları kullanılırken yalnızca HTTPS protokollerinin kullanılabileceğini belirten bir seçenek içerir ve SAS belirteçleriyle bağlantı gönderen herkesin uygun protokolü kullanmasını sağlar.

HTTPS etkinleştirilemiyorsa blob indirildikten sonra MD5 karması doğrulama

Başlık Ayrıntılar
Bileşen Azure Depolama
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler Depolama Türü - Blob
Referanslar Windows Azure Blob MD5'e Genel Bakış
Adımları

Windows Azure Blob hizmeti, hem uygulama hem de aktarım katmanlarında veri bütünlüğünü sağlamaya yönelik mekanizmalar sağlar. Herhangi bir nedenle HTTPS yerine HTTP kullanmanız gerekiyorsa ve blok bloblarıyla çalışıyorsanız, aktarılmakta olan blobların bütünlüğünü doğrulamaya yardımcı olması için MD5 denetimini kullanabilirsiniz

Bu, ağ/aktarım katmanı hatalarına karşı koruma sağlamaya yardımcı olur, ancak aracı saldırılarla ilgili olması gerekmez. Aktarım düzeyi güvenliği sağlayan HTTPS'yi kullanabiliyorsanız MD5 denetimini kullanmak gereksizdir ve gereksizdir.

Azure dosya paylaşımlarına aktarım veri şifrelemesi sağlamak için SMB 3.x uyumlu istemcisini kullanma

Başlık Ayrıntılar
Bileşen Mobil İstemci
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler StorageType - Dosya
Referanslar Azure Dosyalar, Windows İstemcileri için Azure Dosyalar SMB Desteği
Adımları Azure Dosyalar REST API kullanırken HTTPS'yi destekler, ancak daha yaygın olarak vm'ye eklenmiş bir SMB dosya paylaşımı olarak kullanılır. SMB 2.1 şifrelemeyi desteklemez, bu nedenle yalnızca Azure'da aynı bölgede bağlantılara izin verilir. Ancak SMB 3.x şifrelemeyi destekler ve Windows Server 2012 R2, Windows 8, Windows 8.1 ve Windows 10 ile birlikte kullanılabilir ve bölgeler arası erişime ve hatta masaüstünde erişime izin verir.

Sertifika sabitleme uygulayın

Başlık Ayrıntılar
Bileşen Azure Depolama
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel, Windows Phone
Öznitelikler Mevcut Değil
Referanslar Sertifika ve Ortak Anahtar Sabitleme
Adımları

Sertifika sabitleme,The-Middle Kişi (MITM) saldırılarına karşı savunma sağlar. Sabitleme işlemi, bir barındırıcıyı beklenen X.509 sertifikası veya ortak anahtarıyla ilişkilendirme sürecidir. Bir konak için bir sertifika veya ortak anahtar bilindikten veya görüldükten sonra, sertifika veya ortak anahtar konakla ilişkilendirilir veya 'sabitlenir'.

Bu nedenle, bir saldırgan TLS MITM saldırısı gerçekleştirmeye çalıştığında, TLS el sıkışması sırasında saldırganın sunucusundan alınan anahtar sabitlenmiş sertifikanın anahtarından farklı olur ve istek atılır, böylece ServicePointManager'ın ServerCertificateValidationCallback temsilcisi uygulanarak MITM Sertifika sabitlemesi önlenebilir.

Örnek

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'yi etkinleştirme - Güvenli Aktarım kanalı

Başlık Ayrıntılar
Bileşen WCF
SDL Aşaması İnşa et
Geçerli Teknolojiler NET Çerçevesi 3
Öznitelikler Mevcut Değil
Referanslar MSDN, Krallığı Güçlendir
Adımları Uygulama yapılandırması, hassas bilgilere tüm erişim için HTTPS'nin kullanıldığından emin olmalıdır.
  • AÇIKLAMA: Bir uygulama hassas bilgileri işlerse ve ileti düzeyinde şifreleme kullanmıyorsa, yalnızca şifreli bir aktarım kanalı üzerinden iletişim kurmasına izin verilmelidir.
  • ÖNERİ: BUNUN yerine HTTP aktarımının devre dışı bırakıldığından emin olun ve HTTPS aktarımını etkinleştirin. Örneğin, <httpTransport/> etiketini <httpsTransport/> etiketiyle değiştirin. Uygulamaya yalnızca güvenli bir kanal üzerinden erişilebileceğini garanti etmek için bir ağ yapılandırmasına (güvenlik duvarı) güvenmeyin. Felsefi açıdan bakıldığında, uygulamanın güvenliği için ağa bağımlı olmaması gerekir.

Pratik bir bakış açısıyla ağın güvenliğini sağlamaktan sorumlu kişiler, geliştikçe uygulamanın güvenlik gereksinimlerini her zaman izlemez.

WCF: İleti güvenliği Koruma düzeyini EncryptAndSign olarak ayarlayın

Başlık Ayrıntılar
Bileşen WCF
SDL Aşaması İnşa et
Geçerli Teknolojiler .NET Framework 3
Öznitelikler Mevcut Değil
Referanslar MSDN
Adımları
  • AÇIKLAMA: Koruma düzeyi "yok" olarak ayarlandığında ileti korumasını devre dışı bırakır. Gizlilik ve bütünlük, uygun ayar düzeyiyle elde edilir.
  • ÖNERİ:
    • when Mode=None - İleti korumasını devre dışı bırakır
    • when Mode=Sign - İletiyi imzalar ancak şifrelemez; veri bütünlüğü önemli olduğunda kullanılmalıdır
    • when Mode=EncryptAndSign - İletiyi imzalar ve şifreler

Şifrelemeyi kapatmayı ve yalnızca gizlilik endişesi olmadan bilgilerin bütünlüğünü doğrulamanız gerektiğinde iletinizi imzalamayı göz önünde bulundurun. Bu, özgün göndereni doğrulamanız gereken ancak hassas veri aktarılmayan işlemler veya hizmet sözleşmeleri için yararlı olabilir. Koruma düzeyini azaltırken, iletinin herhangi bir kişisel veri içermemesine dikkat edin.

Örnek

Hizmeti ve işlemi yalnızca iletiyi imzalamak üzere yapılandırmak aşağıdaki örneklerde gösterilmiştir. Hizmet Sözleşmesi Örneği ProtectionLevel.Sign: Aşağıda, Hizmet Sözleşmesi düzeyinde ProtectionLevel.Sign kullanma örneği verilmiştir:

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

Örnek

İşlem Sözleşmesi Örneği ProtectionLevel.Sign (Ayrıntılı Denetim için): İşlemSözleşmesi düzeyinde kullanım ProtectionLevel.Sign örneği aşağıda verilmiştir:

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

WCF: WCF hizmetinizi çalıştırmak için en az ayrıcalıklı bir hesap kullanın

Başlık Ayrıntılar
Bileşen WCF
SDL Aşaması İnşa et
Geçerli Teknolojiler .NET Framework 3
Öznitelikler Mevcut Değil
Referanslar MSDN
Adımları
  • AÇIKLAMA: WCF hizmetlerini yönetici veya yüksek ayrıcalıklı hesap altında çalıştırmayın. hizmetlerin tehlikeye atılması durumunda yüksek etkilerle sonuçlanır.
  • ÖNERİ: WCF hizmetinizi barındırmak için en az ayrıcalıklı bir hesap kullanın çünkü bu, uygulamanızın saldırı yüzeyini azaltır ve saldırıya uğradığınızda olası hasarı azaltır. Hizmet hesabı MSMQ, olay günlüğü, performans sayaçları ve dosya sistemi gibi altyapı kaynaklarında ek erişim hakları gerektiriyorsa, WCF hizmetinin başarıyla çalışabilmesi için bu kaynaklara uygun izinler verilmelidir.

Hizmetinizin orijinal arayan adına belirli kaynaklara erişmesi gerekiyorsa, aşağı yönlü yetkilendirme denetimi için arayanın kimliğini iletebilmek üzere kimliğe bürünme ve yetki devretme özelliğini kullanın. Geliştirme senaryosunda, azaltılmış ayrıcalıklara sahip özel bir yerleşik hesap olan yerel ağ hizmet hesabını kullanın. Üretim senaryosunda en az ayrıcalıklı özel etki alanı hizmet hesabı oluşturun.

Tüm trafiği HTTPS bağlantısı üzerinden Web API'lerine yönlendirin.

Başlık Ayrıntılar
Bileşen Web API'si
SDL Aşaması İnşa et
Geçerli Teknolojiler MVC5, MVC6
Öznitelikler Mevcut Değil
Referanslar Web API Denetleyicisinde SSL'yi zorlama
Adımları Bir uygulamanın hem HTTPS hem de HTTP bağlaması varsa, istemciler siteye erişmek için HTTP kullanmaya devam edebilir. Bunu önlemek için, korumalı API'lere yönelik isteklerin her zaman HTTPS üzerinden olduğundan emin olmak için bir eylem filtresi kullanın.

Örnek

Aşağıdaki kod, TLS'yi denetleen bir Web API'si kimlik doğrulama filtresi gösterir:

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);
        }
    }
}

Bu filtreyi TLS gerektiren herhangi bir Web API'sine ekleyin:

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

Azure Yönetilen Redis ile iletişimin TLS üzerinden olduğundan emin olun

Başlık Ayrıntılar
Bileşen Azure Yönetilen Redis
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Azure Redis TLS desteği
Adımları Redis sunucusu, kutudan çıktığı gibi TLS desteği sunmaz, ancak Azure Yönetilen Redis sunar. Azure Managed Redis'e bağlanıyorsanız ve istemciniz StackExchange.Redis gibi TLS'yi destekliyorsa TLS kullanmalısınız. Varsayılan olarak, yeni Azure Yönetilen Redis örnekleri için TLS olmayan bağlantı noktası devre dışıdır. Redis istemcileri için TLS desteğine bağımlılık olmadığı sürece güvenli varsayılan değerlerin değiştirilmediğinden emin olun.

Redis'in güvenilen ortamlardaki güvenilir istemciler tarafından erişilecek şekilde tasarlandığını lütfen unutmayın. Bu, Redis örneğini doğrudan İnternet'e veya genel olarak güvenilmeyen istemcilerin Redis TCP bağlantı noktasına veya UNIX yuvasına doğrudan erişebildiği bir ortamda kullanıma sunmanın genellikle iyi bir fikir olmadığı anlamına gelir.

Cihaz ve Alan Ağ Geçidi İletişimini Güvenceye Alma

Başlık Ayrıntılar
Bileşen IoT Alan Geçidi
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar Mevcut Değil
Adımları IP tabanlı cihazlarda iletişim protokolü genellikle aktarımdaki verileri korumak için ssl/TLS kanalında kapsüllenebilir. SSL/TLS'yi desteklemeyen diğer protokoller için, protokolün aktarım veya ileti katmanında güvenlik sağlayan güvenli sürümleri olup olmadığını araştırın.

SSL/TLS kullanarak Cihazdan Bulut Ağ Geçidine iletişimin güvenliğini sağlama

Başlık Ayrıntılar
Bileşen IoT Cloud Gateway
SDL Aşaması İnşa et
Geçerli Teknolojiler Genel
Öznitelikler Mevcut Değil
Referanslar İletişim Protokolünüzü seçin
Adımları SSL/TLS kullanarak HTTP/AMQP veya MQTT protokollerinin güvenliğini sağlayın.