> Tech > OldCmp

OldCmp

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Le nettoyage de comptes ordinateur anciens (ou inactifs) est un problème courant auquel la plupart des administrateurs d’AD sont confrontés. En effet, il n’est pas rare que des comptes ordinateur soient créés, puis jamais utilisés ou laissés à l’abandon dans le répertoire, après qu’un ordinateur ait été réimagé ou mis

hors service. En général, il s’écoule un certain temps avant que les comptes ordinateur inactifs ne s’accumulent notablement, mais c’est une éventualité que l’on ne peut écarter.

Précédemment, un script était le seul moyen de nettoyer ces comptes. (Pour consulter un exemple de ce genre de script, allez à http://www.rallenhome.com/books/adcookbook/ code.html et cliquez sur le lien Perl dans la rubrique 8.8.) Mais il existe désormais un moyen bien plus simple. Avec OldCmp, on peut rechercher les comptes ordinateur inactifs puis les désactiver ou les supprimer. Mieux encore, on peut créer un script batch simple chargé d’automatiser le processus.

D’où la question : comment OldCmp juge qu’un ordinateur est inactif ? Les ordinateurs sous Windows qui sont membres d’un domaine changent automatiquement leur mot de passe tous les 30 jours. L’attribut pwdLastSet d’un objet ordinateur stocke l’âge du mot de passe de l’ordinateur. On peut donc écrire une requête qui recherche dans l’AD les ordinateurs dont la valeur pwdLastSet dépasse le nombre de mois spécifié. Mais écrire cette requête manuellement est difficile. La valeur de l’attribut pwdLastSet présente le type de données Large Integer, donc il faut effectuer quelques calculs spéciaux pour obtenir la valeur à utiliser. OldCmp vous dispense de cette corvée.

Comme OldCmp et AdFind ont le même auteur (c’est-àdire, Joe), OldCmp comporte bon nombre des mêmes options ligne de commande qu’AdFind. Plus précisément, les options -b, -h, -s et -f que j’ai décrites plus haut, fonctionnent toutes de la même manière, à cela près que dans le cas présent, elles servent de critères de recherche pour trouver les comptes ordinateur inactifs. Pour garder une marge de sécurité, on ne considèrera un ordinateur inactif que si son mot de passe est de plus de 90 jours (valeur par défaut dans OldCmp). Pour que la sécurité soit complète, on pourrait même ne considérer un ordinateur inactif que quand son mot de passe a excédé 180 jours. L’option -age permet d’indiquer un âge autre que les 90 jours par défaut.

Quand on effectue une recherche à l’aide de OldCmp, il faut spécifier au moins l’une des trois options possibles : -report (génère un rapport HTML recensant les comptes ordinateur inactifs), -disable (désactive les comptes ordinateur inactifs) ou -delete (supprime les comptes ordinateur inactifs). Si vous exécutez OldCmp avec la seule option -report, il recherche tous les objets ordinateur dans votre domaine par défaut, dont le mot de passe est supérieur à 90 jours et publie les résultats dans un rapport HTML. Dans le cas d’un vaste domaine avec beaucoup de comptes ordinateur, l’exécution de la commande demandera un certain temps. Pour réduire le temps d’exécution d’OldCmp, on peut utiliser l’option -b pour cibler une OU bien précise. Le fichier HTML que génère OldCmp se trouvera dans le même répertoire que celui d’où l’outil est exécuté, sauf si l’on indique un autre emplacement avec l’option -file. Si l’on inclut l’option -h, OldCmp ouvre automatiquement le fichier HTML dès qu’il a été généré.

Pour produire régulièrement un rapport HTML, il suffit de créer un fichier batch (.bat) ne contenant que deux lignes de code, comme l’illustre le listing 1. La première ligne exécute OldCmp, tandis que la seconde exécute Blat, un outil ligne de commande chargé d’envoyer le contenu d’un fichier dans un message e-mail. On peut télécharger Blat à partir de http://blat.net. Dans la seconde ligne, veillez à personnaliser l’option -to avec votre adresse e-mail. En outre, vous devez absolument mettre OldCmp et Blat dans votre chemin d’exécution (c’est-à-dire, le chemin défini dans la variable d’environnement path).

Le fichier batch étant créé, il faut créer une tâche planifiée. Il faut absolument spécifier un nom et mot de passe d’utilisateur de domaine pour le job, afin que le script ait suffisamment de permissions pour interroger les objets ordinateur présents dans le domaine.

Il est certes intéressant de repérer les comptes ordinateur inactifs, mais l’important sera de nettoyer ces comptes le moment venu. A cet égard, je recommande de désactiver d’abord les comptes ordinateur inactifs puis, après une semaine ou un mois, de supprimer les comptes ordinateur désactivés. Cette période d’attente intermédiaire donne un délai supplémentaire et donc une marge de sécurité pour s’assurer que nul n’utilise les comptes ordinateur en question. Le listing 2 contient un fichier batch qui supprime les comptes ordinateur désactivés et désactive les comptes ordinateur inactifs trouvés récemment. Ce fichier batch contient deux jeux de commandes, dont il faut absolument respecter l’ordre. Le premier jeu utilise OldCmp pour supprimer les éventuels comptes ordinateur désactivés et créer le rapport deleted_comps.html puis il utilise Blat pour envoyer ce rapport par e-mail à rallen@rallenhome.com. Le second jeu utilise OldCmp pour désactiver tous les comptes ordinateur dont les mots de passe ont plus de 180 jours et créer le rapport disabled_comps.html, puis il utilise Blat pour envoyer électroniquement ce rapport.

Lors de la création de OldCmp, Joe voulait éviter que quelqu’un pût involontairement supprimer ou désactiver des milliers de comptes ordinateur. C’est pourquoi il a ajouté plusieurs garde-fou, y compris les options -safety et -forreal présentes dans les deux jeux de commandes. L’option -safety limite le nombre de comptes que le script peut supprimer ou désactiver. Par défaut, OldCmp ne supprimera ou ne désactivera pas plus de 10 comptes. L’option -safety accompagnée d’une valeur de 100 indique à OldCmp qu’il peut supprimer jusqu’à 100 comptes. L’option -forreal indique à OldCmp qu’il peut supprimer ou désactiver les comptes. Sans l’option -forreal, OldCmp se contente de signaler les comptes qu’il pourrait supprimer ou désactiver, sans passer à l’acte. Avant d’utiliser le fichier batch du listing 2, il faut personnaliser l’adresse e-mail présente dans les deux commandes Blat. De plus, pour les besoins du test, il faut supprimer l’option –forreal des deux commandes OldCmp, puis exécuter le fichier batch pour donner votre assentiment à propos des comptes que OldCmp va supprimer et désactiver.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT