원격 터미널 서비스는 로컬에서 원격 서버에 접속해서 관리하기 위한 유용한 도구이다. 하지만, 디폴트 패스워드를 설정하거나 취약한 패스워드가 설정되어 있으면 관리자 이외의 사용자(공격자)가 해당 서버에 접근하여 중요한 정보를 획득할 수 있다.


따라서, 원격 서버를 관리할 필요가 있다면 접근제어를 실시하고, 클라이언트에서 최대로 지원 가능한 키로 암호화를 해야한다. 만약, 원격 터미널 서비스가 불필요하다면 해당 서비스를 비활성화해야 한다.


원격 터미널 서비스 이용 시 클라이언트 연결 암호화 수준 설정이 있다. 이 설정은 최신 윈도우 운영체제 기준으로 낮은 수준, 높은 수준, 클라이언트 호환 가능 수준 총 3가지 설정 값이 존재한다.


낮은 수준은 클라이언트에서 서버로 전송되는 모든 데이터만 클라이언트에서 지원하는 최대 56비트 키 강도를 기반으로 암호화하여 적용한다.


클라이언트에서 서버로 전송되는 데이터만 암호화를 하고, 서버에서 클라이언트로 보낸 데이터를 암호화하지 않으므로 중요 데이터가 노출될 수 있으므로 권고 사항은 아니다.


클라이언트 호환 가능 수준은 클라이언트와 서버 간의 받은 모든 데이터는 클라이언트에서 지원하는 최대키 강도로 암호화하여 적용한다.


클라이언트에서 서버로 전송되는 데이터와 서버에서 클라이언트로 전송되는 데이터 모두가 암호화되므로 권고 사항이다.

높은 수준은 클라이언트와 서버 간의 받은 모든 데이터는 서버에서 지원하는 최대키 강도로 암호화하여 적용한다.


낮은 수준과 클라이언트 호환 가능 수준에 비하면 제일 강력한 암호화이지만 암호화 수준을 지원하지 않는 클라이언트는 연결할 수 없다.


윈도우 서버 버전별 암호화 수준 설정 위치는 다음과 같다.

윈도우 서버 2003 : 시작 > 실행 > tscc.msc > 서비스 선택 > 속성

윈도우 서버 2008 : 시작 > 관리 도구 > 터미널 서비스 > 터미널 서비스 구성 > RDP-Tcp 속성

윈도우 서버 2012 이상 : 시작 > 실행 > gpedit.msc > 로컬 컴퓨터 정책 > 컴퓨터 구성 > 관리 템플릿 > 모든 설정 > 클라이언트 연결 암호화 수준 설정



터미널 서비스 암호화 수준이 클라이언트 호환 가능 수준 또는 높은 수준으로 설정되어 있으면 양호로 판단하고, 낮은 수준으로 설정되어 있으면 취약으로 판단한다.


reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp" | find /i "minencryptionlevel" | find "2" > nul


if %ERRORLEVEL% EQU 0 (
echo 양호 >> RES.txt 2>&1
) else (
echo 터미널 서비스 암호화 수준 설정이 취약하게 설정되어 있음 >> RES.txt 2>&1
)


▶ 윈도우 시작 레지스트리 (자동실행 조작)

▶ Windows 화면보호기 레지스트리

▶ 윈도우 웹서버 IIS 보안

▶ 시스템 검사 도구 (Hijack Hunter)

  • 카카오톡-공유
  • 네이버-블로그-공유
  • 네이버-밴드-공유
  • 페이스북-공유
  • 트위터-공유
  • 카카오스토리-공유