¿Cómo mantengo la contraseña de administrador local coherente en una unidad organizativa?

8

Tenemos varias PC que ejecutan XP SP2 (y un par que ejecutan SP1) que ya están en producción, y estamos buscando mantener la contraseña del administrador local consistente en toda la unidad organizativa. Las únicas soluciones en las que puedo pensar sería usar pspassword para cambiar todas sus contraseñas, o hacer que un script que contiene la contraseña se ejecute localmente en las PC.

Desafortunadamente, pspasswd no funcionará en computadoras que no estén en línea y un script local que contenga la contraseña sería inseguro.

¿Hay alguna otra solución viable? ¿Cómo puedo dar cuenta de las computadoras que no están en línea en el momento del cambio de contraseña?

Jordan Milne
fuente

Respuestas:

5

Aunque no existe una configuración de directiva de grupo que pueda hacer esto, existe una configuración de preferencias de directiva de grupo que sí lo hará. Más información aquí: http://blogs.technet.com/askds/archive/2007/11/28/introducing-group-policy-preferences.aspx

Editar: Otra opción es usar la utilidad Passgen que Steve Riley y Jesper Johannson (ambos anteriormente de Microsoft) escribieron para su libro "Proteja su red de Windows". De hecho, establece una contraseña de administrador local única para cada computadora en el dominio (que es mucho más segura ... si las tiene todas, el compromiso de una computadora significa el compromiso de todas las computadoras en su dominio). De la descripción:

En el libro, le recomendamos que mantenga contraseñas separadas en cada administrador local y cuenta de servicio en su empresa. Esto es, por supuesto, casi imposible de administrar sin algo que lo automatice. Eso es lo que hace Passgen. La herramienta genera contraseñas únicas basadas en entradas conocidas (un identificador y una frase de contraseña que usted define), establece esas contraseñas de forma remota y le permite recuperarlas más tarde.

Passgen es gratis y puede obtenerlo aquí: http://blogs.technet.com/steriley/archive/2008/09/29/passgen-tool-from-my-book.aspx

Sean Earp
fuente
Visto esto, no estaba seguro de si era viable ya que todavía tenemos un par de computadoras que usan SP1 y tendríamos que hacer un despliegue de GPP en todo el dominio para que funcione.
Jordan Milne
El artículo de MS en blogs.technet.com/b/grouppolicy/archive/2009/04/22/… no recomienda usar GPP para contraseñas confidenciales. "Debido a que la contraseña se almacena en SYSVOL, todos los usuarios autenticados tienen acceso de lectura. Además, el cliente puede leerla en tránsito si el usuario tiene los permisos necesarios".
bshacklett
3

No estoy seguro de lo que está buscando aquí, ya que sería difícil implementar una solución de cambio de contraseña de cuenta local que 'de alguna manera' funcione para cuentas de computadora en línea y fuera de línea. El proceso sería si se trata de un script real o GP, para que obtengan el cambio de contraseña en "algún punto" cuando estén en línea. Si desea implementar esto como una acción única en un determinado período de tiempo, tendría que hacer las computadoras fuera de línea manualmente.

Estoy seguro de que probablemente haya leído esto, pero aquí hay algunas soluciones que se sugirieron en una pregunta anterior relacionada con la suya: /server/23490/is-there-a-group-policy-that -would-push-a-new-user-name-and-password-to-all-local

l0c0b0x
fuente
El único tipo de script que estoy realmente en contra es el que contiene la contraseña en sí, no todos los scripts.
Jordan Milne
1
¿Cómo va a hacer que una máquina establezca una contraseña si la contraseña no está en el script? El texto plano tiene que existir en algún lugar en algún momento. "Passgen", por ejemplo, solo usa una frase de contraseña de texto simple y el nombre de la computadora como una sal. La "confianza" simplemente se mueve a la frase de contraseña, en lugar de a la contraseña. Todavía tendría que tener esa frase de contraseña en un script para usar la herramienta. Tienes que tener confianza en alguna parte. En mi opinión, una secuencia de comandos que está marcada como "Computadoras de dominio / Lectura" con el permiso "Usuarios autenticados" eliminada, que se permite ejecutar en computadoras cliente y luego eliminada es bastante segura.
Evan Anderson
2

Eliminamos las contraseñas locales usando el script Set-LocalPassword.ps1 de Powershell y obtenemos la lista de servidores usando Get-OUComputerNames.ps1 .

Rápido, simple y la contraseña no tiene que quedarse esperando a que la encuentren.

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

