Windows 10'da savunmasız şifreyi kaldırmak, giden RDP'yi bozuyor


16

TrustWave'in güvenlik açığı tarayıcısı, RDP çalıştıran bir Windows 10 makinesi nedeniyle taramayı başaramıyor:

Sweet32 (CVE-2016-2183) olarak bilinen doğum günü saldırısı olan 64 bitlik blok boyutlu (DES ve 3DES gibi) blok şifreleme algoritmaları

NOT: RDP (Uzak Masaüstü Protokolü) çalıştıran Windows 7/10 sistemlerinde, devre dışı bırakılması gereken güvenlik açığından etkilenen şifre 'TLS_RSA_WITH_3DES_EDE_CBC_SHA' olarak etiketlenmiştir.

IIS Kripto kullanarak (Nartac tarafından), "En İyi Uygulamalar" şablonunu ve PCI 3.1 şablonunu uygulamayı denedim, ancak her ikisi de güvensiz şifre (TLS_RSA_WITH_3DES_EDE_CBC_SHA) içeriyor:

CipherScreen

Bu şifreyi devre dışı bırakırsam , bu bilgisayardan birçok Windows istasyonuna RDP çalışmayı durdurur (yine de bazı 2008 R2 ve 2012 R2 sunucularında çalışır). RDP istemcisi basitçe "Dahili bir hata oluştu" ve olay günlüğünü verir:

TLS istemci kimlik bilgileri oluşturulurken önemli bir hata oluştu. Dahili hata durumu 10013'tür.

Sunuculardan birinin sunucu olay günlüğünü kontrol ettim ve bu iki mesajı gördüm

Uzak istemci uygulamasından TLS 1.2 bağlantı isteği alındı, ancak istemci uygulaması tarafından desteklenen şifre paketlerinin hiçbiri sunucu tarafından desteklenmiyor. SSL bağlantı isteği başarısız oldu.

Aşağıdaki önemli uyarı oluşturuldu: 40. Dahili hata durumu 1205'tir.

Giden RDP'yi bozmadan güvenlik açığını nasıl düzeltebilirim?

Ya da, yukarıdakiler mümkün değilse , her bir RDP ana bilgisayarında artık bu bağlantıyı işleyemediğim bir bağlantı kuramayacağım bir şey var mı?

--- Güncelleme # 1 ---

Windows 10 makinesinde TLS_RSA_WITH_3DES_EDE_CBC_SHA devre dışı bıraktıktan sonra, birkaç RDP ana bilgisayarına bağlanmayı denedim (yarısı "Dahili bir hata ..." ile başarısız oldu). Ben o bu konaklarından birine kıyasla Yani olabilir bunu birine karşı bağlanmak edemez bağlanın. Her ikisi de 2008 R2. Her ikisi de aynı RDP sürümüne sahiptir (6.3.9600, RDP Protokolü 8.1 desteklenir).

TLS protokollerini ve şifrelerini, şablon dosyalarını karşılaştırabilmem için geçerli ayarlarında "Şablonu Kaydet" yapmak için IIS Kripto kullanarak karşılaştırdım. Onlar aynıydı! Yani sorun ne olursa olsun, ana bilgisayarda eksik bir chipher paketi sorunu gibi görünmüyor. İşte Beyond Compare'den bir ekran görüntüsü:

Şifre karşılaştırması

Bu soruna neden olan iki RDP ana bilgisayarı ve sorunu nasıl düzeltebilirim?


Bağlantı başarısız olduğunda ve başarılı olduğunda, hangi şifre paketinin gerçekten müzakere edildiğini görmek için NetMon veya Wireshark'ı kullanabilir.
Ryan Ries

@RyanRies: Zaten yaptı, ama gerçek TLS anlaşmasına asla ulaşmıyor. İstemci bir "TPKT, Devam" paketi gönderir ve sunucu "RST, ACK" ile yanıt verir.
Zek

Yanıtlar:


3

IIS Kripto, hem sunucu tarafı (gelen) hem de istemci tarafı (giden) seçeneklerini ayarlama seçeneğine sahiptir. Uyumluluk için istemci tarafında etkin bırakmanız gereken bir avuç şifre vardır.

İstediğinizi yapmak için kişisel olarak aşağıdakilerle giderdim:

  • 3.1 şablonu uygula
  • Tüm şifre paketlerini etkin bırak
  • Hem istemciye hem de sunucuya uygulayın (onay kutusu işaretli).
  • Değişiklikleri kaydetmek için 'uygula'yı tıklayın

İsterseniz burada yeniden başlatın (ve makineye fiziksel erişiminiz var).

  • 3.1 şablonu uygula
  • Tüm şifre paketlerini etkin bırak
  • Sunucuya uygula (onay kutusu işaretli değil).
  • 3DES seçeneğinin işaretini kaldırın

Burada yeniden başlatma doğru bitiş durumuna neden olmalıdır.

Etkili bir şekilde yalnızca 3DES gelenleri devre dışı bırakmak istiyorsunuz, ancak yine de bahsedilen şifre paketinin giden kullanımına izin veriyorsunuz.


Kulağa umut verici geliyor! Ancak 3DES 168'i devre dışı bırakmak bir hata gibi görünüyor - artık ona bağlanamıyorum. Bu ele alındıktan sonra, sadece sunucu tarafında şifreyi devre dışı bırakmayı deneyeceğim ve yanıtı rapor edeceğim / kabul edeceğim.
Zek

Öneriyi denedim: 1) "En İyi Uygulamalar" ı uygula ve hem sunucuya hem de istemciye uygula, sonra 2) TLS_RSA_WITH_3DES_EDE_CBC_SHA şifresini ve "İstemci Tarafı Protokollerini Ayarla" yı işaretleyin ve tekrar uygulayın, sonra elbette yeniden başlatın. Bu makineden RDPing sorunu devam ediyor. Ek öneriler kabul edilir.
Zek

1
@Zek garip ... Aynı tekniği kullandım ve çalıştıralım.
Tim Brigham

@Zek Az önce bunu nasıl yazdığım konusunda büyük bir hata yaptığımı fark ettim. Buna göre güncelleme yapacağım.
Tim Brigham

Bunu denedim. 1) 3.1 şablonunu seçin + tüm şifre paketlerini olduğu gibi bırak + "İstemci Tarafı Protokollerini Ayarla" etkin + TLS 1.0'ı (SQL, vb. TLS 1.0 olmadan kesmeler) kontrol edin + Uygula ve yeniden başlat. 2) 3.1 şablonunu seçin + tüm şifre paketlerini olduğu gibi bırak + "İstemci Taraf Protokollerini Ayarla" işaretlenmemiş + 3DES'in işaretini kaldırın + TLS 1.0'ı kontrol edin + Uygula ve yeniden başlat. Artık bağlanamıyorum, "Dahili bir hata oluştu" (Sunucunun 3DES'i desteklemesi gerektiğini düşünüyorum). Windows 10 makinesinden bağlanıyorum.
Zek

1

Aynı sorunu yaşadım, KB3080079 yamasını sunucuya yüklemek tls 1.1 ve 1.2 için destek sağlar.

Windows 7 istemcileri için rdp istemcisi güncelleştirmesini (KB2830477) yüklemeniz gerekeceğini, aksi takdirde yalnızca Windows 8 ve sonraki sürümlerin bağlanabileceğini unutmayın.


1
Sadece iki kez kontrol ettim ve bu güncellemeler zaten yüklü (standart Windows güncellemesine zaten bir süredir dahil olduklarına inanıyorum), bu yüzden sorun değil.
Zek

1

Edit (2018-09-26): 2012R2'de 3DES'i devre dışı bırakmanın RDP'yi kırmadığını ancak 2008 R2'de kırdığını keşfettim. Desteklenen seçenekler çekirdekler arasında farklı görünmektedir.


Cevabımı bir TechNet iş parçacığından paylaşacağım ama ilk BLUF:

Sunucu hatası sonucu: Büyük olasılıkla sistemler arasında başka bir fark vardır. Farklı işletim sistemi sürümleri arasında bağlantı kuruyorsunuz, bir sistemde FIPS etkin, diğeri etkin değil veya altında farklı şifreleme kısıtlamaları var HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers. Kesinlikle sistemde SCHANNEL günlüğü sağlayacak yapar kullanımda hangi şifre belirlemek için çalışmalarını. Bir şekilde alternatif bir şifre ile çalışmak için RDP'niz varsa duymak isterim.

Yayının kopyası:

Çalıştık!

Görünüşe göre 2008 ve 2012'de sözdizimi sorunları var ve 2008/7 bir iz / 168 gerektiriyor. 2012 / 8.1 / 10 desteklemiyor.

2008'in anahtarı şuna benziyor: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168/168

2012'nin anahtarı şuna benziyor: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168

"Triple DES 168/168" kullanımının sistemde 3DES'i devre dışı ETMEDİĞİNİ doğrulayabilirim. Bunu protokol protokolü (Nessus gibi) ile veya SCHANNEL günlüğünü etkinleştirerek kendinize kanıtlayabilirsiniz:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL] "EventLogging"=dword:00000007

Daha sonra örneğin SYSTEM günlüğünde olaylara sahip olacaksınız;

Bir SSL istemci anlaşması başarıyla tamamlandı. Anlaşmalı kriptografik parametreler aşağıdaki gibidir.

Protokol: TLS 1.0 CipherSuite: 0x2f Değişim gücü: 1024

Benim için sonuç, Google'ın TLS_RSA_WITH_3DES_EDE_CBC_SHA olarak açıkladığı 0xa.

"Üçlü DES 168" (/ 168 olmadan) kullandığımda, Sistem olay kimliği 36880 görünmüyor ve RDP oturumu engellendi.

Makale başına: Sistem şifrelemesi: Şifreleme, karma ve imzalama için FIPS uyumlu algoritmalar kullanın

Uzak Masaüstü Hizmetleri (RDS) Uzak Masaüstü Hizmetleri ağ iletişimini şifrelemek için bu ilke ayarı yalnızca Üçlü DES şifreleme algoritmasını destekler.

Makaleye göre: "Sistem şifrelemesi: Windows XP ve Windows'un sonraki sürümlerinde güvenlik ayarı efektlerini şifreleme, karma ve imzalama için FIPS uyumlu algoritmalar kullanma"

Bu ayar, Windows Server 2003 ve Windows'un sonraki sürümlerindeki Terminal Hizmetleri'ni de etkiler. Etki, TLS'nin sunucu kimlik doğrulaması için kullanılıp kullanılmadığına bağlıdır.

Sunucu kimlik doğrulaması için TLS kullanılıyorsa, bu ayar yalnızca TLS 1.0'ın kullanılmasına neden olur.

Varsayılan olarak, TLS kullanılmıyorsa ve bu ayar istemcide veya sunucuda etkin değilse, sunucu ile istemci arasındaki Uzak Masaüstü Protokolü (RDP) kanalı, 128 bitlik RC4 algoritması kullanılarak şifrelenir anahtar uzunluğu. Bu ayarı Windows Server 2003 tabanlı bir bilgisayarda etkinleştirdikten sonra aşağıdakiler doğrudur: RDP kanalı 168 bit anahtar uzunluğunda Şifreleme Blok Zinciri (CBC) modunda 3DES algoritması kullanılarak şifrelenir. SHA-1 algoritması mesaj özetleri oluşturmak için kullanılır. İstemciler bağlanmak için RDP 5.2 istemci programını veya sonraki bir sürümünü kullanmalıdır.

Yani her ikisi de RDP'nin sadece 3DES kullanabileceği fikrini destekliyor. Ancak, bu makalede daha geniş bir şifreleme yelpazesi bulunduğunu göstermektedir: FIPS 140 Doğrulaması

Uzak Masaüstü Protokolü (RDP) sunucusunun kullanacağı şifreleme algoritmaları kümesi şu kapsamdadır: - CALG_RSA_KEYX - RSA ortak anahtar değişim algoritması - CALG_3DES - Üçlü DES şifreleme algoritması - CALG_AES_128 - 128 bit AES - CALG_AES_256 - 256 bit AES - CALG_S_1 - SHA karma algoritması - CALG_SHA_256 - 256 bit SHA karma algoritması - CALG_SHA_384 - 384 bit SHA karma algoritması - CALG_SHA_512 - 512 bit SHA karma algoritması

Sonuçta, FIPS modu etkinleştirildiğinde RDP'nin 3DES olmayan protokolleri destekleyip destekleyemeyeceği net değil, ancak kanıtlar bunu desteklemeyeceğini gösteriyor.

Server 2012 R2'nin Server 2008 R2'den farklı çalışacağına dair bir kanıt görmüyorum, ancak Server 2008 R2'nin FIPS 140-1 uyumluluğuna dayandığı ve Server 2012 R2'nin FIPS 140-2'yi izlediği görülüyor, bu nedenle Server 2012 R2'nin desteklemesi tamamen mümkün ek protokoller. FIPS 140 Doğrulama bağlantısındaki ek protokolleri not edeceksiniz .

Sonuç olarak: Server 2008 R2'nin 3DES devre dışı bırakıldığında FIPS modunda RDP'yi destekleyebileceğini sanmıyorum. Benim önerim, sisteminizin SWEET32 saldırısı koşullarını (tek bir oturumda 768 GB'den fazla) karşılayıp karşılamadığını ve 3DES'i devre dışı bırakmanın RDP özelliğini kaldırmaya değip değmeyeceğini belirlemektir. Özellikle sanallaştırmanın oldukça yaygın olduğu bir dünyada RDP dışındaki sunucuları yönetmek için başka yardımcı programlar da vardır.


0

Görünüşe göre 2008 ve 2012'de sözdizimi sorunları var ve 2008/7 bir izleyen / 168 gerektiriyor. 2012 / 8.1 / 10 desteklemiyor.

2008'deki anahtar şuna benzer: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ Triple DES 168/168

** Büyük bulmak bazı pencereler 2008 R2 etki alanı denetleyicilerinde aynı sorunu vardı, garip üye 2008R2 sunucuları iyi görünüyor ... ve benim 2012R2 sunucuları da iyi çalışıyor. Bu eski DC'leri decomming üzerinde çatlamak gerekir :)


2008R2 sürümümde 168Windows 2012 kayıt defteri ile aynı sözdiziminin eklenmesi ve kabul edilmesi gerekmez . 2008 kayıt defteri ayarı sizin için işe yaramadıysa sadece FYI
Gregory Suvalian
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.