Table des matières

Introduction

Avec l'arrivée de nouveaux clients amenés à se connecter à vSphere pour gérer des VM et qui potentiellement peuvent voir accès à des serveurs autres que ceux qu'ils doivent gérer, ou en cas de vol d'identifiant, nous avons besoin d'une solution permettant de connaître quel sont les consoles des VM qui sont ouvertes et quels sont les utilisateurs ainsi que leur niveau de privilège sur Windows.

Problématique

Même si la gestion des droits est extrêmement fine sur vSphere, il est possible que des droits puissent être modifiés par une tierce personne sans forcément penser aux conséquences sur l'héritage ou sur la pertinence des accès. De plus, les accès pour le support 1er niveau ont généralement les droits stop/start/reset sur les machines mais également le droit de console, le plus souvent pour monter un ISO sur la VM. Dans tous ses cas, si une session utilisateur est ouverte sur le serveur, la personne qui ouvre la console obtient les privilèges de l'utilisateur connecté.

Solution

Plusieurs solutions peuvent être mises en place afin de minimiser le risque d'intrusion dans le réseau via la console:

Afin de permettre aux administrateurs des vCenter d'être au courant régulièrement des consoles ouvertes, le script ci-dessous permet, via les vmware tools installés dans les VM, d'interroger directement Windows et de lui demander quels sont les utilisateurs qui possèdent des sessions actives et avec quel privilège.

Le script

Description

Le script est composé d'une fonction principale checkOpenedConsole qui prend en paramètre :

Celui-ci va effectuer les actions/vérifications suivantes :

Pour résumer, en sortie il envoi les emails suivants :

DomainAdmin peut-être 0 (non admin) ou 1 (admin)

Utilisation

  1. Renseigner la page wrapper.ps1 avec les variables adéquates et rappeler la fonction autant de fois qu'il y a de clusters à scanner
  2. Appeler la page wrapper.ps1 via les tâches planifiées 1 fois par jour

<script powershell>

</script>