L’un des gros avantages retenus par rapport au VPN est le fait de pouvoir verrouiller la copie de fichiers et l’accès au presse-papier. De plus, la mise en place d'une passerelle VPN peut s'avérer peu sécurisée. En effet, dans le cas d'une attaque par cheval de Troie, ce dernier peut atteindre le réseau interne, à l'inverse du RDP.
Cette documentation a pour but de détailler l’installation et la configuration de cette passerelle. Nous verrons donc :
L’installation du rôle serveur
La configuration de ce rôle avec notamment :
La configuration du pare-feu afin de sécuriser au mieux la passerelle
La configuration nécessaire afin d’ajouter des éléments de sécurité supplémentaires
La configuration du client RDP de Windows pour utiliser la passerelle
Prérequis : Un windows serveur 2008 ou ultérieur
Pour installer le rôle de serveur, le plus rapide consiste à utiliser la commande PowerShell suivante :
Add-WindowsFeature RDS-Gateway –IncludeAllSubFeature –IncludeManagementTools
Patienter ensuite pendant l’installation du rôle, de ses prérequis et de ses outils de gestion.
Afin de pouvoir utiliser la passerelle, non seulement un certificat est requis, mais en plus la chaîne de sécurité doit être respectée. Si par exemple, on essaye d’accéder à la passerelle sans utiliser l’un des noms déclarés dans le certificat, la connexion sera impossible.
A cet effet, vous allez devoir utiliser votre certificat Wildcard, associé au nom DNS existant ip1 . VotreNomDeDomaine . com, qui permettra d’accéder à la passerelle.
Double-cliquer sur le certificat au format PFX pour démarrer l’installation et sélectionner Local Machine.
Valider le chemin du certificat, cliquer sur Next, saisir le mot de passe associé au certificat puis cliquer sur Next.
Sélectionner Place all certificates in the following store, choisir le magasin Personal, cliquer sur Next, puis cliquer finalement sur Finish pour terminer l’installation.
Afin de pouvoir autoriser les utilisateurs à se connecter nominativement, nous allons devoir utiliser les comptes locaux de la machine pour permettre l’authentification de la passerelle.
Pour cela, ouvrir la console de gestion des utilisateurs et groupes locaux : lusrmgr.msc
Pour créer un nouvel utilisateur, faire un clic droit sur Users et choisir New User…
Dans la fenêtre de création d’un nouvel utilisateur :
Nous allons ensuite créer un nouveau groupe. Faire un clic-droit sur Groups puis cliquer sur New group .
Dans la fenêtre de création d’un nouveau groupe :
Donner un nom au groupe
Cliquer sur le bouton Add
Saisir le mot de passe
Saisir l’identifiant de l’utilisateur
Cliquer sur le bouton Check Names pour valider le compte
Cliquer sur OK
Répéter l’opération pour les autres comptes
Cliquer finalement sur le bouton Create pour créer le compte
Afin de configurer la passerelle, ouvrir sa console de gestion (win + r) : tsgateway.msc
Faire un clic-droit sur Policies puis cliquer sur Create New Authorization Policies.
Laisser l’option par défaut puis cliquer sur Next.
Donner un nom à la stratégie d’autorisation des connexions puis cliquer sur Next.
Note : cette stratégie permet de filtrer les utilisateurs, sélectionner les méthodes de connexion (mot de passe et/ou carte à puce), désactiver certaines fonctionnalités (redirections USB, presse-papier…) et de définir un délai d’attente.
Sélectionner les méthodes d’authentification nécessaires, ajouter le groupe créé à l’étape précédente dans la section User group membership puis cliquer sur le bouton Next.
Sur la page de redirection des appareils, sélectionner Disable device redirection for the following client device types puis cocher toutes les cases situées dessous. Cliquer ensuite sur le bouton Next.
Cocher la case Enable idle timeout, saisir la valeur 30 pour 30 minutes puis cliquer sur Next.
Vérifier les informations résumées, puis cliquer sur Next.
Donner ensuite un nom à la stratégie d’accès aux ressources puis cliquer sur Next.
Note : cette stratégie permet de filtrer les ressources locales auxquelles les utilisateurs pourront accéder ainsi que les ports de connexion autorisés pour RDP.
Par défaut, l’assistant va pré-remplir le groupe saisi dans la stratégie d’autorisation des connexions. Cliquer sur Next.
L’assistant va ensuite demander quelles ressources sont autorisées. Comme nous ne sommes pas interfacés avec Active Directory, sélectionner Allow users to connect to any network resource (computer) puis cliquer sur Next.
Sur la page de sélection des ports autorisés, sélectionner Allow connectiosn to these ports et saisir le port suivant :
Cliquer ensuite sur le bouton Next.
Sur la page qui résume les informations saisies, Cliquer sur Finish.
De retour dans la console de gestion, nous allons maintenant terminer la configuration en important le certificat de sécurité et en configurant le port d’accès.
Faire un clic-droit sur le nom du serveur puis cliquer sur Properties.
Cliquer sur l’onglet SSL Certificates puis sur le bouton Import Certificate…
Sélectionner le certificat importé, puis cliquer sur le bouton Import.
De retour dans les propriétés du serveur, cliquer sur l’onglet Transport Settings, spécifier le port d’accès, ici 875, puis cliquer sur le bouton OK. Un avertissement va alors s’afficher indiquant que le redémarrage du service est nécessaire. Cliquer sur le bouton Yes.
Afin de sécuriser la machine au maximum, nous allons supprimer l’ensemble des règles de pare-feu préconfigurées
netsh advfirewall firewall delete rule name=all
Puis n’autoriser que les flux indispensables à savoir :
En entrant,:
netsh advfirewall firewall add rule name="Allow RD Gateway (TCP/875) in" protocol=TCP dir=in action=allow localip=xx.xx.xx.xx localport=875
netsh advfirewall firewall add rule name="Allow RDP (TCP/3389) in" protocol=TCP dir=in action=allow localip=xx.xx.xx.xx localport=3389 remoteip=xx.xx.xx.xx/8
En sortant :
netsh advfirewall firewall add rule name="Allow RDP (TCP/3389) out" protocol=TCP dir=out action=allow localip=xx.xx.xx.xx remoteport=3389
netsh advfirewall firewall add rule name="Allow DNS (UDP/53) out" protocol=UDP dir=out action=allow localip=xx.xx.xx.xx remoteip=xx.xx.xx.xx remoteport=53
netsh advfirewall firewall add rule name="Allow NTP (UDP/123) out" protocol=UDP dir=out action=allow localip=xx.xx.xx.xx remoteip=xx.xx.xx.xx remoteport=123
netsh advfirewall firewall add rule name="Allow ServicePilotAgent out" program="C:\Program Files (x86)\ServicePilot\ServicePilot ISM Enterprise\ServicePilotAgent.exe" dir=out action=allow
Nous allons ensuite effectuer une configuration supplémentaire pour permettre de verrouiller un compte si plus de 3 mauvais mots de passe sont saisis. Pour cela, nous allons lancer l’éditeur de stratégie de groupe local : gpedit.msc
Dans l’éditeur, se rendre dans Computer Configuration > Windows Settings > Security Settings > Account Policies > Account Lockout Policy et paramétrer les 3 stratégies :
Account lockout threshold : valeur de 3 tentatives de connexion
Account lockout duration : valeur de 5 minutes
Reset account lockout counter after : valeur de 5 minutes
Une fois la configuration de la passerelle effectuée, il faut ouvrir le port que vous avez renseigné sur votre routeur qui lie votre WAN à votre LAN. On réalise cela en effectuant une commande PAT afin de translater le port 875 vers le port 3389. Cette commande est réalisée sous un routeur cisco. Bien entendu, en fonction de votre architecture, cette commande peut changer. Renseignez-vous sur la commande à l'aide de la documentation de votre routeur.
ip nat inside source static tcp {ipa} {ipb} route-map FIBRE extendable
Une fois la passerelle installée et le port de votre routeur ouvert, il ne vous reste plus qu'à vous connecter. Voici comment faire.
Connexion au serveur RDS (ou autre) :
Dans la boite de dialogue taper mstsc. Dans la fenêtre de connexion bureau à distance qui s’ouvre, saisir le nom local de la machine à atteindre (RDS ou autre) puis cliquer sur le bouton Afficher les options.
Cliquer sur l’onglet Avancé puis sur le bouton Paramètres… Sélectionner l’option Utiliser ces paramètres de serveur de passerelle Bureau à distance et saisir l’adresse de la passerelle ip.passerelle.com:875 puis cliquer sur OK.
Revenir sur l’onglet Général, cliquer sur le bouton Enregistrer pour sauvegarder la configuration puis cliquer sur Connexion.
Pour profiter de la solution de supervision avec ServicePilot, créer un compte SaaS gratuitement en suivant le lien.
Par la suite, suivez les étapes afin d'administrer votre serveur passerelle :
Dans cette partie, nous allons voir comment superviser votre routeur ainsi que ses ports et ceux de votre pare-feu.
Connectez-vous à l'interface web de ServicePilot, en utilisant un compte appartenant à un groupe disposant du niveau d'accès Admin.
Ouvrez la configuration cliquant sur l'icône engrenage et cliquez sur Vues
Naviguez dans la hiérarchie de vues existante dans le volet de gauche et cliquez sur la vue dans laquelle vous souhaitez ajouter la nouvelle ressource.
Sélectionnez le type de package de supervision nécessaire par catégorie et utilisez le filtre pour limiter les options affichées. Dans notre cas, nous souhaitons superviser un routeur cisco.
Drag-and-drop un package dans l'éditeur de vue central
Définissez les propriétés des ressources en fonction du type de package sélectionné. Un nom de ressource unique est toujours requis ainsi que tous les champs marqués d'un . La ressource utilisera l'agent par défaut pour obtenir les données à moins que les champs Agent ne soient remplis avec les agents à partir desquels les requêtes doivent être effectuées. L'agent Ping SNMP Agent sera utilisé pour toutes les requêtes Ping et SNMP tandis que l'agent Agent* sera utilisé pour toutes les autres requêtes.
Cliquez sur OK
Enfin, cliquez sur Enregistrer tous les changements.
Vous pouvez maintenant visualiser les données de supervision de votre routeur dans le tableau de bord standard dédié.
Afin de superviser nos ports en terme de sécurité, nous allons appliquer une policy inversée. C'est à dire que ,du moment que nous ne recevons pas de réponse du port que l'on essaie de joindre, alors, ce dernier renverra un indicateur "ok". A l'inverse, si l'on reçoit une réponse du port, alors cela voudra dire qu'il y a une faille de sécurité et que ce port a été ouvert. Bien entendu, sur les ports ouverts, vous pourrez faire l'inverse, sans utiliser cette policy.
Dans un premier temps, nous allons créer une "policy" de seuil inversé :
Connectez-vous à ServicePilot, en utilisant un compte appartenant à un groupe disposant du niveau d'accès Admin.
Ouvrez la configuration
Accédez à l'élément "Policies"
Cliquez sur Ajouter une policy
Complétez la boîte de dialogue comme ci-joint (Ici, un exemple d'une policy inversée pour des checks TCP). A l'aide du crayon vert, cherchez et sélectionnez la classe TCP Application (Aidez vous du filtre en tapant "TCP Application"). Faites de même pour la case Nom. Enfin, tapez comme ci-joint dans la case "IF 1", cela permettra d'inverser notre indicateur.
Cliquez sur OK
Pour finir, cliquez sur Enregistrer
Ensuite, nous allons ajouter une ressource dans notre vue afin de superviser les ports et la lier à notre policy inversée. Si vous ne souhaitez pas appliquer la policy à votre ressource, il vous suffira de ne pas sélectionner de policy dans la configuration de la ressource.
Ouvrez la configuration cliquant sur l'icône engrenage
Naviguez dans la hiérarchie de vues existantes dans le volet de gauche et cliquez sur la vue dans laquelle vous souhaitez ajouter la nouvelle ressource.
Sélectionnez le type de package de supervision nécessaire par catégorie et utilisez le filtre pour limiter les options affichées. Pour superviser des ports TCP, choisissez appmon-tcp
Drag-and-drop un package dans l'éditeur de vue central
Définissez les propriétés des ressources en fonction du type de package sélectionné. Un nom de ressource unique est toujours requis ainsi que tous les champs marqués d'un . La ressource utilisera l'agent par défaut pour obtenir les données à moins que les champs Agent _ne soient remplis avec les agents à partir desquels les requêtes doivent être effectuées. Dans notre exemple, nous configurons une surveillance sur le port 21 avec notre agent local sur l'IP 10.1.1.15
Afin d'appliquer notre "policy" inversé, rendez vous dans l'onglet policies, cliquez sur le bouton add a policy et sélectionnez votre policy inversée "TCP CHECK KO". Si vous ne souhaitez pas appliquer cette policy, ne faites rien.
Cliquez sur OK
Enfin, cliquez sur Enregistrer tous les changements.
Il ne vous reste qu'à ajouter une ressource pour chaque port de votre passerelle et/ou routeur.
Tous les nouveaux checks de ports sont automatiquement ajoutés au tableau de bord standard correspondant.
Durant cette partie, nous allons voir comment superviser les connexions à la passerelle. A la fin de ce tutoriel, vous aurez sur votre tableau de bord, les heures et IPs de connexions de vos collègues via la passerelle RDP. De plus, vous aurez aussi la possibilité de voir les connexions HTTP des personnes connectées à la plateforme, les temps de réponse de chaque site web et bien d'autres choses.
Connectez-vous à ServicePilot, en utilisant un compte Admin.
Ouvrez la configuration en cliquant sur la roue crantée en haut à droite et cliquez sur Vues
Sélectionnez le type de package de supervision nécessaire par catégorie et utilisez le filtre pour limiter les options affichées. Dans notre cas, nous utiliserons le package services-appflow
Configurer le package comme vous le souhaitez. Dans notre cas, nous laissons l'agent local (c'est pour ça que la case agent est vide) et nous sélectionnons toutes les interfaces à l'aide du symbole étoile.
Cliquez sur OK
Enfin, cliquez sur Enregistrer tous les changements.
Ouvrez de nouveau la configuration en cliquant sur la roue crantée en haut à droite et cliquez sur Services
Cliquez sur Ajouter un Service
Configurer le service de votre choix (dans notre cas, on configure un APM pour le service SSH):
La case Service permet de renseigner le nom de ce dernier
Laissez la case Technologie en dpi
Pour le traitement, choisissez serveur (à l'inverse de l'image)
Choisissez le protocole du service que vous souhaitez superviser
Entrez le port que vous souhaitez écouter dans l'onglet Serveur Port
Laissez le symbole étoile dans la case Serveur IP à moins que vous souhaitiez renseigner une IP. Si vous spécifiez une IP ce sera l'IP d'écoute.
Entrez un nom dans la case vue, ce dernier créera une nouvelle vue sous ce nom
Cliquez sur OK
Voici un autre exemple avec une configuration que l'on pourrait effectuer pour notre serveur RDP Gateway :
![APM SERVICES CONFIG RDP](/images/blog/blog11/RDPEDIT.png)
Enfin, cliquez sur Enregistrer tous les changements.
Voici un exemple de ce que l'on peut obtenir une fois la configuration de plusieurs APM effectués
Connectez-vous à ServicePilot, en utilisant un compte Admin.
Ouvrez la configuration en cliquant sur la roue crantée en haut à droite et cliquez sur Vues
Sélectionnez le type de package de supervision nécessaire par catégorie et utilisez le filtre pour limiter les options affichées. Dans notre cas, nous utiliserons le package log-windows-event
Configurer le package comme vous le souhaitez. Dans notre cas, nous assignons l'agent installé sur la machine passerelle.
Cliquez sur OK
Enfin, cliquez sur Enregistrer tous les changements.
Voici ce que l'on obtient une fois le provisioning effectué :
Connectez-vous à ServicePilot, en utilisant un compte Admin.
Ouvrez la configuration en cliquant sur la roue crantée en haut à droite et cliquez sur Vues
Sélectionnez le type de package de supervision nécessaire par catégorie et utilisez le filtre pour limiter les options affichées. Dans notre cas, nous utiliserons le package server-rdp-session
Configurer le package comme vous le souhaitez. Dans notre cas, nous assignons l'agent installé sur la machine passerelle.
Cliquez sur OK
Enfin, cliquez sur Enregistrer tous les changements.
Voici ce que l'on obtient une fois le provisioning effectué :