Aracılığıyla paylaş


Aktarım Katmanı Güvenliği (TLS) 1.2

Uygulama ağ iletişimlerinin güvenli olduğundan emin olmak için Aktarım Katmanı Güvenliği'nin (TLS) en son sürümünü kullanmak önemlidir.

Uyarı

Nisan 2018 – PCI uyumluluğu da dahil olmak üzere artan güvenlik gereksinimleri nedeniyle, büyük bulut sağlayıcılarının ve web sunucularının 1.2'den eski TLS sürümlerini desteklemeyi durdurması bekleniyor. Visual Studio'nun önceki sürümlerinde oluşturulan Xamarin projeleri varsayılan olarak TLS'nin eski sürümlerini kullanır.

Uygulamalarınızın bu sunucu ve hizmetlerle çalışmaya devam etmesini sağlamak için Xamarin projelerinizi aşağıdaki ayarları kullanacak şekilde güncelleştirmeniz, ardından uygulamalarınızı yeniden oluşturup kullanıcılarınıza yeniden dağıtmanız gerekir.

Projelerin System.Net.Http derlemesine başvurması ve aşağıda gösterildiği gibi yapılandırılması gerekir.

Xamarin.Android'i TLS 1.2'ye güncelleştirme

TLS 1.2 güvenliğini etkinleştirmek için HttpClient uygulamasını ve SSL/TLS uygulama seçeneklerini güncelleştirin.

Not

Android 5.0 veya üzerini gerektirir.

Bu ayarlar, Proje Özellikleri > Android Seçenekleri'nde ve ardından Gelişmiş düğmesine tıklayarak bulunabilir:

Android cihazlar için Visual Studio'da HttpClient ve TLS'yi yapılandırın.

Xamarin.iOS'yi TLS 1.2'ye güncelleştirme

TSL 1.2 güvenliğini etkinleştirmek için HttpClient Uygulaması seçeneğini güncelleştirin.

Bu ayar, Proje Özellikleri > iOS Derlemesi'nde bulunabilir:

i O S cihazları için Visual Studio'da HttpClient ve TLS'yi yapılandırın.

Xamarin.Mac'i TLS 1.2'ye güncelleştirme

Mac için Visual Studio bir Xamarin.Mac uygulamasında TLS 1.2'yi etkinleştirmek için, Project Seçenekleri > Mac Derleme Derlemesi'ndeki >HttpClient Uygulaması seçeneğini güncelleştirin:

Mac için Visual Studio'da HttpClient'ı yapılandırma

Uyarı

Yaklaşan Xamarin.Mac 4.8 sürümü yalnızca macOS 10.9 veya sonraki sürümleri destekleyecektir. Xamarin.Mac’in önceki sürümleri macOS 10.7 veya sonraki sürümleri destekler ancak bu eski macOS sürümleri TLS 1.2’yi destekleyecek yeterli TLS altyapısını barındırmaz. macOS 10.7 veya macOS 10.8’i hedeflemek için Xamarin.Mac 4.6 veya önceki sürümleri kullanın.

Alternatif yapılandırma seçenekleri

Bu bölümde, yukarıda gösterilen TLS 1.2 destekli yapılandırmaların alternatifleri açıklanmıştır. Uygulama geliştiricilerinin bu alternatifleri dikkate alması için farklı TLS desteği düzeylerini kullanmanın risklerini anlaması gerekir.

HttpClient uygulaması

Xamarin geliştiricileri her zaman kodlarında yerel ağ sınıflarını kullanabilmiştir, ancak sınıflar tarafından hangi ağ yığınının HttpClient kullanıldığını belirleyen bir seçenek de vardır. Bu, yerel platformun hız ve güvenlik avantajlarına sahip tanıdık bir .NET API'sini sağlar.

Seçenekler şunlardır:

  • Yönetilen yığın – Mono tarafından sağlanan ağ işlevselliği veya
  • Yerel yığın – temel platformlar (Android, iOS veya macOS) tarafından sağlanan çeşitli ağ API'leri.

Yönetilen yığın, mevcut .NET koduyla en yüksek uyumluluk düzeyini sağlar, ancak daha yavaş olabilir ve daha büyük yürütülebilir boyuta neden olabilir.

Yerel seçenekler daha hızlı olabilir ve daha iyi güvenliğe (TLS 1.2 dahil) sahip olabilir, ancak sınıfın tüm işlevlerini ve seçeneklerini HttpClient sağlamayabilir.

SSL/TLS uygulaması (Android)

Android proje seçenekleri, hangi SSL/TLS uygulamasının destekleyebileceğinizi seçmenize de olanak sağlar:

  • Mono/Yönetilen – Android'de TLS 1.1
  • Yerel – Android'de TLS 1.2.

Yeni Xamarin projeleri varsayılan olarak TLS 1.2'yi destekleyen yerel uygulamadır (tüm projeler için önerilir), ancak uyumluluk nedeniyle gerekirse yönetilen koda geri dönebilirsiniz.

Önemli

Mono/Yönetilen seçeneği iOS ve Mac proje seçeneklerinden kaldırılmıştır.

Yerel seçeneği her zaman iOS ve Mac platformlarında kullanılır.

Platforma özgü ayrıntılar

Yukarıdaki özette, Xamarin Projelerinde HttpClient ve SSL/TLS uygulaması için proje düzeyi ayarları açıklanmaktadır. HttpClient uygulaması kodda dinamik olarak da ayarlanabilir. Daha fazla bilgi için platforma özgü şu kılavuzlara bakın:

Özet

Uygulamalar mümkün olduğunca Aktarım Katmanı Güvenliği (TLS) 1.2 kullanmalıdır. Mevcut uygulamalarda ayarları bu makaledeki yönergelere göre güncelleştirmeli, ardından yeniden oluşturup müşterilerinize yeniden dağıtmalısınız.