TLS 1.0'ı RDP'yi bozmadan nasıl devre dışı bırakabilirim?


48

Kredi kartı işlemcimiz yakın zamanda bize, 30 Haziran 2016'dan itibaren PCI uyumlu kalmak için 1.0 TL'yi devre dışı bırakmak zorunda kalacağımızı bildirmiştir . Windows Server 2008 R2 makinemizdeki TLS 1.0'ı devre dışı bırakarak proaktif olmaya çalıştım, yalnızca yeniden başlattıktan hemen sonra bunu Uzak Masaüstü Protokolü (RDP) üzerinden bağlayamadığımı bulmak için. Bazı araştırmalardan sonra, RDP'nin yalnızca TLS 1.0'ı desteklediği ( buraya veya buraya bakın ) veya en azından RDP'nin TLS 1.1 veya TLS 1.2 üzerinden nasıl etkinleştirileceği açık değildir. RDP'yi bozmadan Windows Server 2008 R2'de TLS 1.0'ı devre dışı bırakmanın bir yolunu bilen var mı? Microsoft, TLS 1.1 veya TLS 1.2 üzerindeki RDP'yi destekliyor mu?

Not: Sunucuyu RDP Güvenlik Katmanını kullanacak şekilde yapılandırarak yapmanın bir yolu var ancak bu , biri için diğeriyle işlem yapıyor gibi görünen Ağ Düzeyi Kimlik Doğrulamasını devre dışı bırakır .

GÜNCELLEME 1 : Microsoft bu sorunu giderdi. Bkz aşağıda cevabını alakalı sunucu güncelleme için.

GÜNCELLEME 2 : Microsoft, PCI DSS 3.1 için SQL Server Desteği ile ilgili bir kılavuz yayımladı .


Herkese özür dilerim - gönderdiğim talimatlar yalnızca Win8 / Server2012 / 2012R2 için geçerlidir ... onlar 2008R2 / Win7'de çalışmaz. 2008R2'yi test ettim ve aynı değil. Üzgünüm.
Ryan Ries,

Ayrıca 2012'de, TLS 1.0’ın kaldırılmasının, RDP’yi RDP güvenlik katmanına indirgemeye zorladığını unutmayın.
Jim B

Aynı şeyi yaptım ve sunucuma (AWS) giremedim, fiziksel erişim olmadan girmenin bir yolunu bulabildiniz mi?
Thomas Paine

1
Bu destek makalesine göre, Microsoft, kısa bir süre önce SQL 2012 ve 2014'ü TLS 1.1 ve 1.2 desteği ile
donattı.

1
@CarlR, bu makalenin RDP'leri özellikle sunucuya anlatmıyor gibi görünüyor. Aslında, belirttiği gibi veritabanı bağlantısının kendisine özgü görünüyor: "Bu güncelleme, SQL Server 2014'e ve SQL Server 2014 için Microsoft ODBC Sürücüsüne Aktarım Katmanı Güvenliği (TLS) protokolü sürüm 1.2 için destek ekliyor ."
k1DBLITZ

Yanıtlar:


19

Microsoft bu sorun için düzeltme ekini yayımladı 15 Eyl 2015

Bkz. Https://support.microsoft.com/en-us/kb/3080079


Çok yararlı teşekkürler. Bu güncelleştirmeleri yükledikten sonra tsconfig.msc ekranı, TLS 1.1 veya TLS 1.2 belirtileri göstermiyor. TLS 1.2 üzerinden RDP kullanarak sunucuya bağlandığınızı onaylayan var mı? Sunucudaki erken TLS protokolünü devre dışı bırakarak doğrulayabileceğimizi biliyorum. Ancak, eğer çalışmazsa, RDP'yi hiçbir şekilde sunucuya kullanarak uzaktan çalıştıramazsınız.
Nirlep

"Müzakere" seçeneğini seçtiğinizde, mümkün olan en yüksek seviyeyi bildirmesi muhtemeldir, bu da TLS 1.2 olabilir
Nirlep

1
Hangi sürümün kullanıldığını görmek için schannel günlüğünü etkinleştirebilirsiniz. Bunun nasıl yapılacağıyla ilgili bağlantı cevabımda gösterilir.
CarlR 19:15

Biliyorum eski bir iş parçacığı ama ... Ben daha eski bir Windows Server 2008 R2 duyuyorum. KB3080079'u yükledim ve şimdi TLS 1.0'ı devre dışı bırakacak. Ancak RDP sunucusu ayarının "Pazarlık" veya "TLS" olarak ayarlanması gerektiğinden emin değilim.
Chris Harrington,

15

Bunu birkaç gündür araştırıyorum, çünkü TLS 1.0'ın devre dışı bırakılmasını gerektiren PCI-DSS 3.1'e uymak zorundayız.

Ayrıca, büyük bir güvenlik sorunu olan RDP Güvenlik Katmanına geri dönmek istemiyoruz.

Sonunda TLS 1.1 ve TLS 1.2 A'nın RDP tarafından desteklendiğini doğrulayan bazı belgeler bulmayı başardım. Bu belge bir SChannel günlüğünde ve RDP için çok ayrıntılı bir spesifikasyonda gizlenmiştir .

Tekniğin ya da diğer Microsoft sitelerinde ana akış dokümantasyonunun tam bir eksikliği var, bu yüzden bunu burada belgelendirmek bazı insanlara yardımcı olabilir.

Sunulan linklerden alakalı alıntılar:

MSDN bağlantısından:

"RDP supports four External Security Protocols: TLS 1.0 ([RFC2246]) TLS 1.1 ([RFC4346])<39>, TLS 1.2 ([RFC5246])<40>"

RDP şartname PDF'sinden:

"When Enhanced RDP Security is used, RDP traffic is no longer protected by using the techniques
described in section 5.3. Instead, all security operations (such as encryption and decryption, data
integrity checks, and Server Authentication) are implemented by one of the following External
Security Protocols:
TLS 1.0 (see [RFC2246])
TLS 1.1 (see [RFC4346])
TLS 1.2 (see [RFC5246])
CredSSP (see [MS-CSSP])"

"<39> Section 5.4.5: TLS 1.1 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista and Windows Server 2008.
<40> Section 5.4.5:  TLS 1.2 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista, and Windows Server 2008"

Bu nedenle, Windows Server 2008 R2'de bu belgeye göre TLS 1.1 veya 1.2 kullanabileceğinizi söyleyebiliriz.

Ancak, testimiz, TLS 1.0 devre dışı bırakıldığında ve RDP güvenlik seçeneği TLS 1.0 gerektirecek şekilde ayarlandığında Windows 7 RDP istemcisinden (sürüm 6.3.9600) ÇALIŞMADIĞINI kanıtladı.

Elbette bu, 2008R2'de varsayılan olarak devre dışı bırakılan TLS 1.1 ve 1.2'yi mümkün kılmaktır - bu arada , Nartac Software'in çok kullanışlı IIS Kripto Aracını kullanarak bunu yaparız .

Bu konuya bakarken, oturumunuz açıldığında neler olup bittiğini daha ayrıntılı görmek için SChannel günlüğünü etkinleştirmek yararlı olacaktır.

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLogging anahtarını 5 olarak değiştirip yeniden başlatarak SChannel günlüğünü ayarlayabilirsiniz .

Bu yapıldıktan sonra, bir RDP bağlantısı yapıldığında kullanılan TLS versiyonunu gösteren SChannel olaylarını gözlemleyebilirsiniz. Günlüğe kaydetme etkinleştirildikten sonra, RDP istemcisi Windows 2008 R2'de TLS 1.0 devre dışı bırakılmış bir bağlantı kurmaya çalıştığında SChannel hatasını gözlemleyebilirsiniz:

A fatal error occurred while creating an SSL server credential. The internal error state is 10013.

Ayrıca, Windows 7 RDP İstemcisi'ni kullanarak mükemmel şekilde çalıştığını onaylayabildiğim, Windows Server 2012 ve 2012 R2'de TLS 1.0'ı devre dışı bırakmayı test ettim. SChannel log girişi, kullanılan TLS 1.2'yi gösterir:

An SSL server handshake completed successfully. The negotiated cryptographic parameters are as follows.

   Protocol: TLS 1.2
   CipherSuite: 0xC028
   Exchange strength: 256

Umarım bu, bu konuda açıklama isteyen birine yardımcı olur.

