TRASA : bastion et MFA – Installation et Configuration avec Docker

Dans ce tutoriel, je vais présenter TRASA et vous montrez comment le mettre en place.

TRASA c’est quoi ?

TRASA, c’est plusieurs choses :

  • Une solution « bastion » comme Guacamole (que je vous ai déjà présenté) mais plus conviviale comme vous pourrez le voir.
  • Une solution MFA pour Windows RDP.

Comme Guacamole, TRASA permet d’accéder par un portail Web à des services :

  • SSH
  • RDP
  • Web
  • Base de données (MySQL)

L’accès aux applications Web est un plus rapport à Guacamole, ce qui peut vous permettre de donner l’accès seulement à des applicatifs Web pour le support prestataire ou à des équipements type Firewall.

TRASA met l’accès sur la sécurité comme vous pourrez le voir, l’authentification à double facteur est obligatoire pour se connecter à l’interface Web.

Les sources de TRASA sont disponibles ici : https://github.com/seknox/trasa

Prérequis

Avant de lancer dans l’installation de TRASA vous aurez besoin :

  • D’un serveur Linux avec Docker et docker-compose
  • D’un smartphone avec une application d’authentification type : Google Authentificator ou Microsoft Authentificator

Petit « cadeau », si vous êtes sur Ubuntu, vous pouvez utiliser ce script pour installer Docker et docker-compose :

Installation de TRASA

Comme nous allons utiliser docker-compose, l’installation est assez simple et rapide, il faut juste utiliser la commande docker-compose dans le dossier où se trouve le fichier docker-compose.yml.

Il existe plusieurs façon, vous les trouverez ici : https://www.trasa.io/docs/install/installation/

Sur mon serveur, je vais travailler dans le dossier /containers/trasa.

Récupérer les fichiers nécessaire ici : https://git.rdr-it.io/docker/trasa

Si nécessaire adapter le fichier docker-compose.yml à vos besoins et environnement

Télécharger les images :

sudo docker-compose pull

Démarrer les images :

sudo docker-compose up -d

Lors de la première exécution, je vous conseille d’utiliser la commande sans le paramètre -d pour avoir le retour dans la console.

TRASA est maintenant installé, nous allons passer

Premier lancement de TRASA

Lors du premier lancement, il va falloir configurer le compte root de l’application et configurer le MFA, vous allez avoir besoin de votre smartphone.

Lancer un navigateur et aller à l’URL ou IP de TRASA.

Entrer le nom d’utilisateur root 1, le mot de passe changeme 2 et cliquer sur Sign in 3.

Changer le mot de passe du compte root, entrer votre nouveau mot de passe 1,, confirmer le 2 et cliquer sur Submit 3.

De retour sur le formulaire d’authentification, identifiant avec le compte root et le nouveau mot de passe.

Une page avec un QRCode s’affiche, utiliser ce QRCode dans votre application d’authentification, une fois ajoutée dans l’application, cliquer Done 1.

Entrer le code 1 TOTP, afin de valider le bon fonctionnement de la double authentification, cliquer sur Verify 1.

Une fois valider, vous arrivez sur le Tableau de bord de TRASA, qui est pour le moment vide.

Pour accéder au menu, cliquer sur le burger 1 qui se trouve en haut à gauche.

Vous avez les différents éléments du menu qui s’affiche, je ne vais pas les détailler maintenant, au fur et à mesure de la configuration, nous allons passer dedans.

Nous allons maintenant passer à sa configuration et son utilisation.

Configuration et utilisation de TRASA

C’est partie, pour la configuration et l’utilisation de TRASA, je ne vais aborder dans ce tutoriel, toutes les possibilités qui sont possibles avec TRASA, mais vous donner les informations nécessaires pour bien commencer

Configuration du coffre-fort

TRASA dispose d’un coffre fort (vault) qui permet le stockage des informations d’identification (identifiant / mot de passe) pour se connecter aux différents services (RDP, SSH …).

Il est nécessaire de le configurer.

Dans le menu cliquer sur Providers 1.

Cliquer ensuite sur Secret Storage 1.

Sur la capture ci-dessous, on peut voir le coffre n’est pas initialisé, cliquer sur le bouton Initialize 1.

Une popup s’affiche avec 5 clef, enregistrer les clefs et fermer la fenêtre en cliquant sur le bouton Close 1.

