Articles Tagués ‘RDS’

Bonjour tout le monde,

Voici notre « RDS Tip of The Week » :

Comment transférer des fichiers/données de plus de 2GB via RDP

 

Description de la limitation /problème

Il existe une limitation relative au protocole RDP quand il s’agit de transférer des données/fichiers volumineux via une Session Bureau à distance.

Si vous avez déjà essayez de transférer des fichiers volumineux (+ 2 GB), le message d’erreur suivant vous est retourné (Error Copying File or Folder « Unspecified Error« ):

 

Solution (HowToFix)

Il existe deux techniques permettant de contourner ce problème :

  • Transférer vos données via la « la Redirection de disque local » mappé directement sur votre Session Bureau à distance
  • Transférer vos données via un Partage UNC (\\tsclient\C$)

 

Perso, j’utilise la redirection de mes disques locaux vers la Session Bureau à distance pour transférer des données volumineuses, par XP, je trouve que c’est plus stable & fiable.

Si votre infra RDS se trouve en Back-end derrière une Gateway RDS, tout le traffic RDP est encapsulé over HTTPS, il s’agit du même principe qu’un service STaaS (STorage-as-aService) tel que OneDrive ou Dropbox. Les protocoles de partages réseaux (eg : SMB/445 TCP) ne sont jamais exposés à Internet, tout le traffic passe à travers le canal HTTPS.

De plus, accéder à un \tsclient\c$ nécessite des privilèges « LocAdmin », si des utilisateurs standards doivent transférer des données via RDP, il suffit de configurer (autoriser) la Redirection de disque local sur la machine cible, aucun privilège « Admin » n’est requis, ils doivent simplement appartenir au groupe local « Remote Desktop Users » sur la machine cible.

Voyons comment ça marche.

Depuis la machine qui héberge les données/fichiers à transférer, lancez l’outil MSTSC.exe, depuis « Ressources locales« , > « Autres » > « Lecteurs » > cochez le lecteur/disque contenant vos données à transférer pour le rediriger vers la Session RDS (C: dans l’exemple suivant) :

Une fois connecté sur votre session Bureau à distance, ouvrez Windows Explorer (Drapeau+E) et vérifiez que votre ou vos lecteurs locaux ont bien été redirigés :

Enfin, cliquez sur votre lecteur redirigé et copiez/collez vos données sur le Windows Desktop de la session RDS (ou Documents..etc) :

Et voilà le tour est joué :).

A bientôt,

#HK

 

Publicités

Introduction

RDP (Remote Desktop Protocol) est (par défaut) considéré comme un protocole vulnérable qui peut exposer votre infrastructure (voire tout votre S.I) à des risques assez importants, notamment :

  • Brute-Force Attack
  • DoS (Denial-of-Service) Attack
  • Encryption Attack
  • Man-in-The-Middle (MiTM) Attack

 

Vous exposerez également votre S.I à un risque de sécurité si vous êtes consommateur (Cloud Consumer) d’une solution/Application Cloud hébergée sur une infrastructure RDS distante : Multi-tenancy Risk.

Plusieurs Cloud Providers proposant des applications SaaS (Software-as-a-Service) virtualisées et distribuées (RemoteApp) via des Portail RD Web Access personnalisés. Ces Apps sont souvent hébergées sur des infrastructures RDS « Partagées /Shared », cela veut dire que plusieurs clients, se connectent et consomment les mêmes Apps Cloud RDS depuis le même environnement. Pour des raisons de réduction de coût, plusieurs Cloud Providers déploient des RD Session Host en mode « Shared », et proposent rarement des infrastructures RDS dédiées (Collections de Session RDS dédiées par client/app).

Malheureusement la plupart des clients ne pensent pas à poser la question et se contentent de signer un contrat désignant les responsabilités de chacun (SLA) : en mode SaaS vous êtes uniquement responsable de vos données, les couches infra/storage/middleware sont gérées par le CP, seul ce dernier est responsable de la gestion, maintenance, patching… de l’environnement Cloud.

En revanche, vous avez la responsabilité de s’assurer du niveau de sécurité offert à travers ces applis Cloud qui souvent font parties de votre IT globale car les devices clients depuis lesquels vos users se connectent sont souvent intégrés dans votre AD local et connectés au niveau de votre Coporate Network.

 

Guide de Sécurité RDS : Liste des Risques, Menaces et Bonnes Pratiques que vous connaître 

Je viens de publier sur Slideshare un Guide de sécurité RDS assez complet (en Anglais) traitant ce sujet.

Il décrit et détaille toutes les Security Risks, menaces ainsi que les bonnes pratiques que vous devez prendre en considération lors de la phase « Design » de tout projet RDS (de 2008 R2 à 2019).

Il vous liste également les Risks/Menaces liées à des infrastructures RDS Offsites (hébergées chez un Cloud Provider), si vous êtes Cloud Customer d’une ou plusieurs Apps Cloud, vous pouvez toujours challenger l’éditeur/Cloud Provider en posant les questions listées dans ce Slide.

Le document est disponible sur SlideShare, à cet URL.

Vous pouvez aussi le visualiser directement depuis ce post, voir Slide ci-dessous :

Si vous souhaitez être accompagné, n’hésitez pas à me Ping via MP pour planifier un call et discuter plus en détail de votre projet.

Bonne lecture à tous,

#HK

Le Remote Desktop est une technologie utilisée aujourd’hui par la quasi-totalité des entreprises, que ce soit pour du support technique (Session Shadowing pour les end-users) ou pour permettre aux téléworkers d’accéder aux applications d’entreprise.

Microsoft propose depuis plusieurs années déjà, une application « Lourde » nommée Microsoft Remote Desktop pour différentes plateformes (Cross-Platform Remote Desktop Client) :

Mac OS

Télécharger Microsoft Remote Desktop pour MacOS X

Android

Télécharger Microsoft Remote Desktop pour Android

iOS

Télécharger Microsoft Remote Desktop pour iOS

Avec l’arrivé du Cloud, la vision (à court terme) de plusieurs décideurs informatique, est de proposer à leur End-users un environnement « Full Cloudisé » et uniquement un client léger (e.g : Chrome Book) pour l’accès aux applications hébergées dans le Cloud (SaaS Apps : Software-as-a-Service Applications).

Avec cette vision, aucun client « Lourd » ou application locale ne doit être installée sur le poste client (Thin Client). L’accès se fait principalement depuis un Web Browser.

Pour répondre à ce type de besoin (ou d’architecture), Microsoft a introduit le nouveau Remote Desktop Web nommé « RD Web Client ». Ce client Web est basé sur HTML5 et prend en charge la plupart des navigateurs Web (Edge, IE, Chrome, Firefox, etc.).

Selon les informations communiquées par l’équipe Remote Desktop Services Corp, RD Web Client ne prend malheureusement pas en charge les Clients « Mobile ».

RD Web Client est disponible (au moment de la rédaction du présent post) en Preview et supporte déjà les fonctionnalités classiques de l’outil RDC (Remote Desktop Connection : MSTSC.exe) telles que :

Clipboard (Copier/Coller)

Redirection d’imprimante

Remote Audio

 

Prerequis à prendre en considération 

Pour pouvoir déployer le Client Web Remote Desktop, votre infrastructure RDS cible doit remplir les conditions suivantes :

Tous les serveurs RDS du déploiement (RDCB, RDSH, RDWA et RDG) doivent exécuter Windows Server 2016.

Votre déploiement RDS ne doit pas être configuré avec des CAL RDS « Per-Device /Par-Périphérique »

La  KB4025334 doit être installée sur votre serveur RDG (Remote Desktop Gateway).

Les serveurs RD Web Access et Gateway doivent utiliser des certificats SSL signés par une CA (Certification Authority) Publique.

Enfin, côté client, il faut bien évidemment utiliser des Web Browsers prenant en charge de la HTML5. IE11, Edge, Chrome, Firefox et Safari le sont, donc all is Ok :).

 

Installation du RD Web Client

Je détaillerai l’installation du Client Web Remote Desktop lors d’un prochain post, comme expliqué précédemment, il est aujourd’hui en « Preview Version ». Je publierai un HowTo détaillé directement sur la Finale Preview ^_^.

Ce que vous devez savoir, c’est que le RD Web Client est simplement une Extension à ajouter au niveau du service de rôle « RD Web Access ».

L’équipe RDS Corp travaillent sur une nouvelle Cmd-let qui permettra de faciliter le déploiement de ce client : Install-RDWebClientPackage

L’affichage des ressources RDS déportées directement sur le RD Web Client ressemble à l’image ci-dessous :

Je vous en dirais pas plus :),

Keep in touch

#HK

 

Certains clients disposant d’une zone démilitarisée (ou DMZ pour Demilitarized Zone) et désirant déployer une infrastructure RDS avec une ou plusieurs Passerelles RDS (RDG : Remote Desktop Gateway) et serveurs RDWA (Remote Desktop Web Access) se posent souvent la question suivante :

Quels sont les (ports) requis à ouvrir pour permettre à tous les services de rôles RDS de communiquer correctement ?

Cette communication concerne principalement les serveurs RDG et RDWA placés en DMZ avec les autres services de rôles RDS en back-end, placés généralement sur le réseau interne de l’entreprise et se trouvant derrière un ou plusieurs Firewalls, notamment les serveurs Hôtes de Session (RDSH : Remote Desktop Session Host) et serveurs Broker (RDCB : Remote Desktop Connection Broker).

Vu que le serveur de Passerelle RDS doit être membre du domaine AD (Workgroup non supporté !), les flux avec les Contrôleurs de domaine AD (DC : Domain Controllers) sont nécessaires, et ce pour authentifier les utilisateurs distants (externes) et les autoriser à accéder aux ressources RDS internes.

Dans ce type d’architecture (scénario de déploiement), plusieurs ports sont à ouvrir pour permettre à la Passerelle RDS de remplir les fonctions suivantes:

  • Authentifier les utilisateurs distants/externes RDS
  • Autoriser les utilisateurs distants/externes RDS à accéder aux ressources internes publiées
  • Résoudre les noms DNS des ressources RDS internes
  • Forwarder (au Broker) les packets RDP envoyés par les clients distants.
  • Obtenir la liste des Révocations de Certificats SSL
  • Envoyer des requêtes RADIOS (si vous déployez un serveur NPS central)

 

Pour simplifier la compréhension de la matrice de flux « global », j’ai décidé de créer deux catégories de Flux, à savoir :

Flux entre « External Network » et la Passerelle RDS placée en DMZ : config au niveau du Firewall Externe

Flux entre la « Passerelle RDS » et les ressources internes (RDSH, RDCB, DC…) : config au niveau du Firewall Interne

Le diagramme Visio ci-dessous représente une architecture RDS classique avec RDG/RDWA en DMZ et le reste des services de rôles en interne

Flux entre « External Network » et la Passerelle RDS placée en DMZ : Pare-feu Externe

Déployer une Passerelle RDS vous évite d’exposer directement vos ressources RDS à Internet et les protéger contre plusieurs types attaques informatique (e.g DoS/DDoS Attack !).

La Passerelle RDS a besoin du serveur Web IIS (Internet Information Services) pour fonctionner.

Le WebSite RDG hébergé sur IIS nécessite une liaison « HTTPS », par conséquent le port de communication (d’écoute) utilisé par la RDG est le 443.

Vous aurez compris, pour autoriser le trafic HTTPS entrant et permettre une communication entre les clients externes et la Passerelle RDS placée en DMZ (derrière un Firewall Externe/Public), la règle suivant doit être créée/configurée :

Nom de la règle : External_to_RDG (nom de règle donné à titre d’exemple)

Port : 443/TCP

Protocol : HTTPS

Source : Internet

Destination : @IP de la Passerelle RDS placée en DMZ

 

Flux entre la « Passerelle RDS » placée en DMZ et les ressources internes (RDSH,RDCB,DC…) : Pare-feu Interne

Le Pare-feu Interne doit être configuré pour autoriser plusieurs types de communications (trafics) entre le ou les serveurs RDG placés en DMZ et vos ressources internes tels que les Domain Controller (pour authentification/autorisation), Serveurs Broker (redirection aux ressources RDS), Serveurs RDSH (accès aux ressources publiées).

Trafic lié à l’authentification  & autorisation via la Passerelle RDS
#Kerberos

La règle à mettre en place pour autoriser le trafic (Kerberos) entre la Passerelle RDS placée en DMZ et le(s) Contrôleur(s) de domaine interne afin d’authentifier les utilisateurs distants est la suivante :

Nom de la règle : RDG_to_InternalDC (nom de règle donné à titre d’exemple)

Port : 88/TCP

Protocol : Kerberos

Source :@IP de la Passerelle RDS placée en DMZ

Destination : @IP du(es) DCs 

 

#Service RPC NT Directory Service (NTDS) 

Le serveur RDG a également besoin de communiquer avec le service RPC NTDS (NT Directory Services) lié à l’AD, ce dernier écoute généralement sur un numéro de port non utilisé et pris d’une plage de ports haute. Le serveur RDG n’ayant pas la capacité de connaitre ce numéro de port (dynamic port) utilisé par le service RPC NTDS, il contacte le Mappeur de point de terminaison RPC (RPC Endpoint Mapper) en utilisant le port 135, l’Endpoint Mapper indique ensuite au serveur RDG le port d’écoute pour le service demandé qu’est le RPC NTDS. Comme indiqué précédemment, ces numéros de ports sont attribués de manière dynamique (généralement compris entre 1024 et 65 535), notez qu’à l’aide d’une clé de Registre, vous pouvez configurer un port « Statique » pour le RPC NTDS si nécessaire. Je vous laisse consultez cet article pour en savoir plus.

Nom de la règle : RDG_to_RPCMapper (nom de règle donné à titre d’exemple)

Port : 135/TCP + Port d’écoute configuré pour le service RPC NTDS

Protocol :RPC Endpoint Mapper + RPC NTDS

Source :@IP de la Passerelle RDS placée en DMZ

Destination : @IP du(es) DCs 

 

#LDAP

La règle à mettre en place pour autoriser le trafic (LDAP) entre la Passerelle RDS placée en DMZ et le(s) Contrôleur(s) de domaine interne afin d’autoriser les utilisateurs distants est la suivante :

Nom de la règle : RDG_to_InternalDC (nom de règle donné à titre d’exemple)

Port : 389/TCP et 389/UDP

Protocol : LDAP

Source :@IP de la Passerelle RDS placée en DMZ

Destination : @IP du(es) DCs 

 

#DNS

La règle à mettre en place pour autoriser le trafic DNS entre la Passerelle RDS placée en DMZ et le(s) Contrôleur(s) de domaine interne et permettre la résoudre des noms DNS des ressources internes :

Nom de la règle : RDG_to_DNS (nom de règle donné à titre d’exemple)

Port : 53/TCP et 53/UDP

Protocol : DNS

Source :@IP de la Passerelle RDS placée en DMZ

Destination : @IP du(es) DCs_ou un des serveurs DNS du réseau

 

#RDP

La règle à mettre en place pour autoriser le trafic RDP entre la Passerelle RDS placée en DMZ et les serveurs RDS internes pour forwarder les packets RDP reçus par les clients distants :

Nom de la règle : RDG_to_RDSHCB (nom de règle donné à titre d’exemple)

Port : 3389/TCP

Protocol : RDP

Source :@IP de la Passerelle RDS placée en DMZ

Destination : @IP des serveurs RDSH ainsi que RDCB

 

Note importante : si le port RDP par défaut, a été personnalisé/changé sur le déploiement RDS (e.g 33381 au lieu de 3389), le port 33381 doit être spécifié dans la règle ci-dessus.

Trafic entre le serveur RD Web Access et les serveurs RDSH internes

Si vous avez décidé de placer votre ou vos serveurs RD Web Access en DMZ (chose que je vous recommande d’ailleurs :)), notez qu’un seul flux est à ouvrir :

Nom de la règle : RDWA_to_RDCB (nom de règle donné à titre d’exemple)

Port : 5504/TCP

Protocol : RPC

Source :@IP du ou des serveurs RDWA placés en DMZ

Destination : @IP du(es) serveurs RDCB

 

J’espère que cet article pourra vous être utile lors du Design de votre infra RDS et/ou rédaction de votre document d’architecture technique/DAT/TAD (RDS Network Considerations Section).

Notez que des ports supplémentaires peuvent être requis si vous disposez d’une plateforme RADIUS, ou utilisez par exemple des solutions « Third-party » pour l’authentification/autorisation (dans ce cas, referez-vous à la documentation technique fournie par l’éditeur de solution pour en savoir plus).

Keep in touch,

A bientôt

#HK

 

Les questions suivantes m’ont souvent été posées par mes différents clients et partenaires :

Puis-je réutiliser mes anciennes CAL TSE/RDS et les réinstaller sur un nouveau serveur exécutant une version d’OS Windows Server différente à celle du serveur « Source/existant »?

Puis-je utiliser mes CAL TSE/RDS existantes pour autoriser mes utilisateurs RDS à se connecter à des serveurs TSE/Hôtes de Session (RDSH) exécutant des versions Windows Server différentes ?

J’ai donc décidé de rédiger ce post pour y répondre car cela pourrait intéresser plusieurs personnes se posant les mêmes questions :).

Ma réponse sera « Splitée » en deux parties :

  • Compatibilité des CAL TSE/RDS pour les serveurs de Licence RDS (RDLS)
  • Comptabilité des CAL TSE/RDS pour les serveurs Hôte de Session (RDSH

 

Note importante : les informations détaillées ci-dessous s’applique à vos serveurs de Licence RDS et RDSH hébergées dans vos Datacenters mais aussi ceux qui tournent sous forme de VM IaaS Azure (ou AWS, GCP, AliBabaCloud…Etc)

 

#R1 : Liste des CAL TSE/RDS pouvant être installées sur chaque version d’OS Windows Server 

Le tableau ci-dessous vous montre les CAL TSE et RDS pouvant être installées/utilisées sur chaque version d’OS Windows Server hébergeant le service de Licensing RDS (RDLS : Remote Desktop Licensing Server) :

Pour vous aider à mieux comprendre le tableau, je vous détaillerai un vrai « Use Case »:

Supposons qu’un Client (Société) X dispose déjà d’un Pack de Licences RDS 2008 R2 et est sur le point de dé-commissionner son infrastructure RDS 2008 R2 pour en déployer une nouvelle sous 2012 R2 ou 2016. Comme indiqué dans le tableau ci-dessus, les CAL RDS « 2008 et 2008 (R2) » peuvent être installées sur les OS Windows Server suivants : 2008, 2008 R2, 2012, 2012 R2 et 2016. Cette société pourra donc continuer à utiliser (en réinstallant) les Licences RDS 2008 R sur tout futur serveur de Licence RDS exécutant Windows Server 2008 à 2016.

#R2 : Liste des CAL TSE/RDS pouvant être utilisées pour autoriser vos utilisateurs RDS à se connecter sur un serveur RD Session Host

Le tableau ci-dessous vous montre les CAL TSE et RDS pouvant être installées/utilisées pour autoriser vos utilisateurs distants à se connecter aux serveurs TSE/RDSH en fonction de la version d’OS Windows Server qui exécutent :

Scott Manchester, RDS PPM (Principal Program Manager) vous explique les Upcoming Updates pour RDS (Securité, Cloud, MFA, Scalability …Etc)

Watch & Enjoy 🙂

Hello RDS Guys,

Je viens de créer un partage « OneDrive » dans lequel j’ai ajouté tous les scripts (développés par mes soins) liés au rôle RDS et au protocole RDP.

Ils sont accessibles en free download, à l’URL suivante :

https://1drv.ms/f/s!Agu0mgqr6F71pUWk4wK4fwu6H5_Q

Enjoy !

HK