IronRDP icon indicating copy to clipboard operation
IronRDP copied to clipboard

MS-TSGU (Microsoft RD Gateway) support

Open steffengy opened this issue 8 months ago • 3 comments

Support MS-TSGU protocol so IronRDP can connect through Microsoft RD Gateway. I have a basic working starter at https://github.com/steffengy/IronRDP/tree/mstsgu which I might submit a PR at some point if its in a more advanced state.

steffengy avatar Mar 23 '25 21:03 steffengy

wow, you already have a minimally functional implementation? This is impressive! 😀 We're definitely looking forward to the pull request when it is ready for review

awakecoding avatar Mar 23 '25 21:03 awakecoding

@awakecoding Yes the state there works, e.g. it supports enough to take ironrdp-client to connect through a MS RD Gateway and have a working connection atleast for the few minutes I tested. One thing I noticed and confused me quite a bit initially is that apparently rustls doesnt work against a server 2012 R2 I tested against behind the gateway but server 2019 did work. native-tls worked with all - maybe difference in supported cipher suites. Not sure if you're aware of something there.

steffengy avatar Mar 24 '25 17:03 steffengy

Yes, we are aware of this limitation. As you suspect, it’s a difference in supported cipher suites. Supporting unsecure cipher suites is a non-goal for rustls, although it could be possible to add support for that now that the crypto provider is plug-able. Windows Server 2012 R2 does not come with any cipher suite supported by rustls - aws-lc / ring.

We documented this in the README.md file of another project: https://github.com/Devolutions/devolutions-gateway/?tab=readme-ov-file#troubleshooting

For older systems, enabling the native-tls feature is the only solution. We support native-tls as a alternate TLS backend in IronRDP, but this was not tested recently as far as I’m aware.

CBenoit avatar Mar 24 '25 17:03 CBenoit