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
레지스트리 값을 수정하거나 유효성 검사를 무시하도록 '*
'만 지정합니다.