Skip to main content

NewSID v4.10

Por Mark Russinovich y Bryce Cogswell

Publicado: Noviembre 1, 2006

IMPORTANTE:

Con respecto a los SID, Microsoft no admite imágenes que se preparan con NewSID, sólo admite imágenes preparadas con SYSPREP. Microsoft no ha probado NewSID con todas las opciones de clonación de implementación.

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

Inicio de páginaInicio de página

 

Introducción

Muchas organizaciones usan la clonación de imagen de disco para realizar lanzamientos masivos de Windows. Esta técnica incluye la copia de los discos de un equipo con Windows completamente instalado y configurado en las unidades de disco de otros equipos. Efectivamente, estos otros equipos aparecen como si recibieran el mismo proceso de instalación, e inmediatamente están disponibles para el uso.

Si bien este método ahorra horas de trabajo y disgustos en comparación con otros métodos de implementación, su principal problema radica en que cada sistema clonado tiene un identificador de seguridad de equipos (SID) idéntico. Este hecho compromete la seguridad en entornos con grupos de trabajo, y la seguridad de medios extraíbles también puede estar en riesgo en redes con varios equipos de SID idéntico.

La petición de la comunidad de Windows condujo a que varias compañías desarrollen programas con capacidad de cambiar el SID de un equipo después de la clonación de un sistema. Sin embargo, SID Changer y Ghost Walker de Symantec sólo se venden como parte del producto de tecnología avanzada de cada compañía. Aún más, ambos se ejecutan desde un símbolo del sistema de DOS (el programa para cambiar SID de Altiris es similar a NewSID).

NewSID es un programa que desarrollamos y 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 anteriormente clonados. NewSID funciona en Windows NT 4, Windows 2000, Windows XP y Windows .NET Server.

Lea el artículo completo antes de usar este programa.

Información sobre la versión:

  • La versión 4.0 ofrece compatibilidad con Windows XP y .NET Server y una interfaz con estilo de asistente. Permite especificar el SID que se desea aplicar, la compactación del Registro y también la opción de cambiar el nombre del equipo (que produce un cambio del nombre NetBIOS y DNS).
  • La versión 3.02 corrige un error donde NewSid no copiaba de forma correcta los valores predeterminados con tipos de valores no válidos al cambiar el nombre del antiguo SID por uno nuevo. En realidad, NT usa tales valores no válidos en SAM en determinados momentos. Los síntomas de este error eran mensajes de error que informaban sobre un acceso denegado cuando un usuario autorizado actualizaba información de la cuenta.
  • La versión 3.01 agrega una solución alternativa para una clave inaccesible del Registro creada por Microsoft Transaction Server. Sin la solución alternativa, NewSID se cerraba de forma prematura.
  • La versión 3.0 introduce una característica de sincronización de SID que dirige a NewSID para obtener un SID que se aplica desde otro equipo.
  • La versión 2.0 tiene una opción de modo automático, que también permite cambiar el nombre del equipo.
  • La versión 1.2 corrige un error que se introdujo en 1.1 donde no se actualizaban algunos descriptores de seguridad del sistema de archivos.
  • La versión 1.1 corrige un error relativamente secundario que sólo afectó a algunas instalaciones. También se actualizó para cambiar SID asociados con la configuración de permisos de recursos compartidos de archivos e impresoras.

Inicio de páginaInicio de página

 

Clonación y métodos alternativos de implementación

Una de las maneras más populares de realizar implementaciones masivas de Windows (típicamente centenares de equipos) en entornos corporativos se basa en la técnica de clonación de disco. Un administrador del sistema instala el sistema operativo de base y el software adicional usado en la compañía en un equipo plantilla. Después de configurar el equipo para su funcionamiento en la red de la compañía, se usan las herramientas automatizadas de duplicación de disco o del sistema (tales como Ghostde Symantec, Image Drivede PowerQuestRapiDeployde Altiris) para copiar las unidades del equipo plantilla en decenas o centenares de equipos. A continuación, estos clones reciben ajustes finales, como por ejemplo, la asignación de nombres únicos, y los empleados de la compañía ya pueden usarlos.

Otra manera popular de implementación es mediante la utilidad sysdiff de Microsoft (parte del kit de recursos de Windows). Esta herramienta requiere que el administrador del sistema realice una instalación completa (generalmente una instalación desatendida con secuencias de comandos) en cada equipo y, a continuación, sysdiff automatiza la aplicación de imágenes de instalación de software adicional.

Debido a que se omite la instalación y a que la copia de sectores de disco es más eficiente que la copia de archivos, una implementación basada en clonación puede ahorrar docenas de horas respecto a una instalación comparable de sysdiff. Además, el administrador del sistema no tiene que aprender a usar la instalación desatendida o sysdiff, ni crear y depurar secuencias de comandos de instalación. Sólo con esto se ahorran horas de trabajo.

Inicio de páginaInicio de página

 

El problema de duplicación de SID

El problema con la clonación es que Microsoft sólo la admite en un sentido muy limitado. Microsoft estableció que sólo admite la clonación de sistemas si la misma se lleva a cabo antes de alcanzar la fase de la interfaz gráfica de usuario de la instalación de Windows. Cuando la instalación alcanza este punto se asigna al equipo un nombre y un SID de equipo exclusivos. Si un sistema se clona después de este paso, todos los equipos clonados tendrán un SID idéntico. Tenga en cuenta que cambiar el nombre del equipo o agregar el equipo a un dominio diferente no cambia su SID. Cambiar el nombre o el dominio sólo cambia el SID del dominio si el equipo se asoció anteriormente con un dominio.

Para comprender el problema que esa clonación puede ocasionar, primero es necesario comprender cómo se asignan los SID a las cuentas locales individuales de un equipo. Los SID de cuentas locales consisten del SID del equipo y de un RID (identificador relativo) concatenado. El RID comienza en un valor fijo y se incrementa en uno por cada cuenta que se crea. Esto significa que la segunda cuenta en un equipo, por ejemplo, recibirá 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 dominios porque las cuentas de dominio tienen sus SID basados en el SID de dominio. Pero, según el artículo Q162001 de Microsoft Knowledge Base, "No duplique el disco de las versiones instaladas de Windows NT", si la seguridad de un entorno de grupos de trabajo se basa en los SID de las cuentas locales. Por lo tanto, si dos equipos tienen usuarios con el mismo SID, el grupo de trabajo no podrá distinguir entre usuarios. Todos los recursos, incluidos los archivos y la claves del Registro, a los que tiene acceso un usuario, el otro usuario también lo tendrá.

Otro caso en el que los SID duplicados pueden producir problemas es cuando existen medios extraíbles con formato NTFS, y se aplican atributos de seguridad de la cuenta local en archivos y directorios. Si tales medios se mueven a un equipo diferente que tenga el mismo SID, entonces las cuentas locales que de otro modo no podrían tener acceso a los archivos quizá puedan tenerlo si los SID de su cuenta coinciden con los SID de los atributos de seguridad. Esto no es posible si los equipos tienen diferentes SID.

Un artículo escrito por Mark titulado "Opciones de lanzamiento de NT," se publicó en el número de junio de Windows NT Magazine. Trata el problema del SID duplicado en mayor detalle y presenta la postura oficial de Microsoft sobre la clonación. Para consultar si tiene un problema de SID duplicado en su red, use PsGetSid para mostrar los SID de los equipos.

Inicio de páginaInicio de página

 

NewSID

NewSID es un programa que desarrollamos para cambiar el SID de un equipo. Primero genera un SID aleatorio para el equipo y continúa con la actualización de las instancias del SID del equipo existente que encuentra en el Registro y en los descriptores de seguridad de archivos, mientras reemplaza las repeticiones con el nuevo SID. NewSID requiere privilegios administrativos para su ejecución. Tiene dos funciones: cambiar el SID y cambiar el nombre de equipo.

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

newsid /a [nuevo_nombre]

Si se ejecuta NewSID sin solicitud, cambie el nombre de equipo al "nuevo_nombre" e inicie el equipo si todo es correcto.

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

La característica de sincronización de SID de NewSID le permite especificar que, en lugar de generar un SID de forma aleatoria, se obtenga el nuevo SID de un equipo diferente. Esta funcionalidad permite mover un controlador de dominio de reserva (BDC) a un nuevo dominio, ya que la relación del BDC con un dominio se identifica por tener el mismo SID de equipo que los otros controladores de dominio (DC). Seleccione simplemente el botón "Sincronizar SID" y escriba el nombre del equipo de destino. Debe tener permiso para cambiar la configuración de seguridad de las claves del Registro del equipo de destino, lo que típicamente significa que debe iniciar sesión como administrador de dominio para usar esta característica.

Tenga en cuenta que cuando ejecute NewSID crecerá el tamaño del Registro, de modo que asegúrese de que el tamaño máximo del Registro se adapte al crecimiento. Hemos detectado que este crecimiento no tiene una repercusión perceptible en el rendimiento del sistema. La razón por la que el Registro crece es debido a que se fragmenta cuando NewSID aplica la configuración de seguridad temporal. Cuando la configuración se elimina el Registro no se compacta.

Importante: Tenga en cuenta que aunque probamos exhaustivamente NewSID, debe usarlo bajo su propia responsabilidad. Al igual que con cualquier software que cambia la configuración del Registro y de los archivos, se recomienda realizar una copia de seguridad del equipo antes de ejecutar NewSID.

Inicio de páginaInicio de página

 

