카테고리 없음

원격 데스크탑(RDP, RDS) 인증서 구성

virbr0.net 2024. 7. 31. 23:39

윈도우 서버를 운영하다보면 대부분 서버에 원격 데스크탑 (Remote Desktop) 연결을 통해 접속 할 것입니다.

DNS에 해당 서버에 맞는 IP를 연결해도, 실제로 연결하려면 아래와 같은 경고창이 한번 뜰 것입니다.

 

RDP 접속 시 인증서 알람

 

해당 경고를 무시하고 접속해도 해당 연결은 암호화 된 통신을 하므로 무시해도 무방하나,

서버에 인증 된 기관에서 발급한 유효한 TLS 인증서가 있다면 해당 인증서를 연결함으로써 해당 경고가 안뜨도록 할 수 있습니다.

 

우선 사전 조건으로 컴퓨터에 사용하려는 개인용 인증키 설치가 필요합니다.

개인용 인증키 설치가 완료되었다면, 인증서 적용 방법은 2가지 방법이 있습니다.

 

방법 1: WMI(Windows Management Instrumentation) 스크립트 사용

 

1. 시작 > 실행 > certlm.msc 입력 후 실행 > Personal > Certificates 이동 후

    적용하려는 인증서 더블 클릭 후 Details 탭으로 이동하여 Thumbprint 필드 까지 스크롤 후 값 확인 합니다.

인증서 지문 값 확인, 위 예에서는 "47faa7cb8702269c9dbb08aeccfe28f8aa0d4635"

 

2. 해당 문자열을 메모장과 같은 곳으로 복사합니다.

   경우에 따라, 아래와 같이 공백이 있는 경우가 있는데, 해당 공백을 제거해 줍니다.

 

경우에 따라 정상적으로 제거되지 않을 수 있으니, 아래와 같이 명령 프롬프트에 복사하여, 유효성을 검사합니다.

 

 

3. 명령 프롬프트에서 다음 명령어를 입력합니다. SSLCertificateSHA1Hash= 이후의 문자열은 2번과정에서 유효성을 검증한 값을 붙여 넣습니다.

wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="THUMBPRINT"

 

아래는 위의 값을 복사해 실행 한 예제 입니다.

 

 

방법 2: 레지스트리 편집기 사용

1. 아래와 같이 레지스트리 값을 만듭니다.

  • 레지스트리 경로:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  • 값 이름: SSLCertificateSHA1Hash
  • 값 형식: REG_BINARY
  • 값 데이터: 인증서 지문

reg 파일 등을 이용해 입력 할 경우, 아래와 같이 쉼표(,)로 구분해 작성해야 합니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"SSLCertificateSHA1Hash"=hex:47,fa,a7,cb,87,02,26,9c,9d,bb,08,ae,cc,fe,28,f8,aa,0d,46,35

 

아래와 같이 설정 됩니다.

 

RDS는 NETWORK SERVICE 계정으로 실행됩니다. 따라서 NETWORK SERVICE 계정에 키 파일을 읽을 수 있는 권한을 추가해야 합니다.

 

2. 시작 > 실행 > certlm.msc 입력 후 실행 > Personal > Certificates 이동 후 적용하려는 인증서에서 우클릭 후 All Tasks > Manage Private Keys... 클릭

3. Add 클릭 후 NETWORK SERVICE 을 입력 후 확인하여 추가 후, 읽기 권한 허용 클릭 후 확인 버튼을 클립합니다.

 

 

 

이후 다시 접속 시 인증서 관련 알람이 뜨지 않습니다.

 

[참조]

원격 데스크톱 수신기 인증서 구성, https://learn.microsoft.com/en-us/troubleshoot/windows-server/remote/remote-desktop-listener-certificate-configurations