RDP를 중단하지 않고 TLS 1.0을 비활성화하려면 어떻게합니까?


48

신용 카드 프로세서는 최근 2016 년 6 월 30 일자 로 PCI 호환을 유지하기 위해 TLS 1.0을 비활성화 해야한다고 통지했습니다 . Windows Server 2008 R2 시스템에서 TLS 1.0을 비활성화하여 사전에 예방하려고했지만 재부팅 직후 RDP (원격 데스크톱 프로토콜)를 통해 TLS 1.0에 완전히 연결할 수 없었습니다. 일부 연구 결과, RDP는 TLS 1.0 만 지원 하거나 ( 여기 또는 여기 참조 ) TLS 1.1 또는 TLS 1.2를 통해 RDP를 활성화하는 방법이 확실하지 않은 것으로 보입니다 . 아무도 RDP를 중단하지 않고 Windows Server 2008 R2에서 TLS 1.0을 비활성화하는 방법을 알고 있습니까? Microsoft는 TLS 1.1 또는 TLS 1.2를 통한 RDP를 지원할 계획입니까?

참고 : RDP 보안 계층을 사용하도록 서버를 구성하여 이를 수행 할 수있는 방법이 있지만 네트워크 수준 인증사용하지 않도록 설정합니다 .

업데이트 1 : Microsoft는 이제이 문제를 해결했습니다. 관련 서버 업데이트에 대해서는 아래 답변을 참조하십시오 .

업데이트 2 : Microsoft는 PCI DSS 3.1 에 대한 SQL Server 지원에 관한 자습서를 발표했습니다 .


모두에게 사과드립니다-내가 게시 한 지침은 Win8 / Server2012 / 2012R2에만 유효합니다 .2008R2 / Win7에서는 작동하지 않습니다. 2008R2를 테스트했지만 동일하지 않습니다. 죄송 해요.
Ryan Ries

반대 의견에서 언급 한 것처럼 2012 년에 TLS 1.0을 제거하면 RDP가 RDP 보안 계층으로 다운 그레이드됩니다.
Jim B

나는 똑같은 일을했고 내 서버 (AWS)에 들어갈 수 없었습니다. 물리적 액세스없이 들어갈 수있는 방법을 알아낼 수 있었습니까?
토마스 페인

1
이 지원 문서 마이크로 소프트에 따르면 최근 TLS 1.1 및 1.2와 함께 작동하도록 SQL 2012 년과 2014 년을 패치 한 support.microsoft.com/en-us/kb/3052404
CarlR

1
이 기사에서 서버에 대한 RDP를 구체적으로 언급하지 않는 것 같습니다. 실제로 "이 업데이트는 TLS (Transport Layer Security) 프로토콜 버전 1.2에 대한 지원을 SQL Server 2014 및 SQL Server 용 Microsoft ODBC 드라이버 에 추가합니다."라고 언급합니다 .
k1DBLITZ

답변:


19

Microsoft는이 문제점에 대한 패치를 출시했습니다 2015 년 9 월 15 일

https://support.microsoft.com/en-us/kb/3080079를 참조 하십시오.


매우 도움을 주셔서 감사합니다. 이 업데이트를 설치 한 후 tsconfig.msc 화면에 TLS 1.1 또는 TLS 1.2의 표시가 나타나지 않습니다. TLS 1.2를 통한 RDP를 사용하여 서버에 연결하고 있음을 누구나 확인할 수 있습니까? 서버에서 초기 TLS 프로토콜을 비활성화하여 확인할 수 있다는 것을 알고 있습니다. 그러나 그것이 작동하지 않으면 RDP를 서버에 전혀 원격으로 사용할 수 없습니다.
Nirlep

"협상"옵션을 선택하면 TLS 1.2
Nirlep

1
schannel logging을 사용하여 어떤 버전이 사용 중인지 확인할 수 있습니다. 이 작업을 수행하는 방법에 대한 링크가 내 답변에 나와 있습니다.
CarlR

나는 그것이 오래된 스레드라는 것을 알고 있지만 ... 나는 오래된 Windows Server 2008 R2를 가지고 있습니다. KB3080079를 설치했으며 이제 TLS 1.0을 비활성화합니다. 그러나 RDP 서버 설정이 "협상"또는 "TLS"로 설정되어 있는지 확실하지 않습니다.
크리스 해링턴

15

TLS 1.0을 비활성화해야하는 PCI-DSS 3.1을 준수해야하므로 며칠 동안이 문제를 검토했습니다.

또한 주요 보안 문제인 RDP 보안 계층으로 돌아가고 싶지 않습니다.