Traslado de un BDC

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

  1. Inicie el BDC que desea mover e inicie 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 en el que desea cambiar el SID (el BDC). Dado que el dominio al que está ahora asociado el BDC ya tiene un PDC activo, se iniciará como un BDC en su nuevo dominio.
  3. El BDC aparecerá en el Administrador del servidor como una estación de trabajo, de modo que debe usar el botón "Add to domain" para agregar el BDC a su nuevo dominio. Al agregar, asegúrese de especificar el botón de radio BDC.

Inicio de páginaInicio de página

 

Funcionamiento

NewSID comienza por leer 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 otro valor denominado V. El valor V es un valor binario que contiene incrustado en su interior el SID del equipo al final de los datos. NewSID se asegura que este SID se encuentra en un formato estándar (3 campos subauthorities de 32 bits precedidos por tres campos authority de 32 bits).

A continuación, NewSID genera un nuevo SID aleatorio para el equipo. La generación de NewSID necesita mucho trabajo para crear un valor de 96 bits verdaderamente aleatorio, que reemplaza los 96 bits de los 3 valores subauthority que componen el SID de un equipo.

Las tres fases para el reemplazo del SID del equipo siguen a continuación. En la primera fase, los subárboles SECURITY y SAM del Registro se analizan para determinar las repeticiones del SID del antiguo equipo, tanto en los valores como en los nombres de las claves. Cuando el SID se encuentra en un valor, se reemplaza por el SID del nuevo equipo, y cuando el SID se encuentra en un nombre, la clave y sus subclaves se copian a una nueva subclave con el mismo nombre con la excepción que el nuevo SID reemplaza al antiguo.

Las dos fases finales implican la actualización de los descriptores de seguridad. Las claves del Registro y los archivos de NTFS tienen una seguridad asociada. Los descriptores de seguridad tienen una entrada que identifica qué cuenta posee el recurso, qué grupo es el grupo propietario principal, una lista opcional de entradas que especifican acciones permitidas por usuarios o grupos (conocida como la lista de control de acceso discrecional, DACL) y una lista opcional de entradas que especifican qué acciones realizadas por ciertos usuarios o grupos generarán entradas en el registro de eventos del sistema (lista de control de acceso del sistema, SACL). Un usuario o grupo se identifican en estos descriptores de seguridad con sus SID y, como expresé antes, las cuentas de usuarios locales (que no sean las cuentas integradas tales como Administrador, Invitado, etc.) tienen sus SID compuestos por el SID del equipo más un RID.

La primera parte de la actualización de los descriptores de seguridad se produce en todos los archivos del sistema de archivos NTFS en el equipo. Cada descriptor de seguridad se explora para determinar las repeticiones del SID del equipo. Cuando NewSID encuentra uno, lo reemplaza con el SID del nuevo equipo.

La segunda parte de la actualización de los descriptores de seguridad se realiza en el Registro. En primer lugar, NewSID debe asegurarse de analizar todos los subárboles, no sólo los que están cargados. Cada cuenta de usuario tiene un subárbol de Registro que se carga como HKEY_CURRENT_USER cuando el usuario haya iniciado la sesión, pero permanece en disco en el directorio del perfil de usuario cuando no lo hizo. NewSID identifica las ubicaciones de los subárboles de todos los usuarios por enumeración de la clave HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList, que señala a los directorios en los que están almacenados. A continuación, los carga en el Registro mediante RegLoadKey en HKEY_LOCAL_MACHINE y analiza el Registro completo, examinando cada descriptor de seguridad en busca del SID del antiguo equipo. Las actualizaciones se realizan de igual manera que para los archivos, y una vez listas. NewSID descarga los subárboles de usuario que previamente cargó. Como último paso, NewSID analiza la clave HKEY_USERS, que contiene el subárbol del usuario que en ese momento tiene iniciada su sesión, así como el subárbol .Default. Esto es necesario porque un subárbol no se puede cargar dos veces, de modo que el subárbol del usuario con sesión iniciada no se cargará en HKEY_LOCAL_MACHINE cuando NewSID cargue los otros subárboles de usuario.

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

NewSID asegura que puede tener acceso al sistema y que puede modificar cada archivo y clave del Registro en el mismo, otorgándose los siguientes privilegios: Sistema, Copia de seguridad, Restaurar sistema y Tomar posesión.

Uso del código fuente

El código fuente completo de NewSID se ofrece para propósitos educativos. No puede usar este código en un producto de cambio de SID comercial ni gratuito, pero puede usar sus técnicas en otros programas para uso privado o comercial.


Descargar NewSID (68 KB)




Inicio de páginaInicio de página

Microsoft está realizando una encuesta en línea para comprender su opinión del sitio web de. Si decide participar, se le presentará la encuesta en línea cuando abandone el sitio web de.

¿Desea participar?