공개 원격 데스크톱 서버를 보호하는 방법은 무엇입니까?


16

네트워크 외부에서 액세스 할 수 있도록 원격 데스크톱 서버 (터미널 서비스)를 공개해야합니다. 현재는 네트워크 내부에서만 액세스 할 수 있습니다.

방화벽을 열고 포트를 전달하는 것이 쉽다는 것을 알고 있습니다.

그러나 머신 자체를 어떻게 보호하고 이에 대한 모범 사례는 무엇입니까? 내 관심사는 해커가 침입 할 수 있다는 것입니다.

모범 사례 지침 / 권장 사항은 대단히 감사하겠습니다.


편집하다:

찾은 제품에 대한 질문 :

IP, MAC 주소, 컴퓨터 이름 등으로 들어오는 RDP 연결 필터링

누구든지 이것의 보안에 대해 언급 할 수 있습니까? 컴퓨터 이름 / Mac으로 액세스를 제한하기 위해 사용할 수도 있습니까? 다른 사람이 사용 했습니까?


1
이 시스템과이 시스템에 대한 RDP 연결을 보호하는 방법뿐만 아니라 네트워크가 손상 될 경우 나머지 네트워크에 대한 위험을 줄이는 방법을 묻는 것 같습니다. 맞습니까?
dunxd

네, 우리의 크기가 작기 때문에 하나의 RDP 서버 만 있으며 내부 사용자를위한 전체 데스크톱 액세스 / 네트워크 리소스가 필요합니다.
me2011

답변:


14

이것은 당신이 찾고있는 것 이상일 수도 있지만 VPN을 사용하지 않는 원격 사용자를 위해 RDP를 사용하는 방법은 다음과 같습니다.

최근 Windows 2008의 역할 인 원격 데스크톱 서비스와 함께 RD 게이트웨이 관리자를 사용하기 시작했습니다. TMG 서버를 통해 사용자 컴퓨터로 직접 이동하도록 설정했습니다. 위에서 언급 한대로 NLA를 사용합니다. 연결하는 사용자는 올바른 AD 그룹의 구성원이어야하고 올바른 로컬 그룹의 구성원이어야 액세스가 가능해야합니다. 설정 방법에 따라 기본적으로 mstsc를 열고 RD 게이트웨이에 대한 프록시 설정을 입력하는 웹 페이지를 통해 연결하거나 열 때마다 이동하려고 시도하도록 시스템에서 수동으로 설정을 설정할 수 있습니다 그 프록시를 통해. 지금까지는 꽤 잘 작동했으며 안전합니다.


3
이것을 위해 +1. 또한 RD 게이트웨이를 큰 성공으로 사용하므로 포트 443 만 인터넷에 노출하면 작동합니다. RD 게이트웨이는 몇 주 전에 RDP를 위협 한 MS12-020 버그에 취약하지 않았습니다.
Ryan Ries

+1 직접 RDP보다 RD 게이트웨이를 공격하는 봇 수가 훨씬 적습니다.
Grant

8

최근의 역사에서 알 수 있듯이 프로토콜 노출에 내재 된 위험이 있습니다. 그러나 시스템을 보호하기 위해 수행 할 수있는 몇 가지 단계가 있습니다.

  • 네트워크 수준 인증을 시행하십시오.
  • 연결 암호화를 시행하십시오.
  • 터미널 서비스를 통해 로그인 할 수있는 사용자를 최소한 Administrator으로 제한 하고 기본 도메인 계정 과 같은 "특별한"계정 또는 다른 높은 권한 계정을 허용하지 마십시오 .
  • 로그인이 허용 된 계정에서 암호가 강력한 지 확인하십시오. 현재 몇 명의 사용자와 정책이 보이는지에 달려 있지만 해시를 덤프하고 크래킹을 시도하거나 암호 길이 제한을 높이거나 단순히 사용자를 교육하는 것은 좋은 접근 방식.

6

원격 데스크톱 게이트웨이 서비스를 사용하는 것이 좋습니다. 누가 어디서 무엇에 연결할 수 있는지에 대한 정책을 시행 할 수있는 장소를 제공합니다. 로깅하기에 좋은 위치를 제공하므로 팜에있는 개별 서버의 이벤트 로그를 검사하지 않고 누가 로그인을 시도하고 있는지 확인할 수 있습니다.

아직 수행하지 않은 경우 계정 잠금 정책이 매우 강력하게 설정되어 있는지 확인하십시오. NLA와 게이트웨이를 사용하는 RDP에서도 사람들에게 무차별 암호를 시도 할 수 있습니다. 강력한 잠금 정책으로 인해 무차별 대입 시도가 성공하기가 매우 어렵습니다.

시스템에 유효한 SSL 인증서를 설정하면 누군가 MITM 공격을 시도하는 경우 클라이언트가 최종 사용자에게 알립니다.


3

그러나이 방법은 안전하지 않지만 보안을 강화할 수있는 몇 가지 방법이 있습니다.

해당 서버에서 인터넷에 액세스 할 수 없습니다. 보다 심각한 많은 악성 프로그램이 시스템을 손상시킬 때 명령 및 제어 서버와 다시 통신을 시도합니다. 기본적으로 아웃 바운드 액세스를 허용하지 않도록 방화벽 액세스 규칙을 구성하면 내부 / 알려진 네트워크 및 RFC 1928 서브넷에만 아웃 바운드 액세스를 허용하는 규칙으로 위험을 완화 할 수 있습니다.