마지막으로 RDP에서 TLS 1.1 및 TLS 1.2가 지원되는지 확인하는 문서를 찾았습니다. 이 문서는 SChannel 로깅RDP에 대한 매우 상세한 사양에 숨겨져 있습니다 .

Technet 또는 다른 Microsoft 사이트에는 주류 문서가 완전히 부족하므로 여기에 문서화하면 일부 사람들에게 도움이 될 것입니다.

제공된 링크에서 관련 추출 :

MSDN 링크에서 :

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

RDP 사양 PDF에서 :

"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"

따라서이 설명서에 따라 Windows Server 2008 R2에서 TLS 1.1 또는 1.2를 사용할 수 있다고 결론 지을 수 있습니다.

그러나 TLS 1.0이 비활성화되고 RDP 보안 옵션이 TLS 1.0을 요구하도록 설정된 경우 Windows 7 RDP 클라이언트 (버전 6.3.9600)에서는이 기능이 작동하지 않는 것으로 테스트되었습니다.

물론 이것은 2008R2에서 기본적으로 해제 된 TLS 1.1 및 1.2를 활성화하는 것입니다. 우연히 우리는 Nartac Software 의 매우 유용한 IIS Crypto Tool을 사용하여이 작업을 수행합니다 .

이 문제를 볼 때 SChannel 로깅을 활성화하면 세션을 열 때 발생하는 상황에 대한 자세한 내용을 볼 수 있습니다.

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLogging 키를 5로 변경하고 재부팅하여 SChannel 로깅 을 설정할 수 있습니다 .

이 작업이 완료되면 RDP 연결시 사용중인 TLS 버전을 보여주는 SChannel 이벤트를 관찰 할 수 있습니다. 로깅이 활성화되면 RDP 클라이언트가 TLS 1.0이 비활성화 된 Windows 2008 R2에서 연결을 시도 할 때 SChannel 오류를 관찰 할 수 있습니다.

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

또한 Windows Server 2012 및 2012 R2에서 TLS 1.0 비활성화를 테스트했으며 Windows 7 RDP 클라이언트를 사용하여 완벽하게 작동하는지 확인할 수 있습니다. SChannel 로그 항목은 사용중인 TLS 1.2를 보여줍니다.

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

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

나는 이것이 이것에 대한 설명을 찾고있는 누군가를 돕기를 바랍니다.

Windows Server 2008 R2에서 RDP가 TLS 1.1 및 TLS 1.2에서 작동하도록하는 방법을 계속 찾을 것입니다.

업데이트 : 2015-AUG-05

재현 단계를 포함하여 Microsoft 지원을 통해 Server 2008 R2와 작동하지 않는 RDP 문제가 제기되었습니다.

몇 주 앞뒤로 우리는 마침내 지원 팀으로부터 전화를 받아 실제로 그것을 재현 할 수 있다는 사실을 인정했으며 이제 버그로 분류되었습니다. 업데이트 패치는 2015 년 10 월에 예정된 시점에 릴리스 될 예정입니다. KB 기사 나 기타 세부 정보가 제공되는 즉시이 게시물에 추가하겠습니다.

패치가 릴리스되면 2016 년 6 월 마감일 전에 Windows Server 2008 R2에 갇힌 사람들은 적어도이 문제를 해결할 수 있기를 바랍니다.

업데이트 : 2015 년 9 월 19 일

Microsoft는 마침내 여기 에 대한 kb 지원 기사를 발표했으며 정상적으로 작동하는지 확인할 수 있습니다.


마지막 업데이트는 "Windows 7 및 Windows 2012 r2를 시도했지만 작동하지 않고 여전히 TLS1을 사용하여 연결됩니다"라고 표시합니다. 이것을 작동시킬 수 있었습니까?
Doug S

다른 사람이 그 의견을 넣었습니다. 지금 TLS1.2 이상에서 잘 작동하므로 제거했습니다.
CarlR

흠. 이러한 변경 / 업데이트 및 내가 찾을 수있는 다른 모든 것들이 있어도 작동하지 못했습니다.
Doug S

SChannel 로그는 시스템 로그에서 찾을 수 있습니다.
Ivan Chau

8

문서에서 권장하는대로 "IPsec 터널을 먼저 설정 한 다음 보안 터널 내에서 SSL을 통해 데이터를 전송하십시오"와 같이 IPsec을 대신 사용하십시오.

RDP에 대해 TLS를 구성하는 것보다이 작업을 수행하는 주된 이유는 방화벽 정책이 규정 준수에 대해 쉽게 감사되고 (다수의 레지스트리 변경이 준수되는 것을 증명 함) IPsec이 창에서 구성하기가 매우 쉽기 때문입니다.

tls 1.0이 포함 된 전체 제품군 B 준수 IPSEC가 필요한 경우 적절한 인증서 길이에 적용 할 수있는 유일한 방법입니다


SSH를 통한 터널링도 언급 할 수있는 옵션입니다. (물론 Windows 용 SSH 서버 소프트웨어가 필요합니다.)
Chris W. Rea

IPsec은 SSH가 아닙니다
Jim B

3
맞습니다. 나는 그것들이 같다는 것을 의미하지는 않았습니다. 오히려 SSH는 서버에 대한 보안 터널을 설정하기위한 대체 방법입니다.
Chris W. Rea

@JimB 죄송합니다. 당신이 옳았습니다.
Ryan Ries

1
@ RyanRies Np, 나는 12 명의 다른 사람들이 어떻게 작동했는지 알지 못하고 어떻게 투표 할 것인지 아직도 머리를 긁적입니다.
Jim B

8

이것은 질문에 대한 대답이 아니라 하위 질문 "물리적 액세스없이 TLS 1.0을 비활성화 한 가상 머신에 대한 원격 액세스를 어떻게 복원합니까?"에 대한 것입니다.

IISCrypto를 사용하여 TLS 1.0을 비활성화했습니다. TLS로 설정된 경우 RDP가 작동을 중지한다는 부작용에 대한 유용한 경고가 표시되었습니다. 그래서 체크인했습니다.

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

보안 수준이 "협상"으로 설정되었습니다. TLS를 사용할 수없는 경우 RDP 보안으로 정상적으로 저하 될 수 있음을 의미한다고 가정했습니다.

그러나 아닙니다. 협상은 그런 식으로 작동하지 않습니다. TLS 1.0을 비활성화하기 전에 보안 수준을 협상이 아닌 RDP 보안으로 설정해야합니다.

그래서 AWS 인스턴스에 원격으로 연결할 수 없었습니다!

다시 연결하기 위해 다른 AWS 인스턴스를 사용했습니다.

  1. 해당 컴퓨터에서 "잃어버린"컴퓨터로 방화벽을 연결할 수 있도록 SecurityGroup을 업데이트했습니다.
  2. 관리자와 비밀번호로 DOS에서 관리 네트워크 공유를 열었습니다.

net use \\lost_machine_ip\c$

  1. 그런 다음 Regedit를 열고 파일 메뉴에서 "네트워크 레지스트리 연결"을 선택하고 "손실 된"서버의 IP를 입력하십시오. 원격 서버 레지스트리가 표시되어야합니다. 이동 :

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

SecurityLayer을 0으로 설정하십시오 (0은 RDP 보안).

그러면 원격 연결이 가능하며 IISCrypto에서 필요한 경우 TLS 1.0을 다시 활성화 할 수 있습니다.


고마워, 이것은 서버를 다시 만드는 많은 작업을 저장했습니다. 컴퓨터 간 연결을 허용하기 위해 보안 그룹을 어떻게 변경했는지 잘 모르겠습니다. "손실 된"컴퓨터에 대한 모든 액세스 권한을 두 번째 컴퓨터의 IP 주소로 열었습니다. 더 좋은 방법이 있습니까?
Gullbyrd

@Gullbyrd 또는 ALL TCP를 두 시스템이 속한 보안 그룹으로 설정하십시오. 같은 일을합니다.
Dave Beer

3

Windows 7 컴퓨터 및 Windows Server 2008 R2 서버에 RDP 8.0을 설치 한 다음 로컬 컴퓨터 정책 또는 그룹 정책에서 RDP 8.0을 사용하도록 설정해야합니다.

다음은 RDP 8.0의 Microsoft KB입니다. https://support.microsoft.com/en-us/kb/2592687

이 작업이 완료되면이 기술 문서에 설명 된대로 레지스트리를 편집하여 컴퓨터 및 서버에서 TLS 1.0을 비활성화 할 수 있어야합니다. https://technet.microsoft.com/en-us/library/dn786418.aspx

RDP 8.0을 설치 한 후에는 RDP 8.1을 설치할 수도 있지만 RDP 8.1을 설치하기 전에 RDP 8.0을 설치해야합니다. RDP 8.0에는 클라이언트 및 서버 쪽 프로토콜 구성 요소가 모두 포함되어 있지만 RDP 8.1에는 클라이언트 만 포함되어 있습니다. RDP 8.1의 Microsoft KB는 KB2830477입니다.

Windows 7 워크 스테이션 중 하나에서 이러한 변경을 수행하고 "원격 (RDP) 연결에 특정 보안 계층을 사용해야 함"그룹 정책 설정을 사용하고 "SSL (TLS 1.0)"로 설정하여 RDP 연결을 테스트했습니다. RDP 암호화로 대체되지 않습니다.

