Comment conserver la cohérence du mot de passe administrateur local sur une unité d'organisation?

8

Nous avons un certain nombre de PC exécutant XP SP2 (et un couple exécutant SP1) déjà en production, et nous cherchons à garder le mot de passe de l'administrateur local cohérent à travers l'unité d'organisation. Les seules solutions auxquelles je peux penser consisteraient à utiliser pspassword pour changer tous leurs mots de passe, ou à avoir un script contenant le mot de passe exécuté localement sur les PC.

Malheureusement, pspasswd ne fonctionnera pas sur les ordinateurs qui ne sont pas en ligne et un script local contenant le mot de passe ne serait pas sécurisé.

Existe-t-il une autre solution viable? Comment puis-je prendre en compte les ordinateurs qui n'étaient pas en ligne au moment du changement de mot de passe?

Jordan Milne
la source

Réponses:

5

Bien qu'aucun paramètre de stratégie de groupe ne puisse le faire, il existe un paramètre de préférences de stratégie de groupe qui le fera. Plus d'informations ici: http://blogs.technet.com/askds/archive/2007/11/28/introducing-group-policy-preferences.aspx

Edit: Une autre option consiste à utiliser l'utilitaire Passgen que Steve Riley et Jesper Johannson (tous deux anciennement de Microsoft) ont écrit pour leur livre "Protect your Windows Network". Il définit en fait un mot de passe administrateur local unique pour chaque ordinateur du domaine (ce qui est beaucoup plus sécurisé ... si vous les avez tous de la même manière, la compromission d'un ordinateur signifie la compromission de tous les ordinateurs de votre domaine). D'après la description:

Dans le livre, nous vous recommandons de conserver des mots de passe distincts pour chaque administrateur local et compte de service dans votre entreprise. C'est, bien sûr, presque impossible à gérer sans quelque chose pour l'automatiser pour vous. C'est ce que fait Passgen. L'outil génère des mots de passe uniques basés sur une entrée connue (un identifiant et une phrase de passe que vous définissez), définit ces mots de passe à distance et vous permet de les récupérer plus tard.

Passgen est gratuit et vous pouvez l'obtenir ici: http://blogs.technet.com/steriley/archive/2008/09/29/passgen-tool-from-my-book.aspx

Sean Earp
la source
En regardant cela, je ne savais pas si c'était viable car nous avons encore quelques ordinateurs utilisant SP1 et nous devions faire un déploiement de GPP à l'échelle du domaine pour le faire fonctionner.
Jordan Milne
L'article de MS sur blogs.technet.com/b/grouppolicy/archive/2009/04/22/… ne recommande pas d'utiliser GPP pour les mots de passe sensibles. "Parce que le mot de passe est stocké dans SYSVOL, tous les utilisateurs authentifiés y ont accès en lecture. En outre, il peut être lu par le client en transit si l'utilisateur dispose des autorisations nécessaires."
bshacklett
3

Je ne suis pas sûr de ce que vous recherchez ici, car il serait difficile de déployer une solution de changement de mot de passe de compte local qui fonctionnera d'une manière ou d'une autre pour les comptes d'ordinateurs en ligne et hors ligne. Le processus serait que s'il s'agit d'un script ou d'un GP réel, pour qu'ils obtiennent le changement de mot de passe à un moment donné lorsqu'ils sont en ligne. Si vous souhaitez déployer cela comme une action unique sur un certain laps de temps, vous devez effectuer manuellement les ordinateurs hors ligne.

Je suis sûr que vous avez probablement lu ceci, mais voici quelques solutions qui ont été suggérées dans une question précédente liée à la vôtre: /server/23490/is-there-a-group-policy-that -would-push-a-new-user-name-and-password-to-all-local

l0c0b0x
la source
Le seul type de script auquel je suis vraiment opposé est celui qui contient le mot de passe lui-même, pas tous les scripts.
Jordan Milne
1
Comment allez-vous avoir une machine définir un mot de passe si le mot de passe n'est pas dans le script? Le texte en clair doit exister quelque part à un moment donné. "Passgen", par exemple, utilise simplement une phrase secrète en clair et le nom de l'ordinateur comme sel. La «confiance» est simplement déplacée dans la phrase secrète, plutôt que dans le mot de passe. Vous devez toujours avoir cette phrase secrète dans un script pour utiliser l'outil. Vous devez avoir confiance quelque part. À mon avis, un script marqué "Ordinateurs du domaine / Lecture" sans l'autorisation "Utilisateurs authentifiés" supprimé, autorisé à s'exécuter sur les ordinateurs clients, puis supprimé est assez sécurisé.
Evan Anderson
2

Nous poussons les mots de passe locaux à l'aide du script Powershell Set-LocalPassword.ps1 et obtenons la liste des serveurs à l'aide de Get-OUComputerNames.ps1 .

Rapide, simple et le mot de passe n'a pas à attendre pour être trouvé.

Get-OUComputernames "OU=TheOU,DC=TheDomain" | Set-LocalPassword "TheAccount" "TheNewPassword"

Cependant, cette solution ne couvre pas le cas lorsqu'une machine est éteinte. Bien qu'il soit assez simple de dresser une liste des machines non pingables et de les traiter plus tard.

Nathan Hartley
la source
1

Nous le faisons via la stratégie de groupe.

Je ne connais pas les détails de la façon dont le GPO est créé, mais c'est dans la section:

 Computer Configuration
  / Windows Settings
   / Security Settings
    / Local Policies/Security Options
     / Accounts 

Il existe des paramètres permettant de désactiver le compte invité et de renommer le compte administrateur local.


EDIT: J'ai mal parlé de changer le mot de passe local.


La modification du mot de passe administrateur local est un peu plus compliquée, au moins jusqu'à Windows Server 2008. Cette solution fonctionne sur Server 2003 et est un peu compliquée car elle envoie le nouveau mot de passe en texte brut. Si cela vous concerne, il existe d'autres alternatives qui chiffrent mais nécessitent des logiciels supplémentaires. Nous résolvons le problème en le laissant désactivé, sauf si nous devons apporter une modification.

1- écrire un fichier batch 1 ligne .. avec la commande "NET USER Administrator% 1" - si vous renommez le compte utilisez le nouveau nom.

2- Définissez le fichier batch pour qu'il s'exécute à l'ouverture de session à l'aide de l'objet de stratégie de groupe, dans la section suivante

 Computer Configuration
  / Windows Settings
   / Scripts
    / Startup

3- Dans l'entrée GPO, appuyez sur le bouton pour afficher les fichiers et copiez le fichier batch dans l'emplacement ouvert. Puis le fichier batch (incl .bat) comme nom de script et le nouveau mot de passe comme paramètre.

illustration

tomjedrz
la source
J'en vois un pour renommer le compte administrateur, mais sans changer le mot de passe.
Jordan Milne
1
Préparez-vous à être matraqué pour avoir mentionné l'utilisation d'un script avec un mot de passe en texte en clair ... sourire
Evan Anderson
1
Vous avez activé la compression sur votre SYSVOL? Eww ...
Evan Anderson
0

Je vais vous indiquer ma réponse: y a-t-il une stratégie de groupe qui pousserait un nouveau nom d'utilisateur et un nouveau mot de passe vers toutes les machines locales sur un réseau?

Vous pouvez déployer un tel script avec des autorisations définies pour autoriser uniquement les "ordinateurs du domaine" à lire le script (ou un groupe encore plus restrictif, si vous le souhaitez), et configurer un groupe "trappe" comme je le décris de sorte que vous puissiez savoir quand tout les ordinateurs ont traité le script de sorte que vous pouvez le supprimer. Le script s'exécuterait localement sur les ordinateurs concernés, mais ne serait accessible qu'au contexte de sécurité de l'ordinateur. (Si les utilisateurs ont "Administrateur" sur leurs machines, alors ce sera un problème. S'ils ont "Administrateur", cependant, vous avez des problèmes plus importants que les mots de passe locaux "Administrateur" non définis. Vraisemblablement, les utilisateurs ont déjà configuré des méthodes pour leur garantir la possibilité de retrouver les droits "Administrateur" après avoir changé le mot de passe Administrateur local ... Je le ferais!


Sur un front complètement différent, vous pourriez faire quelque chose de fou comme un script côté serveur qui:

  • Interroge un groupe de sécurité AD pour les noms d'ordinateurs membres
  • Tente de PING / "NET USE" / etc chaque ordinateur de la liste pour déterminer s'ils sont "en ligne"
  • Exécute un "PSPASSWD" contre l'ordinateur distant s'il détermine qu'il est "en ligne"
  • Supprimez tous les ordinateurs ayant réussi la réinitialisation du mot de passe du groupe de sécurité
  • Dormez un peu et répétez si le groupe n'est pas encore vide

Cela permettrait au script de s'exécuter sur un serveur.

Evan Anderson
la source
0

Je voudrais simplement utiliser un simple mot de passe de changement de fichier batch et convertir ce fichier en exe ou quelque chose en utilisant AutoHotKey ou AutoIT Script. Configurez ensuite ce script pour qu'il s'exécute en tant que script de démarrage de l'ordinateur. Pour empêcher les gens d'espionner, j'utiliserais l'astuce de donner uniquement des droits de lecture aux "ordinateurs du domaine" au lieu des "utilisateurs authentifiés".

KAPes
la source
0

Comme l'a dit Sean Earp, vous voulez avoir un mot de passe administrateur local unique pour chacun, régulièrement changé.

Une autre façon que je préfère (au moins en théorie;) est de simplement supprimer complètement les comptes d'administrateur local et de compter sur les comptes de domaine pour la gestion.

Oskar Duveborn
la source
Il n'y a aucune fonction dans le système d'exploitation pour supprimer le compte administrateur RID 500. Vous pouvez le faire en fouillant dans le SAM, mais vous êtes loin dans un territoire "non pris en charge" à ce stade. Que se passe-t-il, de toute façon, lorsque la relation d'approbation du poste de travail de la machine est endommagée?
Evan Anderson