A chaque redémarrage du serveur ou des conteneurs, il faut déverrouiller le coffre-fort.

Le coffre fort est actif.

Déverrouiller le coffre-fort de TRASA

Après un redémarrage, aller à la page du coffre-fort.

Sur la capture, on peut voir que le coffre est actif, mais qu’il n’est pas accessible, le statut est Encrypted.

Cliquer sur Entrer Decryption Key 1 et entrer la clé numéro 1 2 et cliquer sur Submit 3.

Recommencer avec la clé numéro 2 et 3.

le coffre est déverrouillé.

Gestion des services

Maintenant, on va mettre en place des services qui vont être accessible dans TRASA.

Le service RDP – Bureau à distance

Ajouter un accès RDP

Un accès RDP va permettre de se connecter à un serveur Windows par le navigateur Internet.

Depuis le menu cliquer sur Services 1.

On arrive sur la liste des services disponibles par Trasa, pour le moment celle-ci est vide, cliquer sur le bouton Create new service 1.

Entrer le nom du service 1, le type de service (RDP) 2, l’adresse IP ou le nom de l’hôte 3 et terminer en cliquant sur Submit 4 pour créer le service.

L’option Adhoc access permet d’ajouter une sécurité supplémentaire, la connexion devra être valider par un administrateur

Après la création du service, on est redirigé vers la page du service.

Le service est créé, mais pour le moment, on ne peut pas l’utiliser car il faut lui affecter une stratégie (policy) et un compte utilisateur. Cliquer sur Access Maps 1.

Pour le moment, n’ayant pas de groupe, on va faire un mapping de notre utilisateur root sur le compte administrateur du serveur avec la stratégie d’accès par défaut. Cliquer sur Assign user 1.

Sélectionner l’utilisateur 1 et la stratégie 2, vu qu’il y a un seul élément cela revient à tout sélectionner, entrer ensuite le compte utilisateur pour se connecter au serveur Windows 3 et cliquer sur Submit 4.

Dans la partie User Access Map, on retrouve notre autorisation.

Le champ utilisateur est vide car le profil du compte n’est pas complété.

Il nous reste une chose à ajouter à notre service, le mot de passe du compte Administrateur, il n’est pas obligatoire d’ajouter le mot de passe lié au compte de connexion, dans ce cas la l’utilisateur devra entrer le mot de passe.

Cliquer sur Manage Credentials 1.

Entrer l’identifiant 1 et le mot de passe du compte 2 et cliquer sur le + 3 pour enregistrer.

Quand on clique le bouton +, il y a seulement cred strored qui s’affiche, pour afficher l’enregistrement, il faut actualiser la page.

L’identifiants sont enregistrés.

Notre service RDP est configuré.

Utiliser le service RDP

Maintenant, je vais vous montrer comment utiliser le service RDP que nous venons de créer.

Depuis le compte un compte administrateur de TRASA, comme le compte root que l’on utilise, il faut cliquer sur AA 1 en haut à droite puis sur My Account 2 pour arriver à une vue utilisateur « normal ».

On arrive sur un page (My Route), où l’on voit les différents services auxquels on a accès, on retrouve notre connexion RDP.

Cliquer sur le bouton Connect 1 puis sur l’identifiant 2.

La connexion s’ouvre dans une nouvelle fenêtre (onglet), par défaut sur la stratégie d’accès, la double authentification est activée, cliquer sur TOTP 1.

Entrer le code à 6 chiffres 1 disponible sur l’application d’authentification et cliquer sur le bouton Submit 2.

Ensuite la session s’ouvre et vous êtes connecté à votre serveur.

Le clavier est en qwerty, au moment de la rédaction de ce tutoriel, il n’est pas possible de le passer en azerty

En cliquant sur l’engrenage 1, des actions disponibles sur le serveur d’affiche, pour accéder au copier/coller, transfert de fichiers et envoyer un Crtl+Alt+Suppr au serveur.

Les éléments envoyés sur le serveur sont accessibles par un lecteur réseau, qui est mappé automatiquement.

Vous savez maintenant comment créer et utiliser une connexion RDP avec TRASA.

Le service SSH

Maintenant, je vais vous montrer comment mettre en place une connexion SSH, si vous avez suivi la partie RDP, c’est quasiment identique, je vais donc aller plus vite sur cette partie.

Ajouter un service SSH

