Comment sécuriser un serveur Bureau à distance accessible au public?

16

Je cherche à exposer mon serveur Bureau à distance (services Terminal Server) à accéder à l'extérieur de notre réseau. À l'heure actuelle, il n'est accessible que depuis l'intérieur de notre réseau.

Je sais qu'il est assez facile d'ouvrir le pare-feu et de transférer le port.

Cependant, comment sécuriser la machine elle-même et quelles sont les meilleures pratiques à ce sujet? Ma préoccupation est que les pirates informatiques puissent travailler pour y pénétrer.

Toute directive / recommandation sur les meilleures pratiques serait très appréciée.


Éditer:

Question sur un produit que j'ai trouvé:

Filtrer les connexions RDP entrantes par IP, adresse MAC, nom d'ordinateur et plus

Quelqu'un peut-il commenter la sécurité de cela? On dirait que je pourrais aussi l'utiliser pour limiter l'accès par nom de machine / mac? Quelqu'un d'autre l'a utilisé?

me2011
la source
1
Je pense que vous demandez non seulement comment sécuriser cette machine et toute connexion RDP à celle-ci, mais aussi comment réduire le risque pour le reste de votre réseau s'il est compromis. Est-ce correct?
dunxd
Oui, en raison de notre petite taille, il n'y a qu'un seul serveur RDP et il nécessite un accès complet au bureau / des ressources réseau pour les utilisateurs internes.
me2011

Réponses:

14

Cela peut être plus que ce que vous cherchez à faire, mais voici comment nous utilisons RDP pour les utilisateurs distants qui n'utilisent pas de VPN.

Nous avons récemment commencé à utiliser le Gestionnaire de passerelle RD avec les services Bureau à distance, un rôle dans Windows 2008. Nous l'avons configuré pour passer par notre serveur TMG et directement sur la machine d'un utilisateur. Il utilise NLA comme mentionné ci-dessus. L'utilisateur qui se connecte doit être membre du bon groupe AD et membre du bon groupe local pour pouvoir y accéder. Selon la configuration que vous souhaitez, vous pouvez vous connecter via une page Web qui ouvre simplement mstsc et saisit le paramètre de proxy pour la passerelle RD, ou vous pouvez définir les paramètres sur votre machine manuellement afin que chaque fois que vous l'ouvrez, il tente d'aller via ce proxy. Jusqu'à présent, cela a très bien fonctionné et semble être sûr.

Don
la source
3
+1 pour cela. J'utilise également RD Gateway avec beaucoup de succès, et il vous suffit d'exposer le port 443 à Internet pour qu'il fonctionne. RD Gateway n'était pas sensible à ce bogue MS12-020 d'il y a quelques semaines qui menaçait RDP.
Ryan Ries
+1 il y a aussi BEAUCOUP moins de bots attaquant les passerelles RD qu'il n'y a de RDP direct.
Accordez
8

Comme l'histoire récente nous l'a montré, il existe des risques inhérents à l'exposition du protocole. Mais, vous pouvez prendre certaines mesures pour protéger le système:

  • Appliquer l'authentification au niveau du réseau.
  • Appliquer le cryptage de connexion.
  • Limitez les utilisateurs autorisés à se connecter via les services Terminal Server au minimum absolu et n'autorisez pas les comptes "spéciaux" comme le Administratorcompte de domaine par défaut , ou idéalement tout autre compte à privilèges élevés.
  • Assurez-vous que les mots de passe sont solides sur les comptes autorisés à se connecter. Cela dépend du nombre d'utilisateurs et de l'apparence de vos stratégies en ce moment, mais le vidage des hachages et la tentative de les casser, l'augmentation des limites sur la longueur du mot de passe ou simplement l'éducation des utilisateurs sont bonnes approches.
Shane Madden
la source
6

Je suggère fortement d'utiliser le service de passerelle Bureau à distance. Il vous donne un endroit où vous pouvez appliquer des politiques sur qui peut se connecter à quoi et d'où. Il vous offre un bon emplacement pour la journalisation, de sorte que vous pouvez voir qui essaie de se connecter sans inspecter les journaux des événements des serveurs individuels de votre batterie.

Si vous ne l'avez pas déjà fait, assurez-vous que les politiques de verrouillage de votre compte sont bien définies. RDP même avec NLA et une passerelle donnent aux gens quelque chose pour tenter de forcer les mots de passe par brute. Une politique de verrouillage stricte rend très difficile la réussite des tentatives de force brute.

Configurez des certificats SSL valides sur les systèmes, afin que le client avertisse les utilisateurs finaux si quelqu'un essaie d'effectuer une sorte d'attaque MITM.

Zoredache
la source
3

Ce n'est pas très sûr, cependant, il existe plusieurs façons de renforcer la sécurité.

Interdisez l'accès à Internet à partir de ce serveur. La plupart des logiciels malveillants les plus graves tentent de communiquer avec leur serveur de commande et de contrôle lorsqu'ils compromettent votre système. La configuration d'une règle d'accès au pare-feu pour interdire l'accès sortant par défaut et une règle pour autoriser l'accès sortant uniquement aux réseaux internes / connus et aux sous-réseaux RFC 1928 peuvent atténuer le risque.

Utilisez des cartes à puce ou un autre type d'authentification à deux facteurs. Ceci est généralement coûteux et se retrouve principalement dans les grandes organisations, mais les options s'améliorent (PhoneFactor me vient à l'esprit). Notez que la demande de cartes à puce peut être effectuée par serveur, en option pour la configurer au niveau du compte.

Configurez un réseau de périmètre, placez le serveur de bureau distant dans le périmètre et utilisez un VPN bon marché pour fournir l'accès. Un exemple serait Hamachi. Notez que l'interdiction de l'accès Internet à partir d'un réseau de périmètre est également une bonne pratique.

Si possible, ne fournissez pas de bureau complet, mais publiez les applications dont ils ont besoin. Si quelqu'un n'a besoin d'accéder qu'à une seule application, il est également possible de configurer un "programme initial", qui pourrait être un simple shell wrapper qui peut imposer une fermeture de session lorsque l'application se ferme.

Greg Askew
la source
1

Je suggérerais les mesures suivantes:

  1. Modifier le port utilisé pour la connexion au bureau à distance
  2. N'utilisez pas de noms d'utilisateur génériques mais une politique de dénomination plus compliquée
  3. Exigences élevées en matière de mots de passe
  4. Fermez tout autre port inutilisé de l'extérieur (entrant)

Optionnel

  1. Utilisez un VPN (CISCO, Open VPN, etc.) puis connectez-vous au serveur à l'aide de l'IP interne.
  2. Utilisez la connexion par carte à puce si possible
Alex H
la source
J'ai tendance à changer le port sur le pare-feu, pas sur le serveur (le faire sur le serveur nécessite des modifications dans le registre). Il est généralement plus facile de configurer un port vers l'avant sur le routeur et plus sûr (pas de toucher au registre).
JohnThePro
Oui :), je viens de le dire parce que certaines personnes n'ont pas accès ou ne connaissent pas la redirection de port utilisateur. Même s'il est recommandé de ne pas modifier le registre sauf si cela est nécessaire, je n'ai jamais eu de problème. Le seul problème que vous pouvez rencontrer est que vous le changez en un port déjà utilisé.
Alex H
Oui, je veux dire que ce n'est pas la plus grosse affaire au monde, et quiconque connaît regedit est probablement assez intelligent pour être prudent ... mais vous ne pouvez pas le savoir. :)
JohnThePro
1

Vous pouvez exécuter WinSSHD sur le port 22, puis utiliser le client Tunnelier pour créer un tunnel pour vous et ouvrir automatiquement une session de services Terminal Server via le tunnel en UN clic. Cela vous donne également une très belle option FTP sécurisée pour le transfert de fichiers.

djangofan
la source
1

J'utilise la redirection de port ssh pour ces choses et n'autorise que l'authentification basée sur la clé publique au niveau utilisateur. Toutes les clés privées des utilisateurs doivent également être chiffrées. Sur Windows Putty le fait bien, et pageant permet aux utilisateurs de charger facilement leur clé. Si vous n'exécutez aucun serveur Linux / BSD qui a ssh par défaut, vous pouvez utiliser OpenSSH dans Cygwin pour ce faire.

Je recommande un serveur shell distant dédié avec un pare-feu local bloquant les choses dans lesquelles vous ne voulez pas que les gens se rendent à distance, car autoriser la redirection de port dans SSH ouvre fondamentalement tout serveur / port interne aux utilisateurs que vous souhaitez.

Jon Zobrist
la source
1

Bitvise SSH est un bon SSH gratuit pour Windows.

J'irais pour une terminaison VPN SSL bon marché du client au périmètre de la passerelle Internet pour autre chose qu'une utilisation occasionnelle (Commercial In-Confidence par exemple).

Les messages ci-dessus sur la sécurisation de RDP sont également de bonnes pratiques et doivent toujours être effectués si vous ne souhaitez pas partager vos ordinateurs avec des freeloaders.

volonté
la source
0

pas vraiment la meilleure pratique mais quelques réflexions aléatoires:

  • Gardez votre système à jour - autorisez les mises à jour automatisées, n'utilisez pas de produits en fin de vie,
  • utiliser des mots de passe longs / compliqués pour tous les comptes système
  • Je vais être grondé ici pour avoir suggéré la «sécurité par l'obscurité», mais cela ne vous fera aucun mal si vous:
    • changer le port 3389 / tcp par défaut en quelque chose comme 26438 / tcp
    • ajoutez le port-knocking [si possible] au niveau du pare-feu afin que l'utilisateur potentiel de rdp ait d'abord à visiter une page Web et ensuite seulement puisse rdp à votre serveur.
pQd
la source