11.2. Supported SSH channel types

The available SSH channel types and their functionalities are described below. For details on configuring Channel Policies, see Procedure 7.5, Creating and editing channel policies. For a list of supported client applications, see Section 2.6, Supported protocols and client applications.

  • Agent: Forwards the SSH authentication agent from the client to the server.

    Note

    To perform agent-based authentication on the target server, it is not required to enable the Agent-forwarding channel in the Channel Policy used by the connection. The Agent-forwarding channel is needed only to establish connections from the target server to other devices and authenticate using the agent running on the client.

  • X11 Forward: Forwards the graphical X-server session from the server to the client. Enter the address of the client into the Details > Target address field to permit X11-forwarding only to the specified clients. Specify IP addresses or networks (in IP address/Prefix format).

    To be able to display X11 trails, certain fonts are required. For details, see Procedure 17.3.6, Adding a new font for displaying X11 trails.

    Note

    Certain client applications send the Target address as a hostname, while others as an IP address. If you are using a mix of different client applications, you might have to duplicate the channel rules and create IP-address and hostname versions of the same rule.

  • Local Forward: Forwards traffic arriving to a local port of the client to a remote host. To enable forwarding only between selected hosts, enter their IP addresses into the Details field. If the Details field is empty, local forwarding is enabled without restriction, the client may forward any traffic to the remote host. Enter the source of the forwarded traffic into the Originator, the target of the traffic into the Target field. Specify IP addresses or networks (in IP address/Prefix format). These parameters are the end-points of the forwarded traffic (that is, the local host that sends data to the remote host), and not the SSH server or the client. For example, to enable forwarding from the 192.168.20.20 host to the remote host 192.168.50.50, enter 192.168.20.20 into the Originator, and 192.168.50.50 into the Target field.

    Figure 11.2. Local TCP forwarding

    Local TCP forwarding
    Note

    Certain client applications send the Originator and Target addresses as hostnames, while others as IP addresses. If you are using a mix of different client applications, you might have to duplicate the channel rules and create IP-address and hostname versions of the same rule.

    Warning

    Port forwarding across PSM may fail for certain SSH client-server combinations. This happens if within the protocol, the address of the remote host is specified as a hostname during the port-forwarding request (SSH_MSG_GLOBAL_REQUEST), but the hostname is resolved to IP address in the channel opening request (SSH_MSG_CHANNEL_OPEN. By default, PSM rejects such connections.

    To enable these connections, navigate to SSH Control > Settings, and disable the Strict mode option.

  • Remote Forward: Forwards traffic arriving a remote port of the server to the client. To enable forwarding only between selected hosts, enter their IP addresses into the Details field. If the Details field is empty, remote forwarding is enabled without restriction, the SSH server may forward any traffic to the client. Enter the source of the forwarded traffic into the Originator, the target of the traffic into the Target field. Specify IP addresses or networks (in IP address/Prefix format). These parameters are the end-points of the forwarded traffic (that is, the remote host that sends data to the client), and not the SSH server. For example, to enable forwarding from the 192.168.20.20 remote host to the client 192.168.50.50, enter 192.168.20.20 into the Originator, and 192.168.50.50 into the Target field.

    Figure 11.3. Remote TCP forwarding

    Remote TCP forwarding
    Note

    Certain client applications send the Originator and Target addresses as hostnames, while others as IP addresses. If you are using a mix of different client applications, you might have to duplicate the channel rules and create IP-address and hostname versions of the same rule.

    Warning

    Port forwarding across PSM may fail for certain SSH client-server combinations. This happens if within the protocol, the address of the remote host is specified as a hostname during the port-forwarding request (SSH_MSG_GLOBAL_REQUEST), but the hostname is resolved to IP address in the channel opening request (SSH_MSG_CHANNEL_OPEN. By default, PSM rejects such connections.

    To enable these connections, navigate to SSH Control > Settings, and disable the Strict mode option.

  • Session Exec: Execute a remote command (for example rsync) without opening a session shell. Enter the permitted command into the Permitted commands field. You can use regular expressions to specify the commands. This field can contain only letters (a-z, A-Z), numbers (0-9), and the following special characters ({}()*?\\|[]).

    Warning

    Restricting the commands available in Session Exec channels does not guarantee that no other commands can be executed. Commands can be renamed, or executed from shell scripts to circumvent such restrictions.

  • Session Exec SCP: Transfers files using the Secure Copy (SCP) protocol.

    • To make the list of file operations available in the File operations column of the Search > Search page, navigate to the Channel Policies page of the protocol, and enable the Log file transfers to database option. This option is disabled by default.

    • To send the file operations into the system log, enable the Log file transfers to syslog option. This option is disabled by default.

      Note

      Turning logging on might result in a slight performance penalty. If traffic load slows processes down, disable the option. You will see the file list in the audit player without enabling this option.

    Warning

    The WinSCP application does not follow the RFC of the SCP protocol properly, but transfers files in a Session Shell channel instead of a Session Exec SCP channel. This has the following results:

    • If the Session Shell channel is enabled in a Channel Policy (this is needed for SSH terminal sessions as well), and your users use WinSCP using the File protocol > SCP option, they will be able to transfer files to and from the server. Also, these files will not be listed in the File operations field of the Search > Search page, and you cannot save the files from the audit trail using the Audit Player application.

    • To avoid these problems, you have to enforce that your clients use WinSCP with the File protocol > SFTP option. WinSCP uses SFTP by default, but can be changed manually to use SCP, and also falls back to using SCP if a server rejects SFTP.

    • To terminate the connection when a user transfers a file with WinSCP using the Session Shell channel, create a Content Policy that matches the WinSCP: this is end-of-file string in screen content, and use this policy in your Connection Policies. For details on Content Policies, see Section 7.6, Real-time content monitoring with Content Policies. This solution has been tested with WinSCP version 5.1.5: if it does not work for your version, contact the Balabit Support Team.

  • Session Subsystem: Use a subsystem. Enter the name of the permitted subsystem into the Details field.

  • Session SFTP: Transfers files using the Secure File Transfer Protocol (SFTP).

    • To make the list of file operations available in the File operations column of the Search > Search page, navigate to the Channel Policies page of the protocol, and enable the Log file transfers to database option. This option is disabled by default.

    • To send the file operations into the system log, enable the Log file transfers to syslog option. This option is disabled by default.

      Note

      Turning logging on might result in a slight performance penalty. If traffic load slows processes down, disable the option. You will see the file list in the audit player without enabling this option.

  • Session Shell: The traditional remote terminal session.

    Warning

    The WinSCP application does not follow the RFC of the SCP protocol properly, but transfers files in a Session Shell channel instead of a Session Exec SCP channel. This has the following results:

    • If the Session Shell channel is enabled in a Channel Policy (this is needed for SSH terminal sessions as well), and your users use WinSCP using the File protocol > SCP option, they will be able to transfer files to and from the server. Also, these files will not be listed in the File operations field of the Search > Search page, and you cannot save the files from the audit trail using the Audit Player application.

    • To avoid these problems, you have to enforce that your clients use WinSCP with the File protocol > SFTP option. WinSCP uses SFTP by default, but can be changed manually to use SCP, and also falls back to using SCP if a server rejects SFTP.

    • To terminate the connection when a user transfers a file with WinSCP using the Session Shell channel, create a Content Policy that matches the WinSCP: this is end-of-file string in screen content, and use this policy in your Connection Policies. For details on Content Policies, see Section 7.6, Real-time content monitoring with Content Policies. This solution has been tested with WinSCP version 5.1.5: if it does not work for your version, contact the Balabit Support Team.