Configurer la passerelle Advanced Server Access

Cette rubrique vous explique comment configurer une passerelle Advanced Server Access.

Options de ligne de commande

  • service : exécute le service sft-gatewayd.
  • support : collecte des informations système locales pour le support Okta
  • -h, --help : affiche l'aide
  • -v, --version : affiche la version
  • --syslog : force la connexion syslog

Fichier de configuration

Vous pouvez contrôler les passerelles Advanced Server Access grâce à l'utilisation d'un fichier de configuration situé à /etc/sft/sft-gatewayd.yaml. Après avoir installé la passerelle, vous pourrez trouver un exemple de fichier de configuration ici : /etc/sft/sft-gatewayd.sample.yaml. Si aucun fichier de configuration n'a été créé ou n'est accessible, la passerelle utilisera les valeurs suivantes par défaut.

Options du jeton de configuration

Ces options déterminent votre façon d'ajouter un jeton de configuration à votre passerelle. Vous devez activer l'une des options suivantes. Pour plus d'informations sur l'obtention d'un jeton de configuration, consultez la section Créer un jeton de configuration pour une passerelle ScaleFT.

Option Valeur par défaut Description
SetupToken non défini Indique un jeton de configuration créé sur la plateforme Advanced Server Access.

Remarque : si vous utilisez cette option, le jeton de configuration restera visible en texte brut. Okta recommande de restreindre les autorisations de lecture pour le fichier de configuration (par exemple, 0600 sur Linux).

SetupTokenFile Linux : /var/lib/sft-gatewayd/setup.token Indique le chemin vers un fichier distinct contenant le jeton de configuration. La valeur par défaut est basée sur le système d'exploitation sur lequel la passerelle d'exécution est exécutée.

Cette option est celle qu'il est recommandé d'utiliser.

Si vous utilisez cette option, vous devrez créer manuellement le fichier de jeton de configuration et ajouter le jeton de configuration créé sur la plateforme Advanced Server Access.

Une fois la passerelle inscrite auprès d'une équipe, elle supprime le fichier de jeton.

Remarque : si l'option SetupToken (Jeton de configuration) est également configurée, la passerelle utilisera le jeton indiqué dans l'option.

Options de journal

Option Valeur par défaut Description
LogLevel info Contrôle la verbosité des journaux. Okta recommande de conserver la valeur info.

Les valeurs valides incluent :

  • error
  • warn
  • info
  • debug

Options de connexion

Option Valeur par défaut Description
AccessAddress 1.1.1.1 Indique l'adresse réseau (IPv4, IPv6 ou FQDN) utilisée par les clients pour accéder à la passerelle. Si aucune adresse n'est précisée, la passerelle utilisera l'adresse indiquée par l'interface réseau ou les métadonnées du fournisseur de cloud.
AccessPort 7234 Spécifie le port que les clients peuvent utiliser pour accéder à la passerelle.
ListenAddress 0.0.0.0 Spécifie l'adresse réseau (IPv4, IPv6 ou FQDN) utilisée par la passerelle pour écouter les connexions. Par défaut, la passerelle écoute les connexions sur chaque interface existante.
ListenPort 7234 Spécifie un port utilisé par la passerelle pour écouter les connexions.
TLSUseBundledCAs Vrai Force la passerelle à utiliser le magasin de certificats groupés (à la place du magasin de certificats du système d'exploitation) pour sécuriser les requêtes HTTP qui utilisent le protocole TLS. Cela inclut également les requêtes pour accéder au service cloud d'Advanced Server Access.

Remarque : pour utiliser le magasin de certificats du système d'exploitation, attribuez la valeur Faux à cette option.

RefuseConnections False Détermine si la passerelle accepte le trafic proxy SSH et RDP ou non. Si cette option est activée, les demandes de connexion SSH et RDP ne seront pas acheminées, et la passerelle n'écoutera pas les demandes de trafic proxy.
ForwardProxy non défini

Indique le nom d'hôte et le port d'un proxy de transfert HTTP utilisé pour la connectivité de réseau sortant vers Advanced Server Access. Vous pouvez également configurer le proxy à l'aide de la variable d'environnement HTTPS_PROXY.

Exemple :

ForwardProxy: myproxydomain.com:8080

Options LDAP

Ces options déterminent comment la passerelle établit des connexions sécurisées avec les serveurs LDAP (Lightweight Directory Access Protocol). Il est nécessaire de configurer ces options pour que la passerelle puisse fonctionner avec la jointure AD. Consultez la section Prise en charge des passerelles pour Active Directory.

Par défaut, la passerelle démarre TLS, mais n'effectue aucune validation de certificat.

Option Valeur par défaut Description
StartTLS Vrai

Met à niveau les communications du serveur Active Directory/LDAP vers des communications chiffrées via TLS. Si cette option est désactivée, la communication avec le serveur ne sera pas chiffrée.

StartTLS est une extension du protocole LDAP qui utilise le protocole TLS pour chiffrer la communication. Il est impossible d'activer cette option simultanément à l'option UseLDAPS

UseLDAPS

Faux

Active l'utilisation du protocole LDAPS pour chiffrer la communication. Il est impossible d'activer cette option simultanément à l'option StartTLS.

LDAPSPort

636

Si l'option UseLDAPS a la valeur Vrai, la valeur de ce port est utilisée pour établir la connexion LDAPS.

ValidateCertificates Faux Effectue une validation des certificats reçus depuis le serveur AD/LDAP. Si cette option est désactivée, les communications du serveur LDAP risqueront d'être vulnérables aux attaques de l'intercepteur.

Si cette option est activée, la passerelle cherchera des certificats en suivant le chemin d'accès spécifié par TrustedCAsDir.

Les équipes doivent s'assurer que des certificats valides pour chaque domaine connecté sont stockés sur la passerelle avant d'activer cette option. Si aucun certificat n'est trouvé, la passerelle refusera toutes les connexions.

TrustedCAsDir non défini Spécifie le chemin d'accès vers un répertoire qui contient les certificats publics d'une autorité de certification (habituellement, la gestion se fait au sein d'Active Directory, et la distribution, par une politique de groupe). Le répertoire et les certificats doivent être accessibles en lecture par l'utilisateur sft-gatewayd, et les certificats doivent se trouver au format PEM. Les sous-répertoires ne sont pas vérifiés.

Vous pouvez utiliser n'importe quel chemin, mais Okta recommande d'utiliser/etc/sft/trusted-ldap-certs/.

Pour plus d'informations sur les certificats, consultez la section Créer un certificat public à utiliser avec les passerelles ScaleFT.

Options RDP

Ces options déterminent comment la passerelle gère les sessions Remote Desktop Protocol (RDP). Les équipes doivent configurer ces options pour acheminer les sessions RDP par la passerelle vers les serveurs inscrits auprès de l'agent du serveur ou découverts dans un domaine AD. Il est nécessaire de configurer ces options pour que la passerelle puisse fonctionner avec la jointure AD. Consultez la section Prise en charge des passerelles pour Active Directory.

Vous devez explicitement autoriser les connexions RDP avec l'optionEnabled ou, au choix, l'option TrustedCAsDir ou DangerouslyIgnoreServerCertificates.

Si une équipe utilise la jointure AD, la passerelle pourra toujours découvrir des serveurs Active Directory, même si la prise en charge du RDP n'est pas activée. Consultez la section Découverte de serveurs.

Option Valeur par défaut Description
activée. False

Détermine la fonctionnalité RDP pour la passerelle. Cette option est désactivée par défaut, puisque le RDP nécessite une configuration supplémentaire. La valeur doit être paramétrée sur True avant d'autoriser les connexions RDP.

TrustedCAsDir non défini Spécifie le chemin d'accès vers un répertoire qui contient les certificats publics signés par une autorité de certification (habituellement, la gestion se fait au sein d'Active Directory, et la distribution, par une politique de groupe). Le répertoire et les certificats doivent être accessibles en lecture par l'utilisateur sft-gatewayd, et les certificats doivent se trouver au format PEM. Les sous-répertoires ne sont pas vérifiés.

Vous pouvez utiliser n'importe quel chemin, mais Okta recommande d'utiliser/etc/sft/trusted-rdp-certs/.

Pour plus d'informations sur les certificats, consultez la section Créer un certificat public à utiliser avec les passerelles ScaleFT.

DangerouslyIgnoreServerCertificates Faux Empêche la passerelle de valider les certificats de serveur lors de la connexion à un hôte RDP. Cet indicateur est dangereux hors des environnements de test, mais peut être requis si l'hôte RDP possède des certificats autosignés.
MaximumActiveSessions 20 Détermine le nombre de sessions RDP simultanées autorisé par la passerelle. Une fois le nombre de sessions atteint, les utilisateurs supplémentaires recevront une erreur et ne pourront pas se connecter à la passerelle. Ces mesures sont mises en place uniquement pour des questions de ressources et de performances.
VerboseLogging Vrai Détermine le niveau de consignation des journaux internes aux RDP. Ces messages sont utiles en cas de diagnostic des problèmes, mais peuvent encombrer les journaux.

Remarque : paramétrez la valeur sur False pour marquer tous les messages internes du journal RDP comme « débogués ».

Options de capture de session

Option Valeur par défaut Description
SessionLogFlushInterval 10s Spécifie un seuil de taille pour les journaux de capture de session. Une fois ce seuil atteint, les journaux d'une session active seront signés et vidés sur disque. Cette option doit inclure une unité de mesure (ms, s, m, h).
SessionLogMaxBufferSize 262144 Spécifie un seuil de taille pour les journaux de capture de session. Une fois ce seuil atteint, les journaux d'une session active seront signés et vidés. L'unité de mesure utilisée pour cette option est l'octet.
SessionLogTempStorageDirectory /tmp Spécifie un répertoire temporaire pour stocker les journaux de session SSH avant de les charger vers la destination de journal indiquée.

Le répertoire par défaut dépend du système d'exploitation utilisé. Sous Linux, le répertoire par défaut est habituellement /tmp, à moins que la variable d'environnement $TMPDIR ne soit spécifiée.

LogDestinations non défini

Détermine l'emplacement pour stocker les journaux de session finalisés. Les équipes peuvent stocker les journaux localement ou dans des compartiments AWS ou GCS. Si vous stockez les journaux de session à plusieurs emplacements, les journaux sont envoyés à leur destination dans l'ordre indiqué dans le fichier de configuration. Les journaux de session ne sont jamais envoyés à Advanced Server Access.

Pour garantir une journalisation correcte des sessions avec le stockage S3, configurez la passerelle en lui attribuant les autorisations nécessaires pour écrire des objets dans les compartiments S3. Aucune autre autorisation n'est nécessaire.

Consultez les valeurs par défaut et exemples suivants.

Exemple - Linux/BSD

LogDestinations:
- Type: file
  LogDir: /var/log/sft/sessions

Exemple – AWS

LogDestinations:  
- Type: s3
  Bucket: BUCKET-NAME
  Region: US-EAST-1
  # Use of ec2 instance IAM Role credentials for s3 bucket access is recommended
  # To use ec2 instance IAM Role credentials leave Profile, AccesKeyId, SecretKey, and SessionToken BLANK
  # Specify Profile for shared credentials
  Profile: AWS-PROFILE-NAME
  # Specify AccessKeyId, SecretKey, and SessionToken for static credentials
  AccessKeyId: SECRET
  SecretKey: SECRET
  SessionToken: SECRET

Example – Google Cloud

LogDestinations:  
- Type: gcs
  Bucket: BUCKET-NAME
  # Supply one of CredentialsFile or CredentialsJSON (or none to use instance credentials)
  CredentialsFile: /path/to/cred/file
  CredentialsJSON: |
  {    
  "SOME": "value",
  "IN": "json"    
  }

Formats de nom de fichiers journaux

SSHRecording: {{StartTime}}-{{.TeamName}}-{{Username}}

RDPRecording: {{StartTime}}-{{Protocol}}-{{.TeamName}}-{{ProjectName}}-{[.ServerName}}-{{.Username}}

Les administrateurs système peuvent personnaliser et configurer l'option logFileNameFormats pour mieux comprendre et gérer les journaux d'enregistrement de session.

  • StartTime : heure à laquelle l'enregistrement de la session commence. La conversion de l'heure est effectuée à l'aide du format standard ISO 8601.

  • TeamName : le nom de l'équipe Advanced Server Access de l'utilisateur qui déclenche la session de connexion.

  • UserName : le nom de l'utilisateur qui déclenche la session SSH ou RDP.

  • Protocol : le protocole de connexion ; SSH ou RDP.

  • ProjectName : le nom du projet auquel appartient le serveur SSH ou RDP cible.

  • ServerName : le nom d'hôte du client du serveur cible connecté à la session SSH ou RDP.