다음을 통해 공유


Windows Admin Center 게이트웨이에 대한 WebSocket 유효성 검사 사용자 지정

WebSocket 액세스를 보호하기 위해 WebSocket 연결은 이제 브라우저에서 원본 상태의 유효성을 검사하므로 외부 애플리케이션에서 게이트웨이에 정의된 WebSocket API에 액세스할 수 없습니다.

유효성 검사 사용자 지정

유효성 검사를 조정하여 다양한 조건을 사용자 지정할 수 있습니다.

사용자는 Windows Admin Center 레지스트리 값인 HKLM\Software\Microsoft\ServerManagementGateway\WebSocketValidationOverride에서 예외적인 원본 호스트 이름 및 원본 포트를 지정하도록 WebSocket 재정의 설정을 구성할 수 있습니다. 여기에는 '*.mydomain.mycompany.net'과 같은 와일드카드 이름이 포함되거나 모두 허용하기 위해 '*'만 포함됩니다. 와일드카드는 '*.'와 같은 단일 형식으로 지정해야 하며 'something*something'과 같은 복잡한 문자열 일치 조건과 결합할 수 없습니다.

허용되는 형식의 예는 다음과 같습니다.

  • 항상 현재 TLS 인증서에 정의된 원본 호스트를 허용합니다. (주체 이름, 대체 DNS 이름)
  • 항상 Windows Admin Center에 구성된 원본 포트를 허용합니다.
  • '*' - 모든 원본 호스트 및 원본 포트 허용
  • '*:9876' - 모든 원본 호스트 및 9876 원본 포트 허용
  • ':9876' - 9876 원본 포트 허용
  • '*.my.domain.com' - <any.any.any...>.my.domain.com 원본 호스트 허용
  • '*.my.domain.com:9876' - <any.any.any...>.my.domain.com 원본 호스트 및 9876 원본 포트 허용

방지 논리

게이트웨이는 사용자 브라우저에 대한 세션 쿠키(WAC-SESSION)를 추가합니다. 항상 브라우저 세션과 사용자 이름을 연결합니다. 다른 사용자가 동일한 브라우저 세션을 사용하지 못하도록 방지합니다.

  • UI에서 WebSocket 연결을 시작하면 브라우저에서 세션 쿠키를 게이트웨이에 다시 보냅니다.
  • 게이트웨이에서 항상 세션 쿠키와 일치하는 인증된 사용자 이름의 유효성을 검사합니다.

게이트웨이는 원본 Windows Admin Center 사이트가 로드된 엔드포인트 URL인 원본 헤더를 찾습니다.

  • 게이트웨이에서 DNS 호스트 이름 목록을 포함하는 현재 SSL 인증서 설정에 대해 원본 호스트원본 포트의 유효성을 검사했습니다. 그러면 UI 코드가 예상되는 DNS 이름 사이트 및 포트에서 로드되었음을 알 수 있습니다.

RDP 향상

RDP TCP 연결에서 게이트웨이는 3389 포트(RDP) 및 2179 포트(VM 연결)만 사용할 수 있으므로 TCP 전달 기능은 다른 용도로 사용할 수 없습니다.

가능성 있는 부작용

사용자가 IP 주소 또는 SSL 인증서에 설명되지 않은 항목을 통해 Windows Admin Center를 사용하는 경우 신뢰할 수 없으므로 WebSocket에 액세스할 수 없습니다. 지원해야 하는 경우 IP 주소를 설정하도록 HKLM\Software\Microsoft\ServerManagementGateway\WebSocketValidationOverride 레지스트리 값을 수정하거나 유효성 검사를 무시하도록 '*'만 지정합니다.