Skip to main content

Linux Server (SSH)

Bravura Security Fabric performs operations on Linux Servers using the agtlinux_ng or agtlinux connector.

agtlinux_ng

Connector name

agtlinux_ng

Connector type

Python script, agtlinux.py and a scripted platform definition file, agtlinux_ng.con, that associates the script with the Python connector (agtpython) to access Linux Server via SSH.

Type (UI field value)

Generic Linux Server (SSH)

Target system versions supported / tested

The agtlinux_ng connector is supported for the following Linux systems:

  • Ubuntu Server version 22.04

  • CentOS version 8

  • openSUSE Leap version 15

  • Debian 11.5

  • RHEL version 9

Connector status / support

Bravura Security-Verified

This connector has been tested and is fully supported by Bravura Security.

Installation / setup

It also has an agtlinux_ng_requirements.txt file that is used to install the Python requirements for this connector. To install the Python packages required by the agtlinux_ng connector, run the following command from a command prompt:

py -m pip install -r agtlinux_ng_requirements.txt

Upgrade notes

Added the agtlinux_ng connector for the Generic Linux Server NewGen (SSH) target type in Connector Pack 4.4.0. It was renamed Generic Linux Server (SSH) in 4.7.0.

It is recommended to use the agtlinux_ng connnector that uses the Python integration when targeting Linux servers. This connector should be used instead of the older agtlinux connector, which uses a PSLang script and agtssh.exe .

agtlinux

Connector name

agtlinux

Connector type

PSLang script, agtlinux.psl and a scripted platform definition file, agtlinux.con, that associates the script with the SSH connector (agtssh) to access Linux Server via SSH.

Type (UI field value)

Generic Linux Server (SSH) (Legacy)

Connector status / support

Customer-Verified

Clients may contact Bravura Security support for assistance with this connector. Troubleshooting and testing must be completed in the client's test environment as Bravura Security does not maintain internal test environments for the associated target system.

Upgrade notes

As of Connector Pack 4.7, this connector is customer verified. Clients may contact Bravura Security support for assistance with this connector. Troubleshooting and testing must be completed in the client's test environment as Bravura Security does not maintain internal test environments for the associated target system. It is recommended to use the agtlinux_ng connnector that uses the Python integration when targeting Linux servers.

In Connector Pack 4.5 and earlier the agtlinux connector was listed in the UI as Linux Server (SSH).

The Linux connectors can be used to discover SSH public and authorized keys for accounts on Linux servers. They can be used to manage temporary SSH trust relationships when granting privileged access to accounts on Linux servers.

The following Bravura Security Fabric operations are supported by this connector (depending on your product license and version):

  • expire password

  • check password expiry

  • administrator reset password

  • administrator reset+expire password

  • unlock account *

    Note

    By default, the unlock account operation will enable the user account. See the Enable on unlock option for additional details and how to disable the unlock account operation (recommended).

  • user verify password

  • verify+reset password

  • create account

  • delete account

  • disable account

  • enable account

  • expire account

  • create group

  • delete group

  • add user to group

  • delete user from group

  • add owner(user) to group

  • remove owner(user) from group

  • add owner(group) to group

  • remove owner(group) from group

  • check account enabled

  • check account expiry

  • check account lock

  • get server information

  • unexpire account

  • List:

    • accounts

    • attributes

    • groups

    • members

For a full list and explanation of each connector operation, see Connector operations.

See also

Targeting the Linux Server system

For each Linux Server system, add a target system in Bravura Security Fabric (Manage the system > Resources > Target systems):

  • Type is

    • Generic Linux Server (SSH) (known as Generic Linux Server NewGen (SSH) in Connector Pack 4.5 or earlier)

      Or

    • Generic Linux Server (SSH) (Legacy) (known as Generic Linux Server (SSH) in Connector Pack 4.5 or earlier).

  • Address uses options described in the table below.

The full list of target parameters is explained in Target system options .

Table 1. Generic Linux Server (SSH) address configuration

Option

Description

Options marked with a redstar.png are required.

Script file redstar.png

Must be set to agtlinux.py (Generic Linux Server (SSH) ) or agtlinux.psl (Generic Linux Server (SSH) (Legacy) ).

(key: script)

Server redstar.png

The IP address/domain name of the Linux Server server.

(key: server)

Privilege escalation type

Select:

Use ’sudo’ as privileged escalation When this option is selected, the credentials of the target administrator will be used to run the sudo command. Ensure that this user is defined in the /etc/sudoers file.

If the sudo password is configured to be different than the log-in password, add another set of credentials for sudo and select the System password option. The Administrator ID can be arbitrary. This is the default setting.

Use ’su’ as privileged escalation When this option is selected, along with the credentials of the target administrator, you must also specify another set of credentials for the built-in "root" account and select the System password option for this account. This will be used to run the su command.

Use ’dzdo’ as privileged escalation you can use this escalation type if a dzdo package exists for your target operating system and this package has been installed. When this option is selected for a Centrify system, the credentials of the target administrator will be used to run the ’dzdo’ command in a similar manner as the ’sudo’ command. Ensure that this user has role-based access rights for zones stored in Active Directory.

No privileged escalation Operations will be done without elevated privileges. (key: privEscType)

Enable SSH public and authorized key discovery

Default is false, select this option to list all SSH public and authorized keys on the server.

SSH key files must be in OpenSSH format and must be less than 100,000 KB (by default) in order to be listed. To change the file size limit, modify the maximum file size to parse in unix-sshkey.psl .

(key: discoverkeys)

Advanced

Port

TCP Port number. Default is 22.

(key: port)

Compression

Select to enable data compression for SSH connections. Default is false.

(key: compression)

Action for host keys

Select AllowAppend (default) or DenyUnmatch. For new targets, AllowAppend is recommended.

AllowAppend connects to SSH hosts whose public host keys have been previously recorded and have not been changed, and to SSH hosts whose keys have not been previously recorded. It will reject SSH hosts whose keys were previously recorded but have changed.

DenyUnmatch only connects to SSH hosts whose public host keys have been previously recorded and have not been changed. It will reject SSH hosts whose keys have not been previously recorded or were previously recorded but have changed. (key: hostkeys)

Host keys file

Specify the name of the public host key file. It must be located in the \<instance>\script\ directory.

The file consists of a KVGroup with an entry that contains the host information as the key and the hostkey as the value. This information can be extracted from the PuTTY registry entries (HKEY_CURRENT_USER \Software\SimonTatham\PuTTY\SshHostKeys) where "Name" corresponds to the key and "Data" corresponds to the value.

(key: file)  

Authentication method (agtlinux_ng connector only)

The authentication methods to use for authentication keys. Default is Password. Other options include RSA, ED25519, ECDSA, and DSA.

(key: authmethod)

Authentication key file

This attribute can be assigned to the administrator’s private key. This key must have a passphrase assigned which will be entered into the credential password field. Managing of this passphrase is not supported.

If an SSHv1 key file is provided, ensure that the Force SSH v1? option is also selected.

(key: authkey)

Warning

Keys generated from an older version of Bravura Security Fabric may no longer work using this method.

Timeout for connection

Amount of time the connector will wait for a response.

(key: timeout)

Force SSH v1?

Force SSH connection via SSH protocol version 1. This does not meet current security standards; use only for legacy systems that support nothing else.

(key: enable_ssh_1)

Unprivileged and password management operations only

The passwdAccessOnly option is useful for Bravura Pass and Bravura Privilege implementations where only passwords on Unix systems need to be managed.

When configuring for passwdAccessOnly with sudo escalation, the sudoer file can be secured down to one command: /usr/bin/passwd. With this authorization, the agtlinux_ng and agtlinux connectors will gain access to list the accounts and administratively reset the user account.

Modification of the sudoer file would look something like the following example for the psadmin user:

psadmin ALL=(ALL) /usr/bin/passwd 

(key: passwdAccessOnly)

Max read timeout

The maximum time the connector will read data. Default is 6 seconds.

(key: maxReadTimeout)

Max write timeout

The maximum time the connector will write data. Default is 20 seconds.

(key: maxWriteTimeout)

Max read size

The maximum data read size. Default is 16384 characters.

(key: maxReadSize)

Max read lines

The maximum number of lines to read. Default is 50000 lines.

