Extensiones de esquema de AD DS para admitir la copia de seguridad del TPM

Este tema proporciona información detallada sobre el cambio y ofrece extensiones de esquema de plantilla que puedes incorporar en tu organización.

Por qué es necesario un esquema de extensión

El valor de autorización del propietario del TPM ahora se almacena en un objeto separado que está vinculado al objeto del equipo. Este valor se almacenaba como una propiedad en el objeto de equipo en sí misma para los esquemas predeterminados de Windows Server 2008 R2. Los controladores de dominio de Windows Server 2012 tienen el esquema predeterminado configurado para hacer una copia de seguridad de la información de autorización del propietario del TPM en un objeto independiente. Si no vas a actualizar el controlador de dominio a Windows Server 2012, deberás ampliar el esquema para admitir este cambio. Si la copia de seguridad de Active Directory del valor de autorización del propietario del TPM está habilitada en un entorno de Windows Server 2008 R2 sin extender el esquema, se producirá un error en el aprovisionamiento del TPM y este permanecerá en el estado de No preparado para los equipos que usen Windows 8. A continuación se describen las dos extensiones de esquema que puedes usar para que el dominio de Windows Server 2008 R2 tenga paridad con Windows Server 2012:

TpmSchemaExtension.ldf

Esta extensión de esquema proporciona paridad con el esquema de Windows Server 2012 y es necesaria si deseas almacenar el valor de autorización del propietario del TPM para un equipo que use Windows 8 en un dominio de Windows Server 2008 R2 AD DS. Con esta extensión la información de autorización del propietario del TPM se almacenará en un objeto de TPM independiente vinculado al objeto del equipo correspondiente.

#===============================================================================
# Active Directory Domain Services schema extension for 
# BitLocker Drive Encryption and Trusted Platform Module (TPM) recovery
# This file contains attributes and class objects that enable Windows Server
# 2008 and Windows Server 2008 R2 domain controllers to store TPM recovery
# information in a new, TPM-specific location.
# Change History: 
#   07/2010 - Created
# To extend the schema, use the LDIFDE tool on the schema master of the forest.
# Sample command:
#   ldifde -i -v -f TPMSchemaExtension.ldf -c \"DC=X\" \"DC=nttest,dc=microsoft,dc=com\" -k -j .
# For more information on LDIFDE tool, see
# https://support.microsoft.com/default.aspx?scid=kb;en-us;237677 
#===============================================================================

#===============================================================================
# New schema attributes
#===============================================================================

# ms-TPM-Srk-Pub-Thumbprint
# GUID: 19d706eb-4d76-44a2-85d6-1c342be3be37
dn: CN=ms-TPM-Srk-Pub-Thumbprint,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: attributeSchema
ldapDisplayName: msTPM-SrkPubThumbprint
adminDisplayName: TPM-SrkPubThumbprint
adminDescription: This attribute contains the thumbprint of the SrkPub corresponding to a particular TPM. This helps to index the TPM devices in the directory.
attributeId: 1.2.840.113556.1.4.2107
attributeSyntax: 2.5.5.10
omSyntax: 4
isSingleValued: TRUE
searchFlags: 11
schemaIdGuid:: 6wbXGXZNokSF1hw0K+O+Nw==
showInAdvancedViewOnly: TRUE
isMemberOfPartialAttributeSet: FALSE
rangeUpper: 20

# ms-TPM-Owner-Information-Temp
# GUID: c894809d-b513-4ff8-8811-f4f43f5ac7bc
dn: CN=ms-TPM-Owner-Information-Temp,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: attributeSchema
ldapDisplayName: msTPM-OwnerInformationTemp
adminDisplayName: TPM-OwnerInformationTemp
adminDescription: This attribute contains temporary owner information for a particular TPM.
attributeId: 1.2.840.113556.1.4.2108
attributeSyntax: 2.5.5.12
omSyntax: 64
isSingleValued: TRUE
searchFlags: 640
rangeUpper: 128
schemaIdGuid:: nYCUyBO1+E+IEfT0P1rHvA==
showInAdvancedViewOnly: TRUE
isMemberOfPartialAttributeSet: FALSE

# ms-TPM-Tpm-Information-For-Computer
# GUID: ea1b7b93-5e48-46d5-bc6c-4df4fda78a35
dn: CN=ms-TPM-Tpm-Information-For-Computer,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: attributeSchema
ldapDisplayName: msTPM-TpmInformationForComputer
adminDisplayName: TPM-TpmInformationForComputer
adminDescription: This attribute links a Computer object to a TPM object.
attributeId: 1.2.840.113556.1.4.2109
attributeSyntax: 2.5.5.1
omSyntax: 127
isSingleValued: TRUE
searchFlags: 16
omObjectClass:: KwwCh3McAIVK
schemaIdGuid:: k3sb6khe1Ua8bE30/aeKNQ==
showInAdvancedViewOnly: TRUE
isMemberOfPartialAttributeSet: FALSE
linkId: 2182

# ms-TPM-TpmInformation-For-Computer-BL
# GUID: 14fa84c9-8ecd-4348-bc91-6d3ced472ab7
dn: CN=ms-TPM-Tpm-Information-For-Computer-BL,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: attributeSchema
ldapDisplayName: msTPM-TpmInformationForComputerBL
adminDisplayName: TPM-TpmInformationForComputerBL
adminDescription: This attribute links a TPM object to the Computer objects associated with it.
attributeId: 1.2.840.113556.1.4.2110
attributeSyntax: 2.5.5.1
omSyntax: 127
isSingleValued: FALSE
searchFlags: 0
omObjectClass:: KwwCh3McAIVK
schemaIdGuid:: yYT6FM2OSEO8kW087Ucqtw==
showInAdvancedViewOnly: TRUE
systemOnly: TRUE
linkId: 2183

# Commit the new attributes

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

# Modify the Computer schema to support the TPM link

dn: CN=computer,CN=Schema,CN=Configuration,DC=X
changetype: modify
add: mayContain
mayContain: msTPM-TpmInformationForComputer
-

# Commit the modification to the computer class

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

#===============================================================================
# New schema classes
#===============================================================================

# ms-TPM-Information-Objects-Container
# GUID: e027a8bd-6456-45de-90a3-38593877ee74
dn: CN=ms-TPM-Information-Objects-Container,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: classSchema
ldapDisplayName: msTPM-InformationObjectsContainer
adminDisplayName: TPM-InformationObjectsContainer
adminDescription: Container for TPM objects.
governsID: 1.2.840.113556.1.5.276
objectClassCategory: 1
subClassOf: top
systemMustContain: cn
systemPossSuperiors: domain
systemPossSuperiors: domainDNS
schemaIdGUID:: vagn4FZk3kWQozhZOHfudA==
defaultSecurityDescriptor: D:(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;DA)(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)(A;;LOLCCCRP;;;DC)
defaultHidingValue: TRUE
defaultObjectCategory: CN=ms-TPM-Information-Objects-Container,CN=Schema,CN=Configuration,DC=X

# ms-TPM-Information-Object
# GUID: 85045b6a-47a6-4243-a7cc-6890701f662c
# NOTE: If the 'defaultSecurityDescriptor' value below is changed,
#   also change the other '.ldf' files in this directory, as appropriate.
dn: CN=ms-TPM-Information-Object,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: classSchema
ldapDisplayName: msTPM-InformationObject
adminDisplayName: TPM-InformationObject
adminDescription: This class contains recovery information for a Trusted Platform Module (TPM) device.
governsID: 1.2.840.113556.1.5.275
objectClassCategory: 1
subClassOf: top
systemMustContain: msTPM-OwnerInformation
systemMayContain: msTPM-SrkPubThumbprint
systemMayContain: msTPM-OwnerInformationTemp
systemPossSuperiors: 1.2.840.113556.1.5.276
schemaIdGUID:: alsEhaZHQ0KnzGiQcB9mLA==
defaultSecurityDescriptor: D:(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;DA)(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)(A;;RPLO;;;DC)(A;;WP;;;CO)
defaultHidingValue: TRUE
defaultObjectCategory: CN=ms-TPM-Information-Object,CN=Schema,CN=Configuration,DC=X
# NOTE: If the 'defaultSecurityDescriptor' value above is changed,
#   also change the other '.ldf' files in this directory, as appropriate.

# Commit the new TPM object class

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

#===============================================================================
# New objects
#===============================================================================

# Add the TPM container to its location in the directory
dn: CN=TPM Devices,DC=X
changetype: add
objectClass: msTPM-InformationObjectsContainer

Debes tener en cuenta que solo el objeto de equipo que creó el objeto del TPM puede actualizarlo. Esto significa que las actualizaciones subsiguientes de los objetos del TPM no funcionarán correctamente en escenarios de arranque dual o escenarios en los que se vuelva a crear una imagen del equipo dando lugar a la creación de un nuevo objeto de equipo de AD. Si planeas admitir dichos escenarios, deberás actualizar el esquema aún más, tal como se muestra en el ejemplo de extensión de esquema TpmSchemaExtensionACLChanges.ldf.

TpmSchemaExtensionACLChanges.ldf

Esta actualización de esquema modifica las ACL del objeto del TPM para que sean menos restrictivas para que cualquier sistema operativo posterior que tome posesión del objeto de equipo pueda actualizar el valor de autorización del propietario en AD DS.

Importante  

Después de implementar esta actualización de esquema, cualquier equipo del dominio podrá actualizar el valor OwnerAuth del objeto del TPM (aunque no podrá leer el valor de OwnerAuth). Cuando uses esta extensión, realiza una copia de seguridad periódica de los objetos del TPM y habilita la auditoría para llevar un seguimiento de los cambios de estos objetos.

 

#===============================================================================
# Active Directory Domain Services schema extension for 
# BitLocker Drive Encryption and Trusted Platform Module (TPM) recovery
# This file modifies a class object that enables Windows Server 2008
# and Windows Server 2008 R2 domain controllers to store TPM recovery
# information in a new, TPM-specific location.
# This file converts the standard schema extension in which only the creator
# of an 'ms-TPM-Information-Object' can write to the object to the Open
# schema extension in which any Domain Computer can write to the object.
# This conversion does not apply to any 'ms-TPM-Information-Object' that
# was created before the conversion.

# Change History: 
#   12/2011 - Created
# To change the schema, use the LDIFDE tool on the schema master of the forest.
# Sample command:
#   ldifde -i -v -f TpmSchemaExtensionACLChanges.ldf
#      -c \"DC=X\" \"DC=nttest,dc=microsoft,dc=com\" -k -j .
# For more information on LDIFDE tool, see
# https://support.microsoft.com/default.aspx?scid=kb;en-us;237677 
#===============================================================================

# Modify the TPM-Information-Object class schema 'defaultSecurityDescriptor' to
# allow any Domain Computer to write its properties (including the TPM OwnerAuth
# value) from allowing only the creating Computer object to write its properties
# NOTE: Keep any changes to the 'defaultSecurityDescriptor' value in synchronization
#   with the value in the TPM-Information-Object class description in the
#   'TpmSchemaExtension.ldf' file

dn: CN=ms-TPM-Information-Object,CN=Schema,CN=Configuration,DC=X
changetype: modify
replace: defaultSecurityDescriptor
defaultSecurityDescriptor: D:(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;DA)(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)(A;;RPWPLO;;;DC)
-

# Commit the modification to the TPM-Information-Object schema

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-