Computer >> 컴퓨터 >  >> 체계 >> Windows Server

신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

이 문서에서는 신뢰할 수 있는 SSL/TLS 인증서를 사용하여 Active Directory 도메인의 Windows 컴퓨터 또는 서버에 대한 RDP 연결을 보호하는 방법을 보여줍니다. 기본 자체 서명된 RDP 인증서 대신 신뢰할 수 있는 SSL 인증서를 사용합니다(자체 서명된 RDP 인증서를 사용하면 사용자는 호스트에 연결할 때 인증서를 신뢰할 수 없다는 경고를 받습니다). 이 예에서는 SSL/TLS 인증서를 자동으로 발급하고 원격 데스크톱 서비스에 바인딩하도록 인증 기관 및 그룹 정책의 사용자 지정 RDP 인증서 템플릿을 구성합니다.

원격 데스크톱 연결(RDP) 자체 서명 인증서 경고

기본적으로 RDP 세션을 보호하기 위해 Windows는 자체 서명된 인증서를 생성합니다. mstsc.exe 클라이언트를 사용하여 RDP/RDS 호스트에 처음 연결하는 동안 사용자에게 다음 경고가 표시됩니다.

The remote computer could not be authenticated due to problems with its security certificate. It may be unsafe to proceed.
Certificate error: The certificate is not from a trusted certifying authority.

계속 진행하고 RDP 연결을 설정하려면 사용자가 를 클릭해야 합니다. . RDP 인증서 경고가 매번 나타나지 않도록 "이 컴퓨터에 대한 연결을 다시 묻지 않음" 옵션을 선택할 수 있습니다.
신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

이 경우 RDP 인증서 지문은 CertHash에 저장됩니다. 클라이언트의 RDP 연결 기록이 있는 레지스트리 키 매개변수(HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers\ ). RDP 서버를 확인할 수 없다는 경고를 숨긴 경우 레지스트리에서 인증서 지문을 제거하여 설정을 재설정하십시오.

신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

자체 서명 인증서를 사용하여 연결을 설정하더라도 RDP 세션은 안전하고 트래픽은 암호화됩니다.

인증 기관(CA)에서 RDP 인증서 템플릿 생성

기업 인증 기관에서 발급한 신뢰할 수 있는 SSL/TLS 인증서를 사용하여 RDP 연결을 보호해 보겠습니다. 이 인증서를 사용하여 사용자는 연결할 때 RDP 서버를 인증할 수 있습니다. 회사 Microsoft 인증 기관이 이미 도메인에 배포되어 있다고 가정합니다. 이 경우 도메인의 모든 Windows 컴퓨터 및 서버에 대한 인증서의 자동 발급 및 연결을 구성할 수 있습니다.

CA에서 RDP/RDS 호스트에 대한 새로운 유형의 인증서 템플릿을 생성해야 합니다.

  1. 인증 기관 콘솔을 실행하고 인증서 템플릿 섹션으로 이동합니다.
  2. 컴퓨터 인증서 템플릿 복제(인증서 템플릿 -> 관리 -> 컴퓨터 -> 복제),
    신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호
  3. 일반 탭에서 새 인증서 템플릿의 이름 지정 – RDPTemplate . 템플릿 이름의 값이 필드는 템플릿 표시 이름과 일치합니다.
    신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호
  4. 호환성에서 탭에서 도메인에서 사용되는 최소 클라이언트 버전을 지정합니다(예:CA의 경우 Windows Server 2008 R2, 클라이언트의 경우 Windows 7). 따라서 더 강력한 암호화 알고리즘이 사용됩니다.
  5. 그런 다음 확장 프로그램의 애플리케이션 정책 섹션에서 탭에서 인증서의 사용 범위를 원격 데스크톱 인증으로 제한합니다. 전용(다음 개체 식별자 입력 — 1.3.6.1.4.1.311.54.1.2 ). 추가 -> 새로 만들기를 클릭하고 새 정책을 만들고 선택합니다.
    신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호
  6. 인증서 템플릿 설정(응용 프로그램 정책 확장)에서 원격 데스크톱 인증을 제외한 모든 정책을 제거합니다.; 신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호
  7. 도메인 컨트롤러에서 이 RDP 인증서 템플릿을 사용하려면 보안 탭에서 도메인 컨트롤러를 추가합니다. 그룹화하고 등록 활성화 및 자동 등록 옵션;
    신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호
  8. 인증서 템플릿 저장
  9. 그런 다음 인증 기관 mmc 스냅인에서 인증서 템플릿 폴더를 클릭하고 새로 만들기 ->를 선택합니다. 발급할 인증서 템플릿 -> 생성한 템플릿을 선택합니다(RDPTemplate );
    신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

그룹 정책을 사용하여 RDP SSL/TLS 인증서를 배포하는 방법

이제 구성된 템플릿에 따라 컴퓨터/서버에 RDP 인증서를 자동으로 할당하도록 도메인 GPO를 구성해야 합니다.

