> For the complete documentation index, see [llms.txt](https://docs.plenit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plenit.com/docs-en/productos/remote-desktop/how-to/how-to-configure-remote-desktop-ports.md).

# How to Configure the Ports of Your Remote Desktop

Usual access to Remote Desktop is via **HTML5 over port 443/TCP**, encrypted and compatible with modern browsers on Windows, iOS and GNU/Linux.

Even so, sometimes you need **to publish other ports** so that certain applications work. This guide teaches you how to create the inbound rule to do it, while taking care of service exposure.

> #### 👍 What you get
>
> An inbound rule that publishes the port your application needs, with the source and destination limited so as not to open more than necessary.

### Before you start

* Access the admin panel at [admin.plenit.com](https://admin.plenit.com) with permissions on the environment.
* Have the Remote Desktop environment deployed. If you don't have it yet, set it up with the [Quick Start for Remote Desktop](https://gitlab.com/plenit-group/plenit-docs-es-es/-/blob/v1.0/docs/Productos/servicios-cloud-escritorio-remoto/servicios-cloud-escritorio-remoto-how-to/servicios-cloud-escritorio-remoto-desplegar-escritorio-remoto/README.md).

> #### 🚧 Be careful with port 3389
>
> The port **3389/TCP** (RDP) is one of the first ports scanned in an attack. Avoid publishing it openly to the internet: if you need RDP, reach it over VPN and restrict the source with firewall rules. Publish only the ports that your applications really require.

### Step 1. Enter the environment firewall

In [admin.plenit.com](https://admin.plenit.com), go to **Cloud Services → Remote Desktop** and enter the environment subscription. Open the **Servers** and scroll down to **Firewall — Inbound rules**, where you can see existing rules and create new ones.

{/\* 📸 SCREENSHOT 1 · Servers tab · Firewall — Inbound rules section \*/}

![Firewall — Inbound rules section in Servers](https://REEMPLAZA-URL/escritorio-remoto-puertos-01.png)

> 📘 Also during deployment
>
> You can create the rule when deploying the service or later, by editing it. If you're in the deployment, you're already inside this configuration and can skip the access step.

### Step 2. Create the inbound rule

Click **Create new inbound rule** and fill in the fields with the values your application requires.

{/\* 📸 SCREENSHOT 2 · new inbound rule form with the fields to fill in \*/}

![New inbound rule form](https://REEMPLAZA-URL/escritorio-remoto-puertos-02.png)

**Network and source:**

* **Network**: the network you're working on.
* **Source**: select **IP or Network**. Check **Any IP** to allow access from any source, or enter an **IP** or a **range** to restrict it.

**Firewall (public inbound):**

* **Protocol**: TCP or UDP, depending on the communication.
* **Public IP**: the public IP through which access will be made.
* **Public Port**: the public port you are publishing.

**Server (internal destination):**

* **Private IP**: the private IP of the destination server.
* **Private Port**: the internal port to which traffic is redirected.

> #### 🚧 Restrict the source whenever you can
>
> "Any IP" opens the port to the whole internet. If you know where the client will connect from, limit the source to its IP or range: that's the difference between publishing a service and exposing it.

When you've filled in the fields, click **Continue** to save the rule.

### Step 3. Verify that the rule was applied

Go back to **Firewall — Inbound rules** and check that the new rule appears in the list with the network, source, protocol, public IP and ports you defined.

{/\* 📸 SCREENSHOT 3 · rules list with the new rule visible \*/}

![Inbound rule created in the list](https://REEMPLAZA-URL/escritorio-remoto-puertos-03.png)

### Conclusion

Publishing a port in Remote Desktop is creating an inbound rule that connects a public port with the internal server and port.

The key is not only to open the port, but to do it sensibly: publish only those your applications need, restrict the source when you know where the client connects from, and keep RDP's 3389 outside the internet, reaching it over VPN.

That way you provide service without expanding the attack surface more than necessary.

### Next steps

* Protect administrative access with a [remote access VPN.](/docs-en/productos/servers/how-to/how-to-configure-a-remote-access-vpn.md)
* Connect the environment with the client's headquarters via [site-to-site VPN.](/fr/productos/servers/how-to/how-to-create-a-site-to-site-vpn-tunnel.md)
* Associate users with an existing domain in [How to associate a Remote Desktop user with a domain user.](/docs-en/productos/remote-desktop/how-to/how-to-associate-an-rd-user-with-a-domain-user.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.plenit.com/docs-en/productos/remote-desktop/how-to/how-to-configure-remote-desktop-ports.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
