Dans ce quatrième article, nous allons mettre en place le bastion !
Royal TS, Royal Server et Yubikey
Bastion avec Royal TS et Royal Server
Mise en œuvre
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 compte | Descrption | SamAccountName |
Objet Utilisateur | Worker Account | SVC.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 Groupe | Portée | Nom |
Objet Utilisateur | Domaine Local | L-S-RoyalServer-Users |
Objet Utilisateur | Domaine Local | L-S-RoyalServer-GwayUsers |
Objet Utilisateur | Domaine Local | L-S-RoyalServer-Admins |
Objet Utilisateur | Global | G-S-RoyalServer-Users |
Objet Utilisateur | Global | G-S-RoyalServer-GwayUsers |
Objet Utilisateur | Global | G-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 local | Groupe de domaine membre |
Royal Server Administrators | L-S-RoyalServer-Admins |
Royal Server Gateway Users | L-S-RoyalServer-GwayUsers |
Royal Server Users | L-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 :