Skip to content

Commit db45549

Browse files
ranbelmaxvp
andauthored
[ZT] Clientless RDP (#20767)
* remove SMB partials * update RDP IA * connect server and create target * create self-hosted app partials * remove legacy * rdp self-hosted app * update browser rendering * browser-rendered sessions * clarify active session * update browser rendering overview * update app types * user steps * remove legacy note * session duration partial * clean up rdp * fix partial * review feedback * add partial * update titles * additional feedback * Apply suggestions from code review Co-authored-by: Max Phillips <[email protected]> * Update src/content/docs/cloudflare-one/connections/connect-networks/use-cases/rdp/rdp-browser.mdx Co-authored-by: Max Phillips <[email protected]> * Update src/content/docs/cloudflare-one/connections/connect-networks/use-cases/rdp/index.mdx --------- Co-authored-by: Max Phillips <[email protected]>
1 parent 0a48ff0 commit db45549

35 files changed

+465
-276
lines changed

src/content/docs/cloudflare-one/applications/configure-apps/saas-apps/generic-oidc-saas.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Some SaaS applications provide the Redirect URL after you [configure the SSO pro
5353
| Key endpoint | Returns the current public keys used to [verify the Access JWT](/cloudflare-one/identity/authorization-cookie/validating-json/) <br/> `https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<client-id>/jwks` |
5454
| User info endpoint | Returns all user claims in JSON format <br/> `https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<client-id>/userinfo` |
5555

56-
11. Add [Access policies](/cloudflare-one/policies/access/) to control who can connect to your application. All Access applications are deny by default -- a user must match an Allow policy before they are granted access.
56+
11. <Render file="access/add-access-policies" product="cloudflare-one" />
5757

5858
12. <Render file="access/access-choose-idps" product="cloudflare-one" />
5959

src/content/docs/cloudflare-one/applications/configure-apps/saas-apps/generic-saml-saas.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Obtain the following URLs from your SaaS application account:
4848
If you are using Okta, Microsoft Entra ID (formerly Azure AD), Google Workspace, or GitHub as your IdP, Access will automatically send a SAML attribute titled `groups` with all of the user's associated groups as attribute values.
4949
:::
5050

51-
11. Add [Access policies](/cloudflare-one/policies/access/) to control who can connect to your application. All Access applications are deny by default -- a user must match an Allow policy before they are granted access.
51+
11. <Render file="access/add-access-policies" product="cloudflare-one" />
5252

5353
12. <Render file="access/access-choose-idps" product="cloudflare-one" />
5454

src/content/docs/cloudflare-one/applications/configure-apps/self-hosted-public-app.mdx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ You can securely publish internal tools and applications by adding Cloudflare Ac
1717

1818
## 1. Add your application to Access
1919

20-
<Render file="access/self-hosted-app" />
20+
<Render file="access/self-hosted-app/generic-public-app" />
2121

2222
## 2. Connect your origin to Cloudflare
2323

@@ -37,12 +37,4 @@ Users can now connect to your self-hosted application after authenticating with
3737

3838
## Product compatibility
3939

40-
When using Access self-hosted applications, the majority of Cloudflare products will be compatible with your application.
41-
42-
However, the following products are not supported:
43-
44-
* [Automatic Signed Exchanges](/speed/optimization/other/signed-exchanges/)
45-
* [Automatic Platform Optimization](/automatic-platform-optimization)
46-
* [Zaraz](/zaraz)
47-
48-
You can disable Automatic Signed Exchanges and Zaraz for a specific application - instead of across your entire zone - using a [Configuration Rule](/rules/configuration-rules/) scoped to the application domain.
40+
<Render file="access/self-hosted-app/product-compatibility" product="cloudflare-one" />

src/content/docs/cloudflare-one/applications/non-http/browser-rendering.mdx

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,44 @@ sidebar:
55
order: 3
66
---
77

8-
Cloudflare can render certain non-web applications in your browser without the need for client software or end-user configuration changes. Cloudflare currently supports rendering a terminal for SSH and VNC connections in a user's browser.
8+
import { Render } from "~/components";
99

10-
:::note
11-
You can only enable browser rendering on domains and subdomains, not for specific paths.
12-
:::
10+
Cloudflare can render SSH, VNC, and RDP applications in a browser without the need for client software or end-user configuration changes. For SSH and VNC, user email prefixes must match their username on the server. RDP leverages your existing Windows usernames and passwords for authenticating to the Windows server; Cloudflare does not manage any credentials on the Windows server.
1311

14-
## Enable browser rendering
12+
## Limitations
1513

16-
To enable browser rendering:
14+
- Browser rendering is only supported for [self-hosted public applications](/cloudflare-one/applications/configure-apps/self-hosted-public-app/), not private IPs or hostnames.
15+
- You can only render a browser-rendered terminal on domains and subdomains, not on specific paths.
16+
- <Render file="access/self-hosted-app/ssh-sessions" />
17+
- Cloudflare uses TLS to secure the egress RDP connection to your Windows server. We do not currently validate the chain of trust.
1718

18-
1. In [Zero Trust](https://one.dash.cloudflare.com), go to **Access** > **Applications**.
19-
2. Locate the SSH or VNC application you created when [connecting the server to Cloudflare](/cloudflare-one/connections/connect-networks/use-cases/ssh/). Select **Configure**.
20-
3. In the **Policies** tab, ensure that only **Allow** or **Block** policies are present. **Bypass** and **Service Auth** are not supported for browser-rendered applications.
21-
4. Go to **Advanced settings** > **Browser rendering settings**.
22-
5. For **Browser rendering**, choose _SSH_ or _VNC_.
19+
## Turn on browser rendering
2320

24-
:::note
21+
### SSH and VNC
2522

26-
When connecting over SSH, Cloudflare supports following key exchange algorithms:
27-
28-
29-
- `curve25519-sha256`
30-
- `ecdh-sha2-nistp256`
31-
- `ecdh-sha2-nistp384`
32-
- `ecdh-sha2-nistp521`
33-
34-
:::
23+
To turn on browser rendering for an SSH or VNC application:
3524

25+
1. In [Zero Trust](https://one.dash.cloudflare.com), go to **Access** > **Applications**.
26+
2. Locate the SSH or VNC application you created when [connecting the server to Cloudflare](/cloudflare-one/connections/connect-networks/use-cases/ssh/). Select **Configure**.
27+
3. In the **Policies** tab, ensure that only **Allow** or **Block** policies are present. **Bypass** and **Service Auth** are not supported for browser-rendered applications.
28+
4. Go to **Advanced settings** > **Browser rendering settings**.
29+
5. For **Browser rendering**, choose _SSH_ or _VNC_.
3630
6. Select **Save application**.
3731

3832
When users authenticate and visit the URL of the application, Cloudflare will render a terminal in their browser.
33+
34+
### RDP
35+
36+
To set up browser-rendering for RDP, refer to our [browser-based RDP guide](/cloudflare-one/connections/connect-networks/use-cases/rdp/rdp-browser/).
37+
38+
### SSH key exchange algorithms
39+
40+
Cloudflare's browser-rendered SSH terminal supports the following Key Exchange (KEX) algorithms:
41+
42+
43+
- `curve25519-sha256`
44+
- `ecdh-sha2-nistp256`
45+
- `ecdh-sha2-nistp384`
46+
- `ecdh-sha2-nistp521`
47+
48+
For browser-rendered SSH connections to work, you may need to update the `sshd_config` file on your server to accept these algorithms.

src/content/docs/cloudflare-one/applications/non-http/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ If you would like to define how users access specific infrastructure servers wit
2323

2424
## Clientless access
2525

26-
Clientless access methods are suited for organizations that cannot deploy the WARP client or need to support third-party contractors where installing a client is not possible. Clientless access requires onboarding a domain to Cloudflare and configuring a public hostname in order to make the server reachable. Command logging is not supported, and user email prefixes must match their username on the server.
26+
Clientless access methods are suited for organizations that cannot deploy the WARP client or need to support third-party contractors where installing a client is not possible. Clientless access requires onboarding a domain to Cloudflare and configuring a public hostname in order to make the server reachable. Command logging is not supported.
2727

2828
### Browser-rendered terminal
2929

30-
Cloudflare's [browser-based terminal](/cloudflare-one/applications/non-http/browser-rendering/) allows users to connect over SSH and VNC without any configuration. When users visit the public hostname URL (for example, `https://ssh.example.com`) and log in with their Access credentials, Cloudflare will render a terminal in their browser.
30+
Cloudflare's [browser-based terminal](/cloudflare-one/applications/non-http/browser-rendering/) allows users to connect over SSH, RDP, and VNC without any configuration. When users visit the public hostname URL (for example, `https://ssh.example.com`) and log in with their Access credentials, Cloudflare will render a terminal in their browser. For RDP connections, users must authenticate to the Windows server using their Windows username and password in addition to being authenticated by Cloudflare Access.
3131

3232
### Client-side cloudflared (legacy)
3333

src/content/docs/cloudflare-one/applications/non-http/infrastructure-apps.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Access for Infrastructure currently only supports [SSH](/cloudflare-one/connecti
4040

4141
## 1. Add a target
4242

43-
<Render file="access/add-target" />
43+
<Render file="access/add-target" params={{ protocol: "generic" }}/>
4444

4545
## 2. Add an infrastructure application
4646

src/content/docs/cloudflare-one/applications/non-http/self-hosted-private-app.mdx

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,15 @@ This feature replaces the legacy [private network app type](/cloudflare-one/appl
2222

2323
## Add your application to Access
2424

25-
1. In [Zero Trust](https://one.dash.cloudflare.com), go to **Access** > **Applications**.
26-
27-
2. Select **Add an application**.
28-
29-
3. Select **Self-hosted**.
30-
31-
4. Enter any name for the application.
32-
33-
5. In **Session Duration**, choose how often the user's [application token](/cloudflare-one/identity/authorization-cookie/application-token/) should expire.
34-
35-
Cloudflare checks every HTTPS request to your application for a valid application token. If the user's application token (and global token) has expired, they will be prompted to reauthenticate with the IdP. For more information, refer to [Session management](/cloudflare-one/identity/users/session-management/). If the application is non-HTTPS or you do not have TLS decryption turned on, the session is tracked by the WARP client per application.
25+
<Render file="access/self-hosted-app/create-app" product="cloudflare-one" params={{ private: true }}/>
3626

3727
6. Add the private IP and/or private hostname that represents the application. You can use [wildcards](/cloudflare-one/policies/access/app-paths/) with private hostnames to protect multiple parts of an application that share a root path.
3828

3929
:::note
4030
Private hostnames are currently only available over port `443` over HTTPS and the application must have a valid Server Name Indicator (SNI).
4131
:::
4232

43-
7. Add [Access policies](/cloudflare-one/policies/access/) to control who can connect to your application. All Access applications are deny by default -- a user must match an Allow policy before they are granted access.
33+
7. <Render file="access/add-access-policies" product="cloudflare-one" />
4434

4535
8. Configure how users will authenticate:
4636

@@ -58,14 +48,9 @@ This feature replaces the legacy [private network app type](/cloudflare-one/appl
5848

5949
12. Select **Next**.
6050

61-
13. (Optional) Configure advanced settings. These settings only apply to private hostnames and require [Gateway TLS decryption](/cloudflare-one/policies/gateway/http-policies/tls-decryption/).
51+
13. <Render file="access/self-hosted-app/advanced-settings" product="cloudflare-one" />
6252

63-
- [**Cross-Origin Resource Sharing (CORS) settings**](/cloudflare-one/identity/authorization-cookie/cors/)
64-
- [**Cookie settings**](/cloudflare-one/identity/authorization-cookie/#cookie-settings)
65-
- **Browser rendering settings**:
66-
- [Automatic `cloudflared` authentication](/cloudflare-one/applications/non-http/cloudflared-authentication/automatic-cloudflared-authentication/)
67-
- [Browser rendering for SSH and VNC](/cloudflare-one/applications/non-http/browser-rendering/)
68-
- **401 Response for Service Auth policies**: Return a `401` response code when a user (or machine) makes a request to the application without the correct [service token](/cloudflare-one/identity/service-tokens/).
53+
These settings only apply to private hostnames and require [Gateway TLS decryption](/cloudflare-one/policies/gateway/http-policies/tls-decryption/).
6954

7055
14. Select **Save**.
7156

src/content/docs/cloudflare-one/connections/connect-devices/agentless/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ If you are unable to install the WARP client on your devices (for example, Windo
99

1010
- **[Gateway DNS policies](/cloudflare-one/connections/connect-devices/agentless/dns/)**
1111
- **[Gateway HTTP policies](/cloudflare-one/connections/connect-devices/agentless/pac-files/)** without user identity and device posture
12-
- **[Access policies](/cloudflare-one/policies/access/)** without device posture for [web applications](/cloudflare-one/applications/configure-apps/) and [browser-rendered](/cloudflare-one/applications/non-http/browser-rendering/) SSH and VNC connections
12+
- **[Access policies](/cloudflare-one/policies/access/)** without device posture for [web applications](/cloudflare-one/applications/configure-apps/) and for [browser-rendered](/cloudflare-one/applications/non-http/browser-rendering/) SSH, RDP, and VNC connections
1313
- **[Remote Browser Isolation](/cloudflare-one/policies/browser-isolation/)** via an [Access policy](/cloudflare-one/policies/access/isolate-application/), [prefixed URLs](/cloudflare-one/policies/browser-isolation/setup/clientless-browser-isolation/), or a [non-identity on-ramp](/cloudflare-one/policies/browser-isolation/setup/non-identity/)
1414
- **[Cloud Access Security Broker (CASB)](/cloudflare-one/applications/casb/)**
1515
- **[Data Loss Prevention (DLP)](/cloudflare-one/applications/casb/casb-dlp/)** for SaaS applications integrated with Cloudflare CASB

src/content/docs/cloudflare-one/connections/connect-networks/private-net/cloudflared/index.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ To enable remote access to your private network, follow the guide below.
1919

2020
To connect your infrastructure with Cloudflare Tunnel:
2121

22-
1. Create a Cloudflare Tunnel for your server by following our [dashboard setup guide](/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/). You can skip the connect an application step and go straight to connecting a network.
22+
<Render file="tunnel/connect-private-network" />
23+
2324
2. In the **Private Networks** tab for the tunnel, enter the IP/CIDR range that you wish to route through the tunnel (for example `10.0.0.0/8`).
2425

2526
## 2. Set up the client

src/content/docs/cloudflare-one/connections/connect-networks/use-cases/grpc.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ Server started, listening on 50051
3232

3333
To establish a secure, outbound-only connection to Cloudflare:
3434

35-
1. Create a Cloudflare Tunnel for your server by following our [dashboard setup guide](/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/). You can skip the connect an application step and go straight to connecting a network.
35+
<Render file="tunnel/connect-private-network" />
3636

37-
2. In the **Private Networks** tab for the tunnel, enter the private IP address of your server (or a range that includes the server IP).
37+
2. In the **Private Networks** tab for the tunnel, enter the private IP or CIDR address of your server.
3838

3939
## 3. Route private network IPs through WARP
4040

0 commit comments

Comments
 (0)