Skip to content

fix(devolutions-gateway): kdc proxy: fake KDC target hostname#1856

Open
Pavlo Myroniuk (TheBestTvarynka) wants to merge 1 commit into
masterfrom
fix/kdc-proxy-krb-target-hostname
Open

fix(devolutions-gateway): kdc proxy: fake KDC target hostname#1856
Pavlo Myroniuk (TheBestTvarynka) wants to merge 1 commit into
masterfrom
fix/kdc-proxy-krb-target-hostname

Conversation

@TheBestTvarynka

@TheBestTvarynka Pavlo Myroniuk (TheBestTvarynka) commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Hi,

I fixed the target hostname for the fake KDC inside the KDC proxy. I tried to write the minimal possible solution.

The problem: during the credentials injection, the RDP client does the Kerberos authentication via a KDC proxy with a fake KDC. In that case, the target hostname (Kerberos service name for the TGS) must be a proxy hostname. But prior to this PR, the KDC proxy always configured the internal KDC to the real target machine hostname. This problem was introduced in #1768.

For example, my local configuration:

  • Devolutions-Gateway hostname: dgateway.tbt.com.
  • Target machine behind the proxy: WIN-956CQOSSJTF.tbt.com.

When I connect to the target machine using credentials injection, my FreeRDP command looks like this:

.\sdl-freerdp.exe /v:dgateway.tbt.com:8181 /u:fake_user /d:603077ae-b66b-4256-ae48-a458db5b90b0.jet /p:fake_password /sec:nla /log-level:TRACE /sspi-module:"<sspi.dll path>" /pcb:<token>

During the FreeRDP's NLA stage, it should perform Kerberos auth against dgateway.tbt.com (instead of WIN-956CQOSSJTF.tbt.com).

I hope I explained the problem well 😄.

@github-actions

Copy link
Copy Markdown

Let maintainers know that an action is required on their side

  • Add the label release-required Please cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module) when you request a maintainer to cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module)

  • Add the label release-blocker Follow-up is required before cutting a new release if a follow-up is required before cutting a new release

  • Add the label publish-required Please publish libraries (`Devolutions.Gateway.Utils`, OpenAPI clients, etc) when you request a maintainer to publish libraries (Devolutions.Gateway.Utils, OpenAPI clients, etc.)

  • Add the label publish-blocker Follow-up is required before publishing libraries if a follow-up is required before publishing libraries

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants