TCP

Use the TCP server type to broker access to TCP-based services that StrongDM does not (yet) have a native integration for.

A TCP connection resource is unique in that the content of the TCP traffic is not recorded in our logs, only the traffic metadata (who accessed the resource, when, and how many bytes were transmitted and received). This behavior is different from what you experience with other StrongDM resources that support logging and auditing of actions taken by a user. Logs of TCP traffic are located in the Queries page in the Admin UI and are recorded after the close of the session.

The TCP connection resource may be used for a variety of types of resources that accept TCP connections, but are not currently supported by StrongDM. It provides the ability to use StrongDM to connect to unsupported resources, and have at least partial auditing support for them.

The TCP connection resource is not a valid way to connect to resource types that are distributed across more than one server (such as Kafka).

The TCP connection resource supports TLS connections only if you are able to disable hostname verification or allow invalid hostnames on the client side when attempting to connect to the resource through StrongDM. It also does not support resources which require connections over multiple ports at the same time.

Limitations

  • StrongDM records metadata only (who, when, bytes in/out) for TCP resources. Payload/commands are not logged.

  • TLS works only if the client can disable hostname verification or allow invalid hostnames when connecting via StrongDM.

  • It is single-port only, meaning it's not suitable for protocols requiring multiple concurrent ports or distributed brokers (for example, Kafka).

  • Credentials are not stored. The TCP resource itself does not hold usernames and passwords; your client supplies any needed credentials at the time of connection.

Prerequisites

  • A StrongDM node (gateway, relay, or proxy worker) must be able to reach the target host on the specified port.

  • The target service is listening on a single TCP port and behaves correctly through a TCP proxy.

  • If using TLS, your client can relax hostname verification or accept non-matching hostnames.

  • (Recommended) Decide whether users will connect via Loopback Mode or Virtual Networking Mode; this affects bind IP/DNS and port override choices.

Add the Resource in StrongDM

Next, add the resource in StrongDM. This section provides instructions for adding the resource in either the StrongDM Admin UI, CLI, Terraform provider, or SDKs.

Set up and Manage With the Admin UI

If using the Admin UI to add the resource to StrongDM, use the following steps.

  1. Log in to the StrongDM Admin UI and go to Resources > Servers.

  2. Click Add server.

  3. Select TCP as the Server Type and set other resource properties to configure how the StrongDM relay connects to the server.

  4. Click create to save the resource.

  5. Click the resource name to view status, diagnostic information, and setting details. After the server is created, the Admin UI displays that resource as unhealthy until the health checks run successfully. When the resource is ready, the Health icon indicates a positive, green status.

Resource properties

The following table describes the settings available for your TCP resource.

The TCP Connection settings do not include stored credentials. Any credentials your connection requires need to be provided while connecting with the client.

Property
Requirement
Description

Display Name

Required

Meaningful name to display the resource throughout StrongDM; exclude special characters like quotes (") or angle brackets (< or >)

Server Type

Required

TCP

Proxy Cluster

Required

Defaults to "None (use gateways)"; if using proxy clusters, select the appropriate cluster to proxy traffic to this resource

Hostname

Optional

The IP/DNS address used to connect to the resource from your gateway or relay, such as windows-server.strongdm.com

Port

Optional

Port to connect to the resource; default port value 49150

Connectivity Mode

Required

Select either Virtual Networking Mode, which lets users connect to the resource with a software-defined, IP-based network; or Loopback Mode, which allows users to connect to the resource using the local loopback adapter in their operating system; this field is shown if Virtual Networking Mode enabled for your organization

IP Address

Optional

If Virtual Networking Mode is the selected connectivity mode, an IP address value in the configured Virtual Networking Mode subnet in the organization network settings; if Loopback Mode is the selected connectivity mode, an IP address value in the configured Loopback IP range in the organization network settings (by default, 127.0.0.1); if not specified, an available IP address in the configured IP address space for the selected connectivity mode will be automatically assigned; this field is shown if Virtual Networking Mode and/or multi-loopback mode is enabled for your organization

Port Override

Optional

If Virtual Networking Mode is the selected connectivity mode, a port value between 1 and 65535 that is not already in use by another resource with the same IP address; if Loopback Mode is the selected connectivity mode, a port value between 1024 to 64999 that is not already in use by another resource with the same IP address; when left empty with Virtual Networking Mode, the system assigns the default port to this resource; when left empty for Loopback Mode, an available port that is not already in use by another resource is assigned; preferred port also can be modified later from the Port Overrides settings

DNS

Optional

If Virtual Networking Mode is the selected connectivity mode, a unique hostname alias for this resource; when set, causes the desktop app to display this resource's human-readable DNS name (for example, k8s.my-organization-name) instead of the bind address that includes IP address and port (for example, 100.64.100.100:5432)

Resource Tags

Optional

Resource Tags consisting of key-value pairs <KEY>=<VALUE> (for example, env=dev)

Test the Connection

  1. In the Admin UI, view the new TCP resource and notice its health status. It turns green when StrongDM can reach the host/port.

  2. Connect using the StrongDM desktop app or CLI to the bind address.

  3. If your service uses TLS with strict hostname verification, configure your client to allow mismatched hostnames or disable verification when connecting through StrongDM.

  4. If the resource remains unhealthy or the client fails to connect:

    • Verify the hostname/port and network path from the node.

    • Confirm the service listens on a single TCP port and doesn’t require side-channels.

    • Check firewall rules/ACLs.

    • Re-test with a simple TCP client (for example, nc, openssl s_client) through the StrongDM bind address.

  5. Review Queries in the Admin UI after the session ends for metadata (who, when, bytes). Content is not recorded.

If you encounter issues, please consult the StrongDM Help Center.

Last updated

Was this helpful?