2015 년 6 월 19 일 업데이트 :

마침내 Windows Server 2008 R2 서버 중 하나에서이를 테스트 할 기회가 생겼으며 서버에 대한 RDP 연결이 확실히 끊어졌습니다. RDP 8.0 서버 측 구성 요소는 Windows 7 컴퓨터에만 설치되고 Windows Server 2008 R2 서버에는 설치되지 않는 것 같습니다.


참조 된 기술 자료 문서가 현재 작동하지 않지만 (리디렉션 루프) Google 캐시 버전을 사용하여 내용을 볼 수 있습니다. 이 기사에서 여전히 TLS 1.1 또는 1.2 지원에 대한 언급이 전혀 없다는 사실에 흥미가 있지만 이것이 누군가 가이 질문을 보는 주된 이유라고 생각합니다! 또한 Remote Destop users 그룹에 특별히 추가하지 않으면 로컬 관리자를 포함하여 더 이상 로그인 할 수없는 많은 경고가 있습니다. 당신이 이것을 시도하고 있는지주의하십시오.
CarlR

2008 서버에 연결하려고 할 때 서버에서 UDP 포트 3389를 열었습니까?
Elvar

서버 2008 R2 서버에서 Windows 방화벽을 일시적으로 완전히 비활성화하기까지했지만 서버에서 TLS 1.0이 비활성화 된 RDP를 사용하여 여전히 방화벽에 연결할 수 없습니다.
Kenny R

3

Server 2012 R2에서 RemoteApp를 중단하지 않고 TLS 1.0을 비활성화하는 방법에 게시 되었지만 해당 링크를 모니터링하지 않을 수있는 사용자를 위해 여기에 다시 게시하는 경우 :

거의 1 년 후, 마침내 RDP와 원격 데스크톱 서비스 연결을 끊고 RemoteApp을 시작하지 않고도 TLS 1.0 / 1.1을 비활성화하는 효과적인 솔루션을 찾았습니다.

IISCrypto를 실행하고 TLS 1.0, TLS 1.1 및 모든 잘못된 암호를 비활성화하십시오.

게이트웨이 역할을 실행하는 원격 데스크톱 서비스 서버에서 로컬 보안 정책을 열고 보안 옵션-시스템 암호화 : 암호화, 해싱 및 서명에 FIPS 호환 알고리즘 사용으로 이동하십시오. 보안 설정을 사용으로 변경하십시오. 변경 사항을 적용하려면 재부팅하십시오.

경우에 따라 (특히 Server 2012 R2에서 자체 서명 된 인증서를 사용하는 경우) 보안 정책 옵션 네트워크 보안 : LAN 관리자 인증 수준을 NTLMv2 응답 만 보내도록 설정해야 할 수도 있습니다.


2

다른 사람이 정보를 찾고 있다면 이것에 대한 업데이트입니다. 내 Windows 7 64 비트 상자의 경우 KB2574819 (첫 번째) 및 KB2592687 (두 번째)을 설치해야 Windows 7에 2 개의 pkg이 설치되기 전에 SP1이 설치되어 있어야합니다. SP1을 설치하는 데 문제가있는 경우 먼저 KB958830을 제거한 다음 SP1을 설치해야합니다.

Windows Server 2008 R2 박스의 경우 KB3080079를 설치해야했습니다. 이 작업을 수행하고 안전한 통신을위한 모든 적절한 설정을하면 TLS 1.2를 사용하게됩니다. Wireshark를 사용하여 두 상자 사이의 통신 캡처를 수행하여 확인할 수 있습니다.



0

하나의 케이스는 기존의 답변에 포함되지 : 윈도우 게이트웨이에 연결하고 게이트웨이도 적용 후 TLS 1.0을 지원하지 않는 경우 실패 할 때 여전히 TLS 1.0을 사용하는 것 RDP 게이트웨이를 통해 연결하는 7 클라이언트 KB3080079를 , 이 TechNet 포럼에 스레드에서 관찰 .

RDP 게이트웨이를 통해 연결하는 데 TLS 1.2를 사용하려면 KB3140245 가 설치되어 있는지 확인 하고 다음 레지스트리 키를 추가하십시오 ( .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에 설명 된 대로WINHTTP_OPTION_SECURE_PROTOCOLS 기본적으로 TLS 1.2 (및 TLS 1.2 만)를 사용하도록 재정의 됩니다. 따라서 RDP 클라이언트 이상에 영향을 미칩니다.

(참고 : 이전 버전과의 호환성을 원할 경우 각각 TLS 1.1 및 1.0 dword:00000800으로 변경 dword:00000A00하거나 dword:00000A80포함 하도록 변경할 수 있습니다 )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.