(key: maxReadLines)

Enter the filenames (comma delimited) to get the public keys from. Must be in the user’s /.ssh directory

The public key files to list from the server. Default is "id_rsa.pub,id_dsa.pub".

(key: pubkeyfiles)

Delete all matching keys upon access revocation

Default is true, deselect this option to remove only one copy of the specified public key upon access revocation.

(key: delallkeys)

Calculate SHA1 hashes of discovered public and authorized keys

Default is true, deselect this option to turn off calculation of hashes for public and authorized keys.

(key: makekeyhashes)

Enable on unlock

Default is true, since enable and unlock are the same operation on Linux systems. Deselect this option to disable the unlock operation for this target.

(key: EnableOnUnlock)

Enable on reset

Default is false, which maintains an account’s status (enabled/disabled) after a password reset. Select this option to also enable accounts with password reset.

(key: EnableOnReset)

Supports gshadow

Default is false. If gshadow is supported on the system, select this option to enable the ability to discover, add and delete group owners.

(key:isGshadowNeeded)

Code page encoding (agtlinux_ng connector only)

If targeting a UNIX operating system that is not the running UTF-8 code page, the code page encoding allows converting from the target encoding to UTF-8 in product.

(key: codePage)

Trace Logging (agtlinux_ng connector only)

Provides detailed multiline logging for connectors. Default is None. Other options include Low, Medium, and High.

(key: trace)



The Trace Logging option provides detailed multi-line logging for the connectors and exposes a way to engage trace logging to a file. Trace logging are things that are generally multi-line such as input/output kvg options, http request/response data, and generally verbose data for diagnosing and troubleshooting issues. It provide a simple mechanism to redirect multi-lined information to an output file.

A trace log file is created within the <Program Files path>\Bravura Security\Bravura Security Fabric\Logs\<instance> directory and has a format of trc-<connector-name>-<unix-time>-<process-id>.log.

The Trace Logging option can be found in the advanced section when modifying the target system address configuration page for individual target systems. It can be set to the following values:

None

Default value. Log no trace information and no trace log file is created.

Low

Contains kvgroup data for the Input KVG and for the Output KVG.

Medium

Telemetry data for Http Post/Get request/response data.

High

Not yet used, to be implemented in a future release.

(key: trace)

Creating a template account

Bravura Security Fabric uses template accounts as models or "blueprints" for creating new accounts on Linux Server.

Consult the documentation included with your specific application to learn how to create an account to use as a template in Bravura Identity . You can then add account attributes to determine how new accounts should be created based on the template account’s parameters.

Note

Bravura Security Fabric still requires a template account, even though attributes may or may not be copied from the template account, for example, if the configured action for all account attributes is Set.

Handling account attributes

You can view the complete list of attributes that Bravura Security Fabric can manage, including native and pseudo-attributes, using the Manage the system (PSA) module. To do this, select Generic Linux Server (SSH) or Generic Linux Server (SSH) (Legacy) from the Manage the system > Resources > Account attributes >Target system type menu.

This section describes the pseudo-attributes that Bravura Security Fabric uses to compose values, set flags, or control behavior on a Linux Server.

_skeldir This pseudo-attribute is used for specifying the source directory when creating the home directory for a new account. By default, this pseudo-attribute is ignored on account creation and Bravura Security Fabric uses the system’s skeleton directory as the source.

To specify a different source directory, configure skeldir and set the value to either:

  • TEMPLATE - to copy the structure and contents of the template account’s home directory

  • A valid path to a directory - to copy the structure and contents of an existing directory on the target

_deleteHomeDir There are three possible options for deleting the user’s home directory when the account is deleted off the system:

  • always - delete the home directory when the account is deleted.

  • whensafe - only delete the home directory if it matches the user name and no other accounts use it.

  • never - keep the home directory when the account is deleted.

Bravura Security Fabric will not delete the home directory if the account is not the owner. If no action is defined for _deleteHomeDir , the default action is never .

_archiveHomeDir Specifies a valid path on the target where the account’s home directory will be archived when the account is deleted.

If an invalid path was specified or no action is defined for _archiveHomeDir , the account’s home directory will not be archived.