Windows NT, 2000, 2003, 2008, 2012, 2016, 2019, 2022
양호기준
원격 데스크톱 서비스를 사용하지 않거나, 사용 시 암호화 수준을 ‘클라이언트와 호환 가능(중간)’ 이상으로 설정한 경우
취약기준
원격 데스크톱 서비스를 사용하고 암호화 수준이 ‘낮음’으로 설정된 경우
조치방법
원격 데스크톱 서비스의 가동을 ‘중지’ 및 ‘사용 안 함’ 설정을 하거나, 부득이하게 사용할 경우 암호화 수준 설정 적용
상세 설명
1. 판단 기준
기본 판단 기준
양호: RDP 암호화 수준이 ‘클라이언트 호환 가능’ 또는 ‘높음’, ‘FIPS 호환’으로 설정된 경우
취약: RDP 암호화 수준이 ‘낮음’으로 설정된 경우
경계 케이스 (Edge Case) 처리 방법
상황
판단 기준
설명
RDP 서비스 비활성화
양호
암호화 필요 없음
MinEncryptionLevel = 2
양호
클라이언트 호환 가능 (128비트)
MinEncryptionLevel = 3
양호
높음 수준 암호화
MinEncryptionLevel = 4
양호
FIPS 140-1 호환
MinEncryptionLevel = 1
취약
낮음 수준 (56비트)
구성되지 않음
주의
기본값 적용 확인 필요
레거시 클라이언트 연결 필요
주의
호환성 고려 필요
권장 설정값
환경
항목
권장 설정
비고
레지스트리
MinEncryptionLevel
2 (클라이언트 호환 가능)
128비트 암호화
레지스트리
MinEncryptionLevel
3 (높음)
최대 256비트
레지스트리
MinEncryptionLevel
4 (FIPS 호환)
FIPS 140-1 준수
그룹 정책
암호화 수준
클라이언트 호환 가능
대부분 환경 적합
그룹 정책
암호화 수준
높음
최신 클라이언트만
2. 점검 방법
Windows RDP 서비스 점검
RDP 통신이 암호화되지 않거나 낮은 수준으로 암호화되면, 스니핑 공격을 통해 세션 데이터가 노출될 수 있습니다.
1
2
# RDP 암호화 수준 레지스트리 확인Get-ItemProperty"HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"-Name"MinEncryptionLevel"
양호 출력 예시:
1
2
3
4
5
MinEncryptionLevel : 2
또는
MinEncryptionLevel : 3
또는
MinEncryptionLevel : 4
취약 출력 예시:
1
MinEncryptionLevel : 1
1
2
3
4
# 그룹 정책 확인 (GUI)
gpedit.msc
# 컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > 원격 데스크톱 서비스 > 원격 데스크톱 세션 호스트 > 보안
# "클라이언트 연결 암호화 수준 설정" 확인
1
2
# RDP 서비스 상태 확인Get-Service-Name"TermService"|Select-ObjectName,Status,StartType
3. 조치 방법
Windows 서버 설정
레지스트리로 암호화 수준 설정
1
2
3
4
5
6
7
8
# 클라이언트 호환 가능 (128비트) - 권장Set-ItemProperty-Path"HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"-Name"MinEncryptionLevel"-Value2-TypeDWord# 높음 수준Set-ItemProperty-Path"HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"-Name"MinEncryptionLevel"-Value3-TypeDWord# FIPS 호환Set-ItemProperty-Path"HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"-Name"MinEncryptionLevel"-Value4-TypeDWord
그룹 정책으로 설정 (GUI)
1
2
3
4
5
6
1. 시작 > 실행 > gpedit.msc
2. 컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > 원격 데스크톱 서비스 > 원격 데스크톱 세션 호스트 > 보안
3. "클라이언트 연결 암호화 수준 설정" 더블클릭
4. [사용] 선택
5. 암호화 수준: "클라이언트 호환 가능" 또는 "높음" 선택
6. [확인]
RDP 서비스 사용하지 않는 경우 비활성화
1
2
3
4
5
6
7
8
# RDP 서비스 중지Stop-Service-Name"TermService"-Force# 시작 유형 변경 (사용 안 함)Set-Service-Name"TermService"-StartupTypeDisabled# 방화벽 RDP 규칙 차단Disable-NetFirewallRule-DisplayGroup"원격 데스크톱"
서비스 재시작
1
2
# RDP 서비스 재시작 (설정 적용을 위해)Restart-Service-Name"TermService"