모든 도메인 컴퓨터가 회사 인증 기관을 신뢰한다고 가정합니다. 즉, 루트 인증서가 GPO를 사용하여 신뢰할 수 있는 루트 인증 기관에 추가되었습니다.
  1. 도메인 그룹 정책 관리 콘솔(gpmc.msc)을 열고 새 GPO 개체를 만들고 RDP/RDS 서버 또는 컴퓨터가 포함된 OU에 연결하여 RDP 연결을 보호하기 위해 TLS 인증서를 자동으로 발급합니다.
  2. 다음 GPO 섹션 컴퓨터 구성 -> 정책 -> 관리 템플릿 -> Windows 구성 요소 -> 원격 데스크톱 서비스 -> 원격 데스크톱 세션 호스트 -> 보안으로 이동합니다. 서버 인증 인증서 템플릿 활성화 수단. 이전에 만든 CA 템플릿의 이름을 지정합니다(RDPTemplate );
    신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호
  3. 그런 다음 동일한 GPO 섹션에서 원격(RDP) 연결에 특정 보안 계층 ​​사용 요구 를 활성화합니다. 정책 및 값 설정 SSL 그것을 위해; 신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호
  4. RDP 인증서를 자동으로 갱신하려면 GPO의 컴퓨터 구성 -> Windows 설정 -> 보안 설정 -> 공개 키 정책 섹션으로 이동하고 인증서 서비스 클라이언트 – 자동 등록 속성을 활성화합니다. 수단. "만료된 인증서 갱신, 보류 중인 인증서 업데이트 및 해지된 인증서 제거 확인 " 및 "인증서 템플릿을 사용하는 인증서 업데이트 "옵션; 신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호
  5. 클라이언트가 항상 RDP 서버 인증서를 확인하도록 하려면 클라이언트에 대한 인증 구성 =인증 실패 시 경고를 구성해야 합니다. 정책(컴퓨터 구성 -> 정책 -> 관리 템플릿 -> Windows 구성 요소 -> 원격 데스크톱 설정 -> 원격 데스크톱 연결 클라이언트),
  6. 필요한 경우 방화벽 정책을 사용하여 들어오는 RDP 포트 TCP/UDP 3389를 엽니다.
  7. 그런 다음 클라이언트 컴퓨터에서 그룹 정책 설정을 업데이트하고 컴퓨터 인증서 콘솔(Certlm.msc ) 그리고 CA에서 발급한 원격 데스크톱 인증 인증서가 개인 -> 인증서 섹션에 나타나는지 확인합니다.
새 그룹 정책 설정이 적용되지 않은 경우 gpresult 도구와 이 문서를 사용하여 진단하세요.

신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

새 RDP 인증서를 적용하려면 원격 데스크톱 서비스를 다시 시작하십시오.

Get-Service TermService -ComputerName mun-dc01| Restart-Service –force –verbose

그 후 RDP를 사용하여 서버에 연결할 때 인증서가 신뢰할 수 있는지 확인하는 요청이 표시되지 않습니다(요청을 보려면 FQDN 대신 해당 IP 주소를 사용하여 인증서가 발급된 서버에 연결). 보기를 클릭합니다. 인증서, 세부정보로 이동 탭을 누르고 지문의 값을 복사합니다. 필드.
신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

발급된 인증서에서 인증 기관 콘솔의 섹션에서 특정 Windows 서버/컴퓨터에 대해 RDPTemplate 인증서가 발급되었는지 확인할 수 있습니다. 인증서 지문도 확인하세요. 값:

신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

그런 다음 이 지문을 원격 데스크톱 서비스에서 사용하는 인증서 지문과 비교합니다. 레지스트리(HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations)에서 RDS 인증서 지문 값을 볼 수 있습니다. , TemplateCertificate 매개변수) 또는 다음 PowerShell 명령 사용:

Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1Hash
신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

그런 다음 Windows 호스트의 원격 데스크톱에 연결할 때 신뢰할 수 없는 RDP 인증서에 대한 경고가 표시되지 않습니다.

신뢰할 수 있는 TLS 인증서 지문으로 RDP 파일 서명

CA가 없지만 사용자가 RDP/RDS 호스트에 연결할 때 경고가 표시되지 않도록 하려면 사용자 컴퓨터의 신뢰할 수 있는 인증서에 인증서를 추가할 수 있습니다.

위에 설명된 대로 RDP 인증서 지문 값을 가져옵니다.

Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1Hash

이 지문을 사용하여 RDPSign.exe 로 .RDP 파일에 서명합니다. 도구:

rdpsign.exe /sha256 25A27B2947022CC11BAFF261234567DEB2ABC21 "C:\ps\mun-dc01.rdp"

그런 다음 이 지문을 GPO를 사용하는 사용자 컴퓨터의 신뢰할 수 있는 인증서에 추가합니다. 신뢰할 수 있는 .rdp 게시자를 나타내는 인증서의 SHA1 지문 지정에서 지문(세미콜론으로 구분)을 지정합니다. 컴퓨터 구성 -> 정책 -> 관리 템플릿 -> Windows 구성 요소 -> 원격 데스크톱 설정 -> 원격 데스크톱 연결 클라이언트의 정책

신뢰할 수 있는 SSL/TLS 인증서로 RDP 연결 보호

암호를 입력하지 않고 투명한 RDP 로그온을 구성하려면(RDP 싱글 사인온) 위임 기본 자격 증명 허용을 구성하십시오. 정책에 RDP/RDS 호스트 이름을 지정합니다(이를 수행하는 방법은 이 문서 참조).