Tutoriel : Travail à distance sécurisé avec Microsoft RDP sans VPN


 AccueilBlogTravail à distance sécurisé et supervisé avec le Microsoft Remote Desktop Protocol RDP

Introduction

Afin de sécuriser et de rendre plus souple le travail à distance, la mise en place d'une passerelle de bureaux à distance (Remote Desktop Gateway) est très utile.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 :

    • L’installation du certificat de sécurité
    • La configuration des comptes locaux
    • La configuration de la passerelle en elle-même
  • 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

1 Installation de la passerelle

Prérequis : Un windows serveur 2008 ou ultérieur

1.1 Installation du rôle serveur

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.

1.2 Configuration du rôle

1.2.1 Installation du certificat de sécurité

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.

WizardCertif1

Valider le chemin du certificat, cliquer sur Next, saisir le mot de passe associé au certificat puis cliquer sur Next.

WizardCertif2WizardCertif2

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.

WizardCertif4WizardCertif5

1.2.2 Configuration des comptes locaux

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

AccountImg1

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 :

  • Saisir l’identifiant au format première lettre du prénom + nom
  • Saisir le nom complet
  • Saisir le mot de passe
  • Confirmer le mot de passe
  • Décocher la case User must change password at next logon
  • Cocher la case User cannot change password
  • Cocher la case Password never expires
  • Cliquer sur le bouton Create pour valider

    AccountImg2

Nous allons ensuite créer un nouveau groupe. Faire un clic-droit sur Groups puis cliquer sur New group .

AccountImg3

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

compteimg4compteimg5

1.2.3 Configuration de la passerelle de bureaux à distance

Afin de configurer la passerelle, ouvrir sa console de gestion (win + r) : tsgateway.msc

1.2.3.1 Création des stratégies d’autorisations

Faire un clic-droit sur Policies puis cliquer sur Create New Authorization Policies.

strategie1

Laisser l’option par défaut puis cliquer sur Next.

strategie2

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.

strategie3

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.

strategie4

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.

strategie5

Cocher la case Enable idle timeout, saisir la valeur 30 pour 30 minutes puis cliquer sur Next.

strategie6

Vérifier les informations résumées, puis cliquer sur Next.

strategie7

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.

strategie8

Par défaut, l’assistant va pré-remplir le groupe saisi dans la stratégie d’autorisation des connexions. Cliquer sur Next.

strategie9

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.

strategie10

Sur la page de sélection des ports autorisés, sélectionner Allow connectiosn to these ports et saisir le port suivant :

  • 3389 : port par défaut utilisés pour toutes les machines

Cliquer ensuite sur le bouton Next.

strategie11

Sur la page qui résume les informations saisies, Cliquer sur Finish.

strategie12

1.2.3.2 Installation du certificat et définition du port d’accès

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.

PortAccesetCertif1

Cliquer sur l’onglet SSL Certificates puis sur le bouton Import Certificate…

PortAccesetCertif2

Sélectionner le certificat importé, puis cliquer sur le bouton Import.

PortAccesetCertif3

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.

PortAccesetCertif4

1.3 Configuration du pare-feu Windows

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,:

  • le TCP/875 pour l’accès à la passerelle

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

  • Le TCP/3389 pour l’accès RDP uniquement en local à des fin de maintenance

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 :

  • Le TCP/3389 qui permettra de rebondir sur les machines locales

netsh advfirewall firewall add rule name="Allow RDP (TCP/3389) out" protocol=TCP dir=out action=allow localip=xx.xx.xx.xx remoteport=3389

  • L’UDP/53 pour permettre la résolution DNS

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

  • L’UDP/123 pour permettre à la machine de rester synchronisée via NTP

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

  • Une règle spécifique sera également créée pour permettre à l’exécutable ServicePilotAgent de communiquer avec son manager

netsh advfirewall firewall add rule name="Allow ServicePilotAgent out" program="C:\Program Files (x86)\ServicePilot\ServicePilot ISM Enterprise\ServicePilotAgent.exe" dir=out action=allow

1.3 Configurations Supplémentaires

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

ConfSupp1

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

2 Ouverture de port sur le routeur

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 XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY route-map FIBRE extendable

3 Installation d'un client RDP

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) :

  • Ouvrir le client d’accès en cliquant sur Démarrer > Exécuter

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.

client1client2

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.

client3

Revenir sur l’onglet Général, cliquer sur le bouton Enregistrer pour sauvegarder la configuration puis cliquer sur Connexion.

client4client5

4 Supervision depuis le cloud avec ServicePilot SaaS PRO

4.1 Installation d'un agent sur la passerelle

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 :

  1. Connectez vous sur l'interface web ServicePilot sur votre serveur passerelle
  2. En utilisant un compte avec des privilèges administrateurs, connectez vous.
  3. Ouvrez la configuration Configuration icon
  4. Cliquez sur Agents Agents menu item
  5. Cliquez sur Installer un agent Install an agent button
  6. Sélectionnez l'Agent Windows et suivez les instructions sous Commencer Get started button

4.2 Supervision routeur et firewall

Dans cette partie, nous allons voir comment superviser votre routeur ainsi que ses ports et ceux de votre pare-feu.

4.2.1 Mise en place de la supervision du routeur

  1. Connectez-vous à l'interface web de ServicePilot, en utilisant un compte appartenant à un groupe disposant du niveau d'accès Admin.
  2. Ouvrez la configuration cliquant sur l'icône engrenage et cliquez sur Vues Configuration icon
  3. 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. View navigation
  4. 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.addrouteur
  5. Drag-and-drop un package dans l'éditeur de vue central Packages list
  6. 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.

  7. Cliquez sur OK OK button

  8. Enfin, cliquez sur Enregistrer tous les changements. Save all changes button

Vous pouvez maintenant visualiser les données de supervision de votre routeur dans le tableau de bord standard dédié.

tableau de bord de supervision pour un routeur

4.2.2 Mise en place de la supervision des ports

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é :

  1. Connectez-vous à ServicePilot, en utilisant un compte appartenant à un groupe disposant du niveau d'accès Admin.

  2. Ouvrez la configuration Configuration icon

  3. Accédez à l'élément "Policies" Policies Menu Item

  4. Cliquez sur Ajouter une policy Add a policy button

  5. 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.ConfigPolicy

  6. Cliquez sur OK OK button

  7. Pour finir, cliquez sur Enregistrer Save button

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.

  1. Ouvrez la configuration cliquant sur l'icône engrenage Configuration icon

  2. 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. View navigation

  3. 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-tcpAddAppMonTCP

  4. Drag-and-drop un package dans l'éditeur de vue central

  5. 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.15ConfigureTCP1

  6. 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.ConfigureTCP2

  7. Cliquez sur OK OK button

  8. Enfin, cliquez sur Enregistrer tous les changements. Save all changes button

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.

tableau de bord de supervision pour un routeur

4.3 Supervision des connexions RDS

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.

4.3.1 Mise en place de la supervision des connexions

  1. Connectez-vous à ServicePilot, en utilisant un compte Admin.

  2. Ouvrez la configuration en cliquant sur la roue crantée en haut à droite et cliquez sur Vues

    Configuration icon

  3. 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

    APM ADD

  4. 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.

    APM CONFIG

  5. Cliquez sur OK OK button

  6. Enfin, cliquez sur Enregistrer tous les changements. Save all changes button

  7. Ouvrez de nouveau la configuration en cliquant sur la roue crantée en haut à droite et cliquez sur Services

    Configuration icon

  8. Cliquez sur Ajouter un Service

    APM SERVICES

  9. 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 OK button

      APM SERVICES CONFIG

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)
  1. Enfin, cliquez sur Enregistrer tous les changements.Save all changes button

  2. Voici un exemple de ce que l'on peut obtenir une fois la configuration de plusieurs APM effectués

    APM DISPLAY 1

    APM DISPLAY 2

4.3.2 Mise en place de la supervision avec les "events viewers"

  1. Connectez-vous à ServicePilot, en utilisant un compte Admin.

  2. Ouvrez la configuration en cliquant sur la roue crantée en haut à droite et cliquez sur Vues

    Configuration icon

  3. 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

    EVENT VIEWER ADD

  4. Configurer le package comme vous le souhaitez. Dans notre cas, nous assignons l'agent installé sur la machine passerelle.

    EVENT VIEWER CONFIG

  5. Cliquez sur OK OK button

  6. Enfin, cliquez sur Enregistrer tous les changements. Save all changes button

  7. Voici ce que l'on obtient une fois le provisioning effectué :

    EVENT VIEWER EXEMPLE

4.3.3 Mise en place de la supervision des sessions RDP

  1. Connectez-vous à ServicePilot, en utilisant un compte Admin.

  2. Ouvrez la configuration en cliquant sur la roue crantée en haut à droite et cliquez sur Vues

    Configuration icon

  3. 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

    RDP SESSION ADD

  4. Configurer le package comme vous le souhaitez. Dans notre cas, nous assignons l'agent installé sur la machine passerelle.

    RDP SESSION CONFIG

  5. Cliquez sur OK OK button

  6. Enfin, cliquez sur Enregistrer tous les changements.Save all changes button

  7. Voici ce que l'on obtient une fois le provisioning effectué :

    RDP SESSIONS

4.4 Ressources


Vous avez aimé cet article ? N'hésitez pas à le partager