Windows Server 2008 R2'de RDP'nin nasıl TLS 1.1 ve TLS 1.2 üzerinde çalışabileceğini aramaya devam edeceğim.

GÜNCELLEME: 2015-AUG-05

RDP'nin, Server 2008 R2 ile çalışmama sorununu, çoğaltma adımlarını da içeren Microsoft desteği ile gündeme getirdik.

Birkaç hafta geriye ve ileriye doğru nihayet nihayet destek ekibinden gerçekten yeniden üretilebildiklerini kabul etmek için bir telefon geldi ve bu şimdi hata olarak kategorize edildi. Güncelleme yaması, şu anda bu durumun Ekim 2015'te gerçekleşmesi bekleniyor. Bir KB makalesine veya diğer ayrıntılara sahip olduğumda bu yazıya ekleyeceğim.

Umarım Windows Server 2008 R2’ye takılanlar, en azından yama 2016’nın son gününden önce çözüme kavuşabilirler.

GÜNCELLEME: 19 Eylül 2015

Microsoft nihayet burada bu konuda bir kb destek makalesi yayımladı ve bunun doğru şekilde çalıştığını onaylayabilirim.


Son güncellemeniz "Windows 7 ve Windows 2012 r2'yi denedim ve çalışmıyor; yine de TLS1 kullanarak bağlantı kuruyor." Bunu işe alabildin mi?
Doug S,

Bir başkası bu yorumu yaptı, şimdi bizim için iyi çalıştığı için TLS1.2'den daha yeni çıkardım.
CarlR

Hmmm. Bu değişiklikler / güncellemeler ve bulabildiğim her şeyde bile işe yaramadı.
Doug S

SChannel günlüğü Sistem Günlüğü'nde bulunabilir.
Ivan Chau,

8

Belgenin önerdiği şekilde IPsec kullanın: "Önce güçlü bir şekilde şifrelenmiş oturum ayarlama (örneğin, IPsec tüneli), ardından güvenli tünelde SSL üzerinden veri gönderme"

Bunun için TLS'yi RDP'ye göre yapılandırmanın temel nedeni, güvenlik duvarı politikasının uyumluluk için kolayca denetlenmesidir (vs, bir kayıt defteri değişikliklerinin bir demetini kanıtlamakla uyumludur) ve IPsec'in pencerelerde yapılandırılması oldukça kolaydır.

Tam paket B uyumluluğuna ihtiyacınız varsa, IPSEC 1.0 tls ile uygun sertifika uzunluklarına başvurmanın tek yoludur


SSH üzerinden tünel açmak da bahsedeceğim bir seçenek. (Tabii ki, Windows için SSH sunucu yazılımı gerektirir.)
Chris W. Rea

IPsec SSH değil
Jim B

3
Doğru ve aynı olduklarını ima etmek istemedim. Aksine, SSH, bir sunucuya güvenli bir tünel oluşturmak için alternatif bir yöntemdir.
Chris W. Rea

@JimB Üzgünüm, haklıydınız.
Ryan Ries,

1
@RyanRies Np, hala çalıştığımı bilmeden, diğer 12 kişinin nasıl oy kullanabileceğini kafamı kaşıyorum.
Jim B

8

Bu soruya bir cevap değil, "TLS 1.0'ı devre dışı bıraktığım ve fiziksel erişimi olmayan sanal bir makineye uzaktan erişimi nasıl geri yüklerim?"

TLS 1.0'ı devre dışı bıraktığımda, RDP'nin TLS'ye ayarlanmış olması durumunda RDP'nin çalışmasının duracağı yan etkisi hakkında yararlı bir uyarı veren IISCrypto kullanarak devre dışı bıraktım. Ben de kontrol ettim:

Admin Tools\Remote Desktop Services\Remote Desktop Session Host Configuration, RDP-Tcp, General Tab, Security Layer

ve Güvenlik Seviyem "Pazarlık" olarak ayarlandı. Bunun TLS'nin mevcut olmaması durumunda, RDP Güvenliğine zaralı bir şekilde düşeceği anlamına geldiğini varsaydım.

Ancak hayır, Pazarlık bu şekilde çalışmaz. TLS 1.0’ı devre dışı bırakmadan önce Güvenlik Seviyesini Negatif değil, RDP Güvenliğine ayarlamalısınız.

Bu yüzden AWS örneğime uzaktan bağlanabilme yeteneğimi kaybettim!

Yeniden bağlanmak için başka bir AWS örneği kullandım.

  1. SecurityGroup’u o makineden "kayıp" makineme güvenlik duvarı bağlantısına izin verecek şekilde güncelledim.
  2. DOS'ta bir yönetici kullanıcısı ve şifreyle bir yönetim ağı paylaşımını açtım:

net use \\lost_machine_ip\c$

  1. Sonra Regedit'i açtım ve Dosya menüsünde, "Ağ Kayıt Defterine Bağlan" seçeneğini seçip "kayıp" sunucunun IP adresini girin. Uzak sunucu kayıt defterini görmelisiniz. Git:

\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\

ve değeri SecurityLayer0 olarak ayarlayın (0, RDP Güvenliğidir).

Daha sonra uzaktan bağlanabilecek ve gerekirse IISCrypto'da TLS 1.0'ı yeniden etkinleştirebileceksiniz.


Teşekkürler, bu bana bir sunucuyu yeniden yaratmam için çok iş kazandırdı. Güvenlik grubunuzu makineler arasındaki bağlantıya izin verecek şekilde nasıl değiştirdiğinizden emin değilim --- "Kayıp" makineye tüm erişimi ikinci makinenin IP adresine açtım ve bu işe yaradı. Daha iyi bir yolu var mı?
Gullbyrd

@Gullbyrd ya bunu ya da TÜM TCP'yi her iki makinenin ait olduğu güvenlik grubuna ayarlayın. Aynı şeyi yapar.
Dave Beer,

3

Windows 7 bilgisayarlarınıza ve Windows Server 2008 R2 sunucularınıza RDP 8.0 yüklemeniz ve ardından yerel bilgisayar ilkesi veya grup ilkesinde RDP 8.0'ı etkinleştirmeniz gerekir.

İşte RDP 8.0 için Microsoft KB. https://support.microsoft.com/en-us/kb/2592687

Bunu yaptıktan sonra kayıt defterini bu teknik makalede anlatıldığı gibi düzenleyerek bilgisayar ve sunuculardaki TLS 1.0'ı devre dışı bırakmanız gerekir. https://technet.microsoft.com/en-us/library/dn786418.aspx

RDP 8.0'ı yükledikten sonra, RDP 8.1'i de yükleyebilirsiniz, ancak RDP 8.1'i yüklemeden önce RDP 8.0'ın yüklenmesi gerekir. RDP 8.0 hem istemci hem de sunucu tarafı protokol bileşenlerini içerir, ancak RDP 8.1 yalnızca istemciyi içerir. RDP 8.1 için Microsoft KB, KB2830477'dir.

Bu değişiklikleri Windows 7 iş istasyonlarımdan birinde yaptım ve RDP bağlantılarını "Uzak (RDP) bağlantılar için belirli bir güvenlik katmanının kullanılmasını gerektir" grubu ile test ettim, Grup İlkesi ayarı etkin ve bunu sağlamak için "SSL (TLS 1.0)" olarak ayarladım. RDP Şifrelemesine geri dönmeyecekti.

GÜNCELLEME 6/19/2015:

Sonunda bunu Windows Server 2008 R2 sunucularımızdan birinde test etme şansım oldu ve kesinlikle RDP bağlantılarını sunucuya kesdi. RDP 8.0 sunucu tarafı bileşenlerinin yalnızca Windows 7 bilgisayarlara yüklü olduğu ve Windows Server 2008 R2 sunucularına yüklenmediği görülmektedir.


Başvurulan destek bilgi tabanı makalesi şu anda çalışmıyor (yönlendirme döngüsü), ancak içeriği görmek için Google önbellek sürümünü kullanabilirsiniz. Bu yazıda 1.1 veya 1.2 TLS desteğinden hala kesinlikle bahsetmiyoruz ve bu soruyu bir başkasının bu soruya bakmasının ana nedeni bu sanırım! Ayrıca, Remote Destop kullanıcı grubuna özel olarak eklenmediği sürece, yerel yöneticiler de dahil olmak üzere artık giriş yapamayan çok sayıda uyarı vardır. Bunu deniyorsan dikkat et.
CarlR

2008 sunucusuna bağlanmayı denediğinizde sunucuda 3389 numaralı UDP bağlantı noktasını açtınız mı?
Elvar

Windows Güvenlik Duvarı'nı tamamen sunucu 2008 R2 sunucusundan tamamen devre dışı bırakacak kadar ileri gittim, ancak sunucuda TLS 1.0 devre dışı bırakılmış RDP kullanarak yine de bağlanamadım.
Kenny R

3

Yayınlandığı gibi, 2012 R2 sunucusundaki RemoteApp'ları bozmadan TLS 1.0'ı nasıl devre dışı bırakabilirim, ancak bu bağlantıyı izlemeyenlerin yararına burada yeniden yayınlayabilirsiniz:

Neredeyse bir yıl sonra, RDP ve Uzak Masaüstü Hizmetleri bağlantısını kesmeden ve RemoteApps'ı başlatmadan TLS 1.0 / 1.1'i devre dışı bırakmak için çalışan bir çözüm buldum:

IISCrypto çalıştırın ve TLS 1.0, TLS 1.1 ve tüm hatalı şifreleri devre dışı bırakın.

Ağ geçidi rolünü çalıştıran Uzak Masaüstü Hizmetleri sunucusunda, Yerel Güvenlik İlkesini açın ve Güvenlik Seçenekleri - Sistem şifrelemesi'ne gidin: Şifreleme, karma ve imzalama için FIPS uyumlu algoritmaları kullanın. Güvenlik ayarını Enabled (Etkin) olarak değiştirin. Değişikliklerin etkili olması için yeniden başlatın.

Bazı durumlarda (özellikle Server 2012 R2'de kendinden imzalı sertifikalar kullanıyorsanız), Güvenlik Politikası seçeneğinin Ağ Güvenliği: LAN Manager kimlik doğrulama seviyesinin yalnızca NTLMv2 yanıtlarını Gönder olarak ayarlanması gerekebileceğini unutmayın.


2

Bir başkası hakkında bilgi arıyorsanız, bu konuda sadece bir güncelleme. Windows 7 64 bit kutuları için KB2574819 (ilk) ve KB2592687 (ikinci) sürümünü yüklemeliydim, Windows 7 bu 2 pkgs yüklenmeden önce SP1 yüklü olmalı. Benim yaptığım gibi SP1'i yüklemeyle ilgili sorunlarınız varsa, önce KB958830'u kaldırmam, sonra da SP1'i yüklemem gerekiyordu.

Windows Server 2008 R2 kutularım için KB3080079 yüklemek zorunda kaldım. Bunu yaptığınızda ve güvenli iletişim için gerekli tüm ayarları yaptıktan sonra, TLS 1.2 kullanacaktır. İki kutunuz arasındaki iletişimi yakalamak için Wireshark'ı kullanarak onaylayabilirsiniz.



0

Mevcut cevapların kapsamadığı durumlardan biri: Bir RDP Ağ Geçidi üzerinden bağlanan Windows 7 istemcileri, ağ geçidine bağlanırken yine de TLS 1.0 kullanacak ve ağ geçidi, bu TechNet forum başlığında olduğu gibi KB3080079 uyguladıktan sonra bile TLS 1.0'ı desteklemiyorsa başarısız olacak .

Bir RDP Ağ Geçidi üzerinden bağlanmak için TLS 1.2 kullanmak için, KB3140245'in yüklü olduğundan emin olun ve aşağıdaki kayıt defteri anahtarlarını ekleyin ( alınacak uzantıyla bir dosyaya kaydedin .reg):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

KB3140245'te belgelendiği gibi, varsayılan olarakWINHTTP_OPTION_SECURE_PROTOCOLS TLS 1.2 (ve yalnızca TLS 1.2) kullanmak geçersiz kılınır . Bu yüzden sadece RDP müşterisinden daha fazla etkileyeceğini unutmayın.

(Not: Geriye dönük uyumluluk isteniyorsa, sırasıyla TLS 1.1 ve 1.0'ı içine dword:00000800almak dword:00000A00veya değiştirmek için değiştirilebilir dword:00000A80)

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.