스마트 카드 또는 다른 유형의 2 단계 인증을 사용하십시오. 이는 일반적으로 비용이 많이 들고 대규모 조직에서 주로 발견되지만 옵션이 개선되고 있습니다 (PhoneFactor가 떠 오릅니다). 계정 수준에서 스마트 카드를 구성하는 옵션으로 서버별로 스마트 카드를 요구할 수 있습니다.

경계 네트워크를 구성하고 경계에 원격 데스크톱 서버를 배치 한 다음 저렴한 VPN을 사용하여 액세스를 제공하십시오. 하마치가 그 예입니다. 주변 네트워크에서 인터넷 액세스를 허용하지 않는 것도 좋은 방법입니다.

가능하면 전체 데스크톱을 제공하지 말고 필요한 응용 프로그램을 게시하십시오. 누군가 단일 응용 프로그램에만 액세스해야하는 경우 응용 프로그램을 닫을 때 로그 오프를 강제 할 수있는 간단한 래퍼 셸일 수있는 "초기 프로그램"을 구성 할 수도 있습니다.


1

다음과 같은 조치를 제안합니다.

  1. 원격 데스크톱 연결에 사용되는 포트 변경
  2. 일반적인 사용자 이름을 사용하지 말고 더 복잡한 이름 지정 정책을 사용하십시오.
  3. 높은 비밀번호 요구 사항
  4. 외부에서 사용하지 않는 다른 포트를 모두 닫습니다 (인바운드).

선택 과목

  1. VPN (CISCO, Open VPN 등)을 사용하고 내부 IP를 사용하여 서버에 연결하십시오.
  2. 가능하면 스마트 카드 로그온을 사용하십시오.

서버가 아닌 방화벽의 포트를 변경하는 경향이 있습니다 (서버에서 포트를 수행하려면 레지스트리를 변경해야 함). 일반적으로 라우터에서 포트 포워드를 설정하는 것이 더 쉽고 더 안전합니다 (레지스트리를 건드리지 않음).
JohnThePro

Yap :), 나는 단지 어떤 사람들은 사용자 포트 포워딩에 대한 접근이나 지식이 없기 때문에 말했다. 필요한 경우가 아니면 레지스트리를 변경하지 않는 것이 좋지만 문제가 없었습니다. 발생할 수있는 유일한 문제는 이미 사용한 포트로 변경하는 것입니다.
Alex H

예, 전 세계에서 가장 큰 거래는 아니며 regedit를 아는 사람이라면 아마 조심해야 할만큼 똑똑 할 것입니다. 그러나 당신은 그것을 알 수 없습니다. :)
JohnThePro

1

포트 22 에서 WinSSHD 를 실행 한 다음 Tunnelier 클라이언트를 사용하여 터널을 만들고 한 번의 클릭으로 터널을 통해 터미널 서비스 세션을 자동으로 열 수 있습니다. 또한 파일 전송에 매우 유용한 보안 FTP 옵션을 제공합니다.


1

나는 이것들에 대해 ssh 포트 포워딩을 사용하며 사용자 레벨의 공개 키 기반 인증 만 허용합니다. 모든 사용자 개인 키도 암호화해야합니다. Windows Putty에서는이 작업을 잘 수행하고 미인은 사용자가 키를 쉽게로드 할 수 있도록합니다. 기본적으로 ssh가있는 Linux / BSD 서버를 실행하지 않으면 Cygwin에서 OpenSSH를 사용하여이를 수행 할 수 있습니다.

SSH에서 포트 포워딩을 허용하면 기본적으로 원하는 사용자에게 내부 서버 / 포트가 열리므로 로컬 방화벽을 사용하여 사람들이 원치 않는 것을 차단하는 전용 원격 셸 서버를 사용하는 것이 좋습니다.


1

Bitvise SSH는 Windows 용 무료 무료 SSH입니다.

나는 일상적으로 사용하는 것 이상을 위해 클라이언트에서 인터넷 게이트웨이 주변까지의 저렴한 SSL VPN 종료를 원할 것입니다 (예 : 상업용 신뢰).

RDP 보안에 대한 위의 게시물도 모범 사례이며 컴퓨터를 프리 로더와 공유하지 않으려면 항상 수행해야합니다.


0

실제로 모범 사례는 아니지만 몇 가지 임의의 생각 :

  • 시스템 업데이트 유지-자동 업데이트 허용, 수명이 다한 제품 사용 금지
  • 모든 시스템 계정에 길고 복잡한 비밀번호 사용
  • 나는 '모호함을 통한 보안'을 제안하기 위해 여기에 꾸짖을 것이지만, 당신이 다음과 같은 경우 아무런 해를 끼치 지 않을 것입니다.
    • 기본 3389 / tcp 포트를 26438 / tcp와 같은 다른 것으로 변경하십시오.
    • 잠재적 인 rdp 사용자가 먼저 일부 웹 페이지를 방문한 다음 서버로 rdp 할 수 있도록 방화벽 레벨에서 [가능한 경우] 포트 노킹을 추가 하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.