Réaliser un Bastion de Tier 0 abordable – 4/5

Dans ce quatrième article, nous allons mettre en place le bastion !

Présentation

Royal TS, Royal Server et Yubikey

Bastion avec Royal TS et Royal Server

Mise en œuvre

Scénario d’utilisation

Télécharger les cinq articles en PDF !


Mise en œuvre

Installation

Un serveur physique a été dédié à l’hébergement du serveur Royal Server (Serveur RS pour la suite de ce document). Ce prérequis est nécessaire pour permettre l’accès aux hyperviseurs en cas de problème ne permettant pas aux machines virtuelles d’être jointes. A noter que ce principe n’est valable que si au moins l’un de vos DC n’est pas hébergé sur le cluster…

L’installation est assez classique : vous devez disposer d’un compte administrateur local pour réaliser l’installation et disposer d’une licence valide pour terminer l’installation.

Une fois l’installation terminée, un service nommé Royal Server sera installé et configuré avec le compte Local System.

Prérequis à la configuration

Avant de configurer le serveur, vous devrez vérifier que le compte authenticated users soit bien membre du groupe Accès compatible pré-Windows 2000 – cela est malheureusement requis pour que l’authentification fonctionne correctement.

Note : vous pouvez remplacer le groupe authenticated users par le Server RS mais faites attention aux effets de bords pour certaines applications ou services (ADFS, RODC, …)

Pour son fonctionnement avec Active Directory, un compte de service sera utilisé pour interroger les groupes de l’annuaire (simple utilisateur suffit) et si vous envisagez également d’utiliser les autres fonctionnalités de Royal Server (remote script, relancer un service, …), ce même compte sera utilisé. Ce compte est appelé Worker Account – ce dernier devra disposer des droits adéquates sur le système cible et s’appuiera sur un compte Active Directory (non-compatible avec les gMSA) :

Type de compteDescrptionSamAccountName
Objet UtilisateurWorker AccountSVC.RoyalServer

Trois groupes seront également créés localement pour définir les privilèges d’accès et d’administration, ces groupes devront avoir pour membre des groupes du domaine :

Type de GroupePortéeNom
Objet UtilisateurDomaine LocalL-S-RoyalServer-Users
Objet UtilisateurDomaine LocalL-S-RoyalServer-GwayUsers
Objet UtilisateurDomaine LocalL-S-RoyalServer-Admins
Objet UtilisateurGlobalG-S-RoyalServer-Users
Objet UtilisateurGlobalG-S-RoyalServer-GwayUsers
Objet UtilisateurGlobalG-S-RoyalServer-Admins

Les groupes de type domaine local permettent d’appliquer le droit sur le serveur, alors que les groupes de type global permettent de gérer les comptes par adhérence. Chaque groupe global doit être membre de son binôme domaine local (ex. : G-S-RoyalServe-Users est membre de L-S-RoyalServe-Users).

Une fois les prérequis créés, vous pouvez commencer la configuration du serveur.

Royal Server

Configuration initiale

Lors de son lancement initial, Royal Server vous demandera de procéder à l’enregistrement de votre licence, puis de créer un Worker Account : ce compte permet à l’application d’interagir auprès de vos serveurs pour effectuer les opérations à distance ainsi que d’interroger l’annuaire.

Insérez ici le compte de service SVC.RoyalServer précédemment créé.

Configuration du service

Rendez-vous ensuite dans le menu Service Configuration et faite pointer le service sur l’adresse d’écoute du bastion – vous pouvez également changer le port par défaut et activer la compression des données pour optimiser la bande passante de votre réseau (au détriment de la mémoire et du processeur). Par défaut, Royal Server est configuré pour fonctionner avec un certificat auto-signé en SHA256, mais vous pouvez y ajouter votre propre certificat (attention, la clé privée est nécessaire).

Configuration de la sécurité

Rendez-vous dans le menu Security Configuration et activer l’option Require Authentification. Cette option force le client à présenter un couple « utilisateur/mot de passe » lorsqu’il tente d’accéder au serveur RS – ce compte peut-être enregistrer dans un fichier de configuration Royal Server (ce qui sera utile pour ne pas dévoiler le mot de passe du compte opérateur).

Si vous le souhaitez, vous pouvez également bloquer automatiquement les adresses IP qui tente de s’authentifier sans succès avec l’option block IPs after unsuccessfull login attempts. Vous pouvez définir la durée du blocage en minute (Blocking time), le nombre d’échec autorisé avant le déclenchement (number of attempts) et la période d’observation avant la réinitialisation du compteur d’échec (time frame).

Permissions

Les permissions octroient un accès pour un utilisateur à un certains niveau de droits sur l’application et ses données. Il existe trois niveaux de permission :

  • Le niveau Users : Donne un accès au serveur RS et à ses services. C’est le niveau requis pour un simple utilisateur qui souhaite accéder au Document Store par exemple, ou s’appuyer sur le worker Account pour faire effectuer des opérations à distance par le serveur RS.
  • Le niveau Gateway Users : Permet d’utiliser le service de passerelle pour forcer le flux à transiter via la Secure Gateway dans un flux SSH.
  • Le niveau Administrators : Permet d’administrer tout le serveur et ses services.

Chacun de ses niveaux de permissions est contrôler par un groupe local sur le système. Ce groupe devra contenir les groupes de domaine que nous avons pré-créés.

Pour configurer les permissions d’accès, allez dans le menu Permissions puis sélectionnez l’onglet Users. Cliquez sur Configure… pour ouvrir la console d’accès. A son premier lancement, trois nouveaux groupes locaux seront ajoutés dans votre base SAM :

 Vous devrez ajouter, pour chacun, son pendant « domaine local » dans l’AD :

Groupe localGroupe de domaine membre
Royal Server AdministratorsL-S-RoyalServer-Admins
Royal Server Gateway UsersL-S-RoyalServer-GwayUsers
Royal Server UsersL-S-RoyalServer-Users

Une fois fait, fermez la console Local User Manager et redémarrez le service (bouton en haut à gauche de la console).

Enfin, l’onglet Effective Permissions vous permet de contrôler que le serveur récupère correctement les permissions d’un compte utilisateur.

Authentification multi-facteur

Sélectionnez le menu Multi-Factor Authentication puis cliquez sur l’onglet Providers. Cochez l’option Enable Multi-Factor Authentication puis sélectionnez les services à activer (Authenticator, DUO ou Yubikey).

Secure Gateway

Gateway Configuration

Sélectionner le menu Secure Gateway puis Gateway Configuration : définissez l’adresse d’écoute du service. Vous pouvez également modifier le port d’écoute du service SSH, la durée d’inactivité avant fermeture du tunnel et le nombre de connexion maximale autorisée.

Gateway Security Configuration

Pour augmenter la sécurité, sélectionnez Gateway Security Configuration puis cocher la case Only Allow Royal TS/X as client. Cela forcera la passerelle à n’accepter que les clients Royal TS et bloquera toute tentative de compromission du tunnel SSH depuis l’extérieur.

Permissions

L’utilisation de la passerelle requiert que les utilisateurs soient membre du groupe Royal Server Gateway Users – ce groupe a normalement déjà été configuré à l’étape précédente.

Document Store

Configuration

Sélectionnez Document Store puis Configuration dans le menu puis activez l’option Enable Document Store. Précisez l’emplacement par défaut de vos documents et le nombre de sauvegarde souhaité. Cochez l’option Access Rules enabled pour permettre d’ajouter un niveau de droit additionnel sur le document.

Chaque document se verra allouer une stratégie d’accès par utilisateur : lecture ou modification, accès autorisé ou interdit. Cette stratégie est l’une des clés de la sécurisation.

Documents

Cet emplacement permet de gérer les documents et les permissions d’accès en lecture ou modification (ou d’interdire l’accès à un document). Pour le moment, ce dernier reste vide.

Permissions

L’accès au Document Store est possible dès lors que le compte est membre du groupe Royal Server Users. L’onglet Effective Permissions permet de vérifier les droits d’accès d’un utilisateur ; l’onglet Users permet de gérer les permissions d’accès via le groupe local.

Le serveur est maintenant configuré avec les options de bases qui nous permettrons d’ajouter les utilisateurs et les documents de configuration. La sécurisation des comptes par MFA sera abordée plus tard, au travers du modus operandi de l’ajout d’un compte.

Royal TS

Récupération du binaire

Le binaire est téléchargeable à l’adresse suivante :

https://www.royalapps.com/ts/win/features

Installation

L’installation requiert un privilège d’administrateur local sur le système cible. Les instructions d’installation sont disponibles à cette adresse :

https://support.royalapps.com/support/solutions/articles/17000027816-install-and-uninstall-instructions