Poodle SSL 3.0 Fallback saldırısına karşı güvenlik açığımızı azaltmaya çalışıyorum . Yöneticilerimiz zaten sunucularımıza gelen bağlantılar için TLS lehine SSL'yi devre dışı bırakmaya başladı. Ayrıca ekibimize web tarayıcılarında SSL'yi devre dışı bırakmalarını tavsiye ettik. Şimdi System.Net.HttpWebRequest aracılığıyla çeşitli hizmetlerle HTTPS bağlantılarını başlatan .NET kod tabanımıza bakıyorum . TLS'den SSL'ye geri dönüşe izin verirlerse bu bağlantıların bir MITM saldırısına açık olabileceğine inanıyorum. İşte şimdiye kadar belirlediklerim. Birisi haklı olduğumu doğrulamak için lütfen bunu iki kez kontrol edebilir mi? Bu güvenlik açığı tamamen yenidir, bu nedenle .NET'te bu güvenlik açığının nasıl azaltılacağına dair Microsoft'tan henüz herhangi bir rehber görmedim:
NET'te güvenli iletişimi destekleyen System.Net.Security.SslStream sınıfı için izin verilen protokoller, System.Net.ServicePointManager.SecurityProtocol özelliği aracılığıyla her AppDomain için global olarak ayarlanır .
.NET 4.5 Bu özelliğin varsayılan değeridir
Ssl3 | Tls
(O kadar geri belgelerine bulamıyorum rağmen.) O bit tabanlı yüzden SecurityProtocolType, Bayraklar özelliği olan bir enum olan YA bu iki değerden. Bu kod satırıyla ortamınızda bunu kontrol edebilirsiniz:Console.WriteLine (System.Net.ServicePointManager.SecurityProtocol.ToString ());
Bu , uygulamanızda herhangi bir bağlantı başlatmadan önce
Tls
veya belki de olarak değiştirilmelidirTls12
:System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls;
Önemli: özellik birden bitsel bayrakları desteklediği için, öyle sanıyorum ki SslStream olacak değil otomatik geri dönüş diğer belirtilmemiş protokollere el sıkışma sırasında. Aksi takdirde, birden çok bayrağı desteklemenin anlamı ne olur?
TLS 1.0 ve 1.1 / 1.2 ile ilgili güncelleme:
Google güvenlik uzmanı Adam Langley'e göre, TLS 1.0'ın daha sonra doğru şekilde uygulanmazsa POODLE'a karşı savunmasız olduğu tespit edildi , bu nedenle yalnızca TLS 1.2'ye geçmeyi düşünmelisiniz.
.NET Framework 4.7 ve üzeri için güncelleme:
Aşağıda Prof Von Lemongargle tarafından belirtildiği gibi, .NET Framework'ün 4.7 sürümünden başlayarak, varsayılan ayar işletim sisteminin en güvenli TLS protokol sürümünü seçmesine izin vereceği için bu hack'i kullanmaya gerek yoktur. Daha fazla bilgi için .NET Framework ile Taşıma Katmanı Güvenliği (TLS) en iyi uygulamalarına bakın .