Aller à la gestion des services et cliquer sur Create new service 1.

Entrer le nom du service 1, sélectionner SSH 2 puis entrer son adresse 3 et cliquer sur Submit 4.

Le service est ajouté et on est redirigé vers la page ce celui-ci.

Ajouter une stratégie d’accès :

Pour l’accès SSH, j’ai volontaire pas configuré de mot de passe dans le coffre-fort.

Utiliser le service SSH

Depuis la page My Route, je retrouve le service SSH.

Cliquer sur Connect 1 et sélectionner l’identifiant de la stratégie 2.

Entrer le mot de passe 1 du compte sur la machine Linux SSH et cliquer sur Submit 2.

Sélectionner la méthode d’authentification à double facteur.

Entrer le code 1 et cliquer sur Submit 2.

A la première connexion en SSH sur le serveur, il faut valider le certificat en entrant Y.

On est maintenant connecter en SSH sur le serveur.

Monitoring des services

Maintenant que l’on a vu comment ajouter des services, on va voir les différentes façon de voir ce qui s’est passé. Je vais également vous montrer comment voir les vidéos de session, car la stratégie par défaut enregistre toutes les sessions.

Le monitoring est disponible à plusieurs endroits.

Depuis le menu / Monitoring, on arrive sur la page Live sessions, qui permet de voir les sessions en cours.

Le bouton View permet de connecter à la session pour voir ce qui se passe et aussi agir.

La section History permet de voir toutes les authentifications aussi bien sur les services que sur TRASA.

Pour les sessions sur des services où l’enregistrement est activé, il est possible de voir la vidéo en cliquant sur le bouton View.

Depuis la page d’un service, dans Access Stats, des informations de monitoring et historique sont aussi disponibles.

Dans la gestion des utilisateurs, on retrouve aussi des informations sessions.

Le Dashboard de connexion affiche aussi des informations.

Pour finir, l’utilisateur peut également avoir accès à l’historique de ses identifications.

Voir une vidéos d’une session

L’enregistrement vidéo permet de voir ou revoir ce qui a été fait, ce qui peut être pratique en cas de problème ou pour vérifier ce qui a été fait par un fournisseur par exemple.

Depuis une vue d’historique de session que l’on vue précédemment, cliquer sur le bouton View 1.

Une nouvelle fenêtre s’ouvre avec la vidéo pour les sessions RDP et pour les connexions SSH tout ce qui a été affiché au niveau du terminal.

Gestion des stratégies

Je vais maintenant vous présenter les stratégies (Access Policies), qui vont permettre de configurer les jours et horaires d’accès aux différents services.

Depuis le menu cliquer sur Control 1.

On arrive sur une page qui liste les stratégies et où depuis on peut en ajouter.

Comme on peut le voir sur la capture, j’ai deux stratégies, celle par défaut full-access, qui donne un accès complet 24/24, et une stratégie Week-end qui donne accès le samedi et dimanche de 08h à 18h

Aperçu des stratégies :

Je ne vais pas rentrer dans le détail de la création et édition de stratégie dans ce tutoriel, il suffit de suivre l’assistant qui est bien fait.

Les stratégies sont ensuite à mapper avec les services et les comptes utilisateurs, on pourrait pas exemple imaginer un utilisateur ou groupe, qui la semaine à le droit de se connecter avec le compte Administrateur sur un serveur pour le gérer et le week-end un compte support pour faire simplement de la supervision.

Pour désactiver, le MFA ou l’enregistrement, il faut désactiver les options dans les stratégies :

Depuis les stratégies, on peut aussi configurer une restriction IP et la possibilité de transférer des fichiers.

La dernier partie que je n’ai pas testé, c’est Device Hygiene, qui permet de mettre des conditions sur la configuration de l’ordinateur, ce qui implique d’avoir un agent sur l’ordinateur qui va remonter les informations à TRASA.

Authentification à double facteurs sur Windows

TRASA permet également de mettre en place en système de MFA sur l’authentification Windows pour les sessions Bureau à distance ET locale.

A la base, je devais vous parler de cette partie, mais je n’ai jamais réussi à faire fonctionner le 2FA sur Windows correctement.


Pour conclure sur TRASA, je trouve que leur partie portail d’accès type Bastion et une bonne alternative à Guacamole et un peu plus complète et simple à utiliser.

TRASA est solution à surveiller.