Sin embargo, esta solución no cubre el caso cuando una máquina está apagada. Aunque sería bastante simple hacer una lista de máquinas que no se pueden hacer ping y tratarlas más tarde.

Nathan Hartley
fuente
1

Hacemos esto a través de la Política de grupo.

No sé los detalles de cómo se crea el GPO, pero está en la sección:

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

Hay configuraciones para permitir la desactivación de la cuenta de invitado y el cambio de nombre de la cuenta de administrador local.


EDITAR: hablo mal sobre cambiar la contraseña local.


Cambiar la contraseña de administrador local es un poco más complicado, al menos hasta Windows Server 2008. Esta solución funciona en Server 2003, y es un poco complicado ya que envía la nueva contraseña en texto sin formato. Si eso le preocupa, hay otras alternativas que encriptan pero necesitan software adicional. Abordamos el problema dejándolo deshabilitado a menos que necesitemos hacer un cambio.

1- escriba un archivo por lotes de 1 línea .. con el comando "NET USER Administrator% 1" - si cambia el nombre de la cuenta use el nuevo nombre.

2- configure el archivo por lotes para que se ejecute al iniciar sesión utilizando el GPO, en la siguiente sección

 Computer Configuration
  / Windows Settings
   / Scripts
    / Startup

3- EN LA entrada de GPO, presione el botón para mostrar los archivos y copie el archivo por lotes en la ubicación abierta. Luego, el archivo por lotes (incluido .bat) como el nombre del script y la nueva contraseña como el parámetro.

ilustración

tomjedrz
fuente
Veo uno para cambiar el nombre de la cuenta de administrador, pero no cambiar la contraseña.
Jordan Milne
1
Prepárese para ser golpeado por mencionar el uso de una secuencia de comandos con una contraseña en texto plano en ella ... sonreír
Evan Anderson
1
¿Ha habilitado la compresión en su SYSVOL? Eww ...
Evan Anderson
0

Le diré mi respuesta a: ¿Existe una política de grupo que empuje un nuevo nombre de usuario y contraseña a todas las máquinas locales en una red?

Puede implementar un script de este tipo con permisos establecidos para permitir que "Computadoras del dominio" solo lea el script (o un grupo aún más restrictivo, si lo desea), y configure un grupo de "trampillas" como lo describo para que pueda saber cuándo las computadoras han procesado la secuencia de comandos para que pueda eliminarla. El script se ejecutaría localmente en las computadoras en cuestión, pero solo sería accesible para el contexto de seguridad de la computadora. (Sin embargo, si los usuarios tienen "Administrador" en sus máquinas, entonces esto será un problema. Sin embargo, si tienen "Administrador", tendrá mayores problemas que las contraseñas locales de "Administrador". Presumiblemente, los usuarios ya han configurado métodos para garantizarles la posibilidad de recuperar los derechos de "Administrador" después de cambiar la contraseña del Administrador local ... ¡Lo haría!


En un frente completamente diferente, podrías hacer algo loco como un script del lado del servidor que:

  • Sondea un grupo de seguridad de AD para nombres de equipos miembros
  • Intenta PING / "USO NETO" / etc cada computadora en la lista para determinar si están "en línea"
  • Ejecuta un "PSPASSWD" contra la computadora remota si determina que está "en línea"
  • Elimine las computadoras que completaron con éxito el restablecimiento de contraseña del grupo de seguridad
  • Duerma por un período y repita si el grupo aún no está vacío

Eso mantendría el script ejecutándose en un servidor.

Evan Anderson
fuente
0

Simplemente usaría la contraseña de cambio de archivo por lotes simple y convertiría ese archivo en exe o algo usando AutoHotKey o AutoIT Script. Luego configure este script para que se ejecute como script de inicio de la computadora. Para evitar que la gente espíe, usaría el truco de otorgar solo los derechos de LECTURA de "Equipos de dominio" en lugar de "Usuarios autenticados".

KAPes
fuente
0

Como dijo Sean Earp, desea tener una contraseña de administrador local única para cada una, cambiada regularmente.

Otra forma que prefiero (al menos en teoría;) es simplemente eliminar las cuentas del administrador local por completo y confiar en las cuentas de dominio para la administración.

Oskar Duveborn
fuente
No hay ninguna funcionalidad en el sistema operativo para eliminar la cuenta de administrador RID 500. Puede hacerlo hurgando en el SAM, pero en ese momento está lejos del territorio "no compatible". ¿Qué sucede, de todos modos, cuando se rompe la relación de confianza de la estación de trabajo de la máquina?
Evan Anderson el