Nasıl SSL devre dışı bırakın geri dönüş yaparım ve giden bağlantılar için yalnızca TLS kullanın .NET? (Kaniş azaltma)
Poodle SSL 3.0 Fallback saldırı bizim açığını azaltmak için çalışıyorum. Bizim yöneticiler zaten bizim sunucularına gelen bağlantılar için TLS lehine SSL devre dışı bırakarak başladı. Ve ayrıca ekibimiz web tarayıcılarında SSL devre dışı bırakmak için tavsiye edilir. Şimdi bizim bakıyorum .Başlatan NET kod temeli, System.Net.HttpWebRequest çeşitli servisleri ile bağlantıları HTTPS. Bu bağlantılar eğer TLS dan geri dönüş SSL izin verirse MITM bir saldırıya karşı savunmasız olabilir inanıyorum. Şimdiye kadar kararlıyım. Bir daha kontrol edin, bu benim haklı olduğumu doğrulamak için lütfen. Bu güvenlik açığı, yepyeni, henüz bunu azaltmak için ne yapmanız gerektiği konusunda Microsoft tarafından bir delil görüyorum .NET:
Sistem protokolleri için izin verdi.Net.Güvenlik.Güvenli iletişimi ayakta tutan sınıf, SslStream .NET, küresel ile her Uygulama için ayarlayınSistem.Net.ServicePointManager.SecurityProtocolözellik.
Bu özelliğin varsayılan değeri .NET 4.5
Ssl3 | Tls
(belgeler o kadar geri bulamıyorum rağmen.) SecurityProtocolType Flags özniteliği ile bir numaralama, bir bitYAbu iki değer. Bu kod satırı ile ortamınızda bu kontrol edebilirsiniz:Konsol.WriteLine(System.Net.ServicePointManager.SecurityProtocol.() Olabilirdi);
Bu uygulamanızda herhangi bir bağlantı başlatmak için önce
Tls
, ya da belki deTls12
, sadece değiştirilmelidir:Sistem.Net.ServicePointManager.= Sistem SecurityProtocol.Net.SecurityProtocolType.Tls;
Önemli:Özelliği birden çok bit bayrakları destekler beri, SslStream olacak sanırımdeğildiğer belirtilmemiş protokolleri otomatik olarak geri dönüş sıkışması sırasında. Aksi halde, birden çok bayrak destekleyen ne anlamı olurdu?
TLS Update 1.0 1.1/1.2: vs
Google güvenlik uzmanı Adam Langley göre, TLS 1.0 was later found to be vulnerable to POODLE if not implemented correctly, TLS 1.2 sadece hareketli düşünmelisiniz.
CEVAP
Aynı şeyi yapıyoruz. Tüm TLS ve SSL protokolleri desteklemek için, bunu yapabilirsiniz:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
SecurityProtocolType.Tls yalnızca TLS 1.0, TLS sürüm değil.
Bir yan: iade etmek istiyorsanız bu site izin vermiyor SSL bağlantıları, bu nedenle burada (sanmıyorum bu etkilenen tarafından yukarıdaki ayarı, kayıt defterini düzenlemek için zorlamak IIS için kullanmak TLS için gelen bağlantılar): https://www.ssllabs.com/ssltest/index.html
IIS SSL 2.0 ve 3.0 devre dışı bırakmak için bu sayfaya bakın: https://www.sslshopper.com/article-how-to-disable-ssl-2.0-in-iis-7.html
Nasıl kaydırma hareketi geri devre dış...
Nasıl bir asp Düğmesini geri gönderme ...
Nasıl Facebook tarayıcıyı devre dışı b...
Nasıl bir proje içinde tek bir dosya i...
Nasıl button in yeniden boyutlandırıla...