NewSID v4.10

Por Mark Russinvl

Publicado: 1 de noviembre de 2006

Nota: NewSID se ha retirado y ya no está disponible para su descarga. Consulte la entrada de blog de Mark Russinvl: NewSID Retirement and the Machine SID Duplication Myth (Retirada de NewSID y el desduplicación de SID de máquina).

IMPORTANTE

Con respecto a los SID, Microsoft no admite imágenes preparadas con NewSID, solo se admiten imágenes preparadas mediante SysPrep. Microsoft no ha probado NewSID para todas las opciones de clonación de implementación.

Para obtener más información sobre la directiva oficial de Microsoft, consulte el siguiente Knowledge Base artículo:

Introducción

Muchas organizaciones usan la clonación de imágenes de disco para realizar lanzamientos masivos de Windows. Esta técnica implica copiar los discos de un equipo completamente instalado y configurado Windows en las unidades de disco de otros equipos. Estos otros equipos parecen haber estado en el mismo proceso de instalación y están disponibles inmediatamente para su uso.

Aunque este método ahorra horas de trabajo y problemas con otros enfoques de implementación, tiene el problema principal de que cada sistema clonado tiene un identificador de seguridad de equipo (SID) idéntico. Este hecho pone en peligro la seguridad en entornos de grupo de trabajo y la seguridad de los medios extraíbles también se puede poner en peligro en redes con varios SID de equipo idénticos.

La demanda de la Windows ha hecho que varias empresas desarrollen programas que puedan cambiar el SID de un equipo después de clonar un sistema. Sin embargo, sid changer de Symantec y Ghost Walker de Symantec solo se venden como parte del producto de gama alta de cada empresa. Además, ambos se ejecutan desde un símbolo del sistema dos (el cambiador de Altiris es similar a NewSID).

NewSID es un programa desarrollado que cambia el SID de un equipo. Es gratuito y es un programa Win32, lo que significa que se puede ejecutar fácilmente en sistemas que se han clonado previamente.

Lea todo este artículo antes de usar este programa.

Información de versión:

  • La versión 4.0 presenta compatibilidad con Windows XP y .NET Server, una interfaz de estilo asistente, que permite especificar el SID que desea aplicar, la compactación del Registro y también la opción de cambiar el nombre de un equipo (lo que da lugar a un cambio de los nombres NetBIOS y DNS).
  • La versión 3.02 corrige un error en el que NewSid no copiaba correctamente los valores predeterminados con tipos de valor no válidos al cambiar el nombre de una clave con un SID antiguo a un nuevo SID. NT realmente hace uso de estos valores no válidos en determinados momentos en sam. El síntoma de este error fueron los mensajes de error que informan del acceso denegado cuando un usuario autorizado actualizó la información de la cuenta.
  • La versión 3.01 agrega una solución alternativa para una clave del Registro inaccesible creada por el servidor de transacciones de Microsoft. Sin el newSID de trabajo, se cerraría prematuramente.
  • La versión 3.0 presenta una característica de sincronización de SID que dirige a NewSID a obtener un SID para aplicarlo desde otro equipo.
  • La versión 2.0 tiene una opción de modo automatizado y vamos a cambiar también el nombre del equipo.
  • La versión 1.2 corrige un error en que se introdujo en la versión 1.1 donde algunos descriptores de seguridad del sistema de archivos no se actualizaron.
  • La versión 1.1 corrige un error relativamente menor que afectaba solo a determinadas instalaciones. También se ha actualizado para cambiar los SID asociados a la configuración de permisos de los recursos compartidos de archivos e impresoras.

Clonación y métodos de lanzamiento alternativos

Una de las formas más populares de realizar lanzamientos Windows masivos (normalmente cientos de equipos) en entornos corporativos se basa en la técnica de clonación de discos. Un administrador del sistema instala el sistema operativo base y el software de complemento que se usa en la empresa en un equipo de plantilla. Después de configurar la máquina para su funcionamiento en la red de la empresa, las herramientas automatizadas de duplicación de discos o sistemas (comoGhostde Symantec,La unidad de imagen de PowerQuestyRapiDeployde Altiris)se usan para copiar las unidades del equipo de plantilla en decenas o cientos de equipos. A continuación, estos clones reciben ajustes finales, como la asignación de nombres únicos y, a continuación, los usan los empleados de la empresa.

Otra forma popular de implementar es mediante la utilidad sysdiff de Microsoft (parte del kit Windows recursos). Esta herramienta requiere que el administrador del sistema realice una instalación completa (normalmente una instalación desatendida mediante script) en cada equipo y, a continuación, sysdiff automatiza la aplicación de imágenes de instalación de software de complemento.

Dado que la instalación se omite y porque la copia del sector del disco es más eficaz que la copia de archivos, un lanzamiento basado en clonado puede ahorrar decenas de horas en una instalación sysdiff comparable. Además, el administrador del sistema no tiene que aprender a usar la instalación desatendida o sysdiff,ni a crear y depurar scripts de instalación. Esto solo ahorra horas de trabajo.

El problema de duplicación de SID

El problema con la clonación es que solo es compatible con Microsoft en un sentido muy limitado. Microsoft ha indicado que la clonación de sistemas solo se admite si se realiza antes de que se haya alcanzado la parte de gui Windows configuración. Cuando la instalación llega a este punto, al equipo se le asigna un nombre y un SID de equipo único. Si un sistema se clona después de este paso, todas las máquinas clonadas tendrán sides de equipo idénticos. Tenga en cuenta que solo cambiar el nombre del equipo o agregar el equipo a un dominio diferente no cambia el SID del equipo. Cambiar el nombre o el dominio solo cambia el SID del dominio si el equipo estaba asociado previamente a un dominio.

Para comprender el problema que puede causar la clonación, primero es necesario comprender cómo se asignan SID a las cuentas locales individuales de un equipo. Los SID de las cuentas locales constan del SID del equipo y un RID anexado (identificador relativo). El RID se inicia en un valor fijo y aumenta en uno por cada cuenta creada. Esto significa que a la segunda cuenta de un equipo, por ejemplo, se le dará el mismo RID que la segunda cuenta en un clon. El resultado es que ambas cuentas tienen el mismo SID.

Los SID duplicados no son un problema en un entorno basado en dominio, ya que las cuentas de dominio tienen SID basados en el SID de dominio. Pero, según el artículo Microsoft Knowledge Base Q162001, "Do Not Disk Duplicate Installed Versions of Windows NT", en un entorno de grupo de trabajo, la seguridad se basa en los SID de la cuenta local. Por lo tanto, si dos equipos tienen usuarios con el mismo SID, el grupo de trabajo no podrá distinguir entre los usuarios. Todos los recursos, incluidos los archivos y las claves del Registro, a los que un usuario tiene acceso, el otro también lo hará.

Otra instancia en la que los SID duplicados pueden causar problemas es cuando hay medios extraíbles con formato NTFS y los atributos de seguridad de la cuenta local se aplican a archivos y directorios. Si este tipo de medio se mueve a otro equipo que tiene el mismo SID, las cuentas locales que, de lo contrario, no podrían acceder a los archivos, podrían ser capaces de hacerlo si sus iDs de cuenta coinciden con los de los atributos de seguridad. Esto no es posible si los equipos tienen SID diferentes.

Un artículo que Mark ha escrito, titulado"Nt Rollout Options", se publicó en el número de junio de Windows NT Magazine. Describe el problema de SID duplicado con más detalle y presenta la postura oficial de Microsoft sobre la clonación. Para ver si tiene un problema de SID duplicado en la red, use PsGetSid para mostrar los SID de la máquina.

NewSID

NewSID es un programa que hemos desarrollado para cambiar el SID de un equipo. En primer lugar, genera un SID aleatorio para el equipo y continúa actualizando las instancias del SID del equipo existente que encuentra en el Registro y en los descriptores de seguridad de archivos, reemplazando las repeticiones por el nuevo SID. NewSID requiere privilegios administrativos para ejecutarse. Tiene dos funciones: cambiar el SID y cambiar el nombre del equipo.

Para usar la opción de ejecución automática de NewSID, especifique "/a" en la línea de comandos. También puede dirigirlo para cambiar automáticamente el nombre del equipo incluyendo el nuevo nombre después del modificador "/a". Por ejemplo:

newsid /a [newname]

Si NewSID se ejecuta sin preguntar, cambie el nombre del equipo a "newname" y haga que reinicie el equipo si todo va bien.

Nota: Si el sistema en el que desea ejecutar NewSID ejecuta IISAdmin, debe detener el servicio IISAdmin antes de ejecutar NewSID. Use este comando para detener el servicio IISAdmin: net stop iisadmin /y

Característica de sincronización de SID de NewSIDque permite especificar que, en lugar de generar uno aleatoriamente, el nuevo SID debe obtenerse de otro equipo. Esta funcionalidad permite mover un controlador de dominio de copia de seguridad (BDC) a un nuevo dominio, ya que la relación de un BDC con un dominio se identifica por tener el mismo SID de equipo que los demás controladores de dominio (CONTROLADORES de dominio). Simplemente elija el botón "Sincronizar SID" y escriba el nombre del equipo de destino. Debe tener permisos para cambiar la configuración de seguridad de las claves del Registro del equipo de destino, lo que normalmente significa que debe iniciar sesión como administrador de dominio para usar esta característica.

Tenga en cuenta que, al ejecutar NewSID, el tamaño del Registro aumentará, por lo que debe asegurarse de que el tamaño máximo del Registro se adapta al crecimiento. Hemos descubierto que este crecimiento no tiene ningún impacto perceptible en el rendimiento del sistema. El motivo por el que crece el Registro es que se fragmenta a medida que NewSIDaplica la configuración de seguridad temporal. Cuando se quita la configuración, el Registro no se compacta.

Importante: Tenga en cuenta que aunque hemos probado exhaustivamente NewSID,debe usarlo bajo su propio riesgo. Al igual que con cualquier software que cambie la configuración del Registro y el archivo, se recomienda realizar una copia de seguridad completa del equipo antes de ejecutar NewSID.

Mover un BDC

Estos son los pasos que debe seguir cuando desee mover un BDC de un dominio a otro:

  1. Arranque el BDC que desea mover e iniciar sesión. Use NewSID para sincronizar el SID del BDC con el PDC del dominio al que desea mover el BDC.
  2. Reinicie el sistema para el que cambió el SID (el BDC). Puesto que el dominio al que ahora está asociado el BDC ya tiene un PDC activo, se arrancará como un BDC en su nuevo dominio.
  3. El BDC se mostrará como una estación de trabajo en Administrador del servidor, así que use el botón "Agregar al dominio" para agregar el BDC a su nuevo dominio. Asegúrese de especificar el botón de radio BDC al agregar.

Funcionamiento

NewSID comienza leyendo el SID del equipo existente. El SID de un equipo se almacena en el subárbol SECURITY del Registro en SECURITY\SAM\Domains\Account. Esta clave tiene un valor denominado F y un valor denominado V. El valor V es un valor binario que tiene el SID del equipo incrustado en él al final de sus datos. NewSID garantiza que este SID está en un formato estándar (3 subautoridades de 32 bits precedidas por tres campos de autoridad de 32 bits).

A continuación, NewSID genera un nuevo SID aleatorio para el equipo. La generación de NewSIDtarda mucho en crear un valor de 96 bits realmente aleatorio, que reemplaza los 96 bits de los 3 valores de subautoridad que representan un SID del equipo.

A continuación se siguen tres fases para el reemplazo del SID del equipo. En la primera fase, se examinan los subárboles SECURITY y SAM Registry en busca de repeticiones del SID del equipo antiguo en los valores de clave, así como los nombres de las claves. Cuando el SID se encuentra en un valor, se reemplaza por el nuevo SID del equipo y, cuando el SID se encuentra en un nombre, la clave y sus subclaves se copian en una nueva subclave que tiene el mismo nombre, excepto con el nuevo SID que reemplaza a la antigua.

Las dos fases finales implican la actualización de descriptores de seguridad. Las claves del Registro y los archivos NTFS tienen seguridad asociada. Los descriptores de seguridad constan de una entrada que identifica qué cuenta posee el recurso, qué grupo es el propietario del grupo principal, una lista opcional de entradas que especifican las acciones permitidas por los usuarios o grupos (conocidas como lista discrecional de Access Control - DACL) y una lista opcional de entradas que especifican qué acciones realizadas por determinados usuarios o grupos generarán entradas en el registro de eventos del sistema (System Access Control List - SACL). Un usuario o un grupo se identifica en estos descriptores de seguridad con sus SID y, como he indicado anteriormente, las cuentas de usuario locales (que no son las cuentas integradas como Administrador, Invitado, entre otras) tienen sus SID integrados en el SID del equipo más un RID.

La primera parte de las actualizaciones del descriptor de seguridad se produce en todos los archivos del sistema de archivos NTFS del equipo. Todos los descriptores de seguridad se examinan en busca de repeticiones del SID del equipo. Cuando NewSID encuentra uno, lo reemplaza por el nuevo SID del equipo.

La segunda parte de las actualizaciones del descriptor de seguridad se realiza en el Registro. En primer lugar, NewSID debe asegurarse de que examina todos los subárboles, no solo los que se cargan. Cada cuenta de usuario tiene un subárbol del Registro que se carga como HKEY_CURRENT_USER cuando el usuario inicia sesión, pero permanece en el disco en el directorio de perfil del usuario cuando no lo está. NewSID identifica las ubicaciones de todas las ubicaciones de hive de usuario enumerando la claveHKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileListusuario, que apunta a los directorios en los que se almacenan. A continuación, los carga en el Registro mediante RegLoadKey en HKEY_LOCAL_MACHINE y examina todo el Registro, examinando cada descriptor de seguridad en la búsqueda del SID del equipo antiguo. Las actualizaciones se realizan de la misma manera que para los archivos y, cuando newSID se realiza, descarga los subárboles del usuario que se cargan. Como último paso, NewSID examina la clave HKEY_USERS, que contiene el subárbol del usuario que ha iniciado sesión actualmente, así como . Subárbol predeterminado. Esto es necesario porque un subárbol no se puede cargar dos veces, por lo que el subárbol del usuario que ha iniciado sesión no se cargará en HKEY_LOCAL_MACHINE cuando NewSID cargue otros subárboles de usuario.

Por último, NewSID debe actualizar las subclaves ProfileList para hacer referencia a los nuevos SID de cuenta. Este paso es necesario para que Windows NT asocie correctamente los perfiles a las cuentas de usuario después de cambiar los SID de la cuenta para reflejar el nuevo SID del equipo.

NewSID garantiza que puede acceder a todos los archivos y claves del Registro del sistema y modificarlos, para lo que se proporciona los siguientes privilegios: Sistema, Copia de seguridad, Restauración y Toma de posesión.