AD DS-Schemaerweiterungen zur Unterstützung der TPM-Sicherung

Dieses Thema enthält weitere Informationen über diese Neuerung und stellt Vorlagen für Schemaerweiterungen bereit, die Sie in Ihre Organisation einbinden können.

Wofür benötigen Sie eine Schemaerweiterung?

Der Wert für die TPM-Besitzerautorisierung wird jetzt in einem separaten Objekt gespeichert, das mit dem Computer-Objekt verknüpft ist. Für Windows Server 2008 R2-Standardschemas wurde dieser Wert als Eigenschaft im Computer-Objekt selbst gespeichert. Windows Server 2012-Domänencontroller verfügen über das Standardschema zum Sichern der TPM-Besitzerautorisierungsinformationen im separaten Objekt. Wenn Sie für Ihren Domänencontroller kein Upgrade auf Windows Server 2012 ausführen, müssen Sie das Schema erweitern, damit diese Neuerung unterstützt wird. Wenn die Active Directory-Sicherung des TPM-Besitzerautorisierungswerts in einer Windows Server 2008 R2-Umgebung aktiviert ist, ohne dass das Schema erweitert wird, verursacht die TPM-Bereitstellung einen Fehler, und das TPM verbleibt bei Computern mit Windows 8 im Zustand „Nicht bereit“. Im Folgenden werden zwei Schemaerweiterungen vorgestellt, die Sie verwenden können, um Parität zwischen der Windows Server 2008 R2-Domäne und Windows Server 2012 herzustellen:

TpmSchemaExtension.ldf

Diese Schemaerweiterung gewährleistet Parität mit dem Windows Server 2012-Schema und wird benötigt, wenn Sie den TPM-Besitzerautorisierungswert für einen Computer speichern möchten, auf dem Windows 8 in einer Windows Server 2008 R2 AD DS-Domäne ausgeführt wird. Bei dieser Erweiterung werden die TPM-Besitzerautorisierungsinformationen in einem separaten TPM-Objekt gespeichert, das mit dem entsprechenden Computerobjekt verknüpft ist.

#===============================================================================
# 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

Beachten Sie, dass die Aktualisierung nur über das Computerobjekt erfolgen kann, von dem das TPM-Objekt erstellt wurde. In Dual-Boot-Szenarien oder bei Computern mit einem neu erstellten Image führt dies folglich dazu, dass nachfolgende Aktualisierungen von TPM-Objekten zur Erstellung eines neuen AD-Computerobjekts führen. Wenn Sie die Unterstützung solcher Szenarien beabsichtigen, müssen Sie das Schema wie im Schemaerweiterungsbeispiel „TpmSchemaExtensionACLChanges.ldf“ dargestellt weiter aktualisieren.

TpmSchemaExtensionACLChanges.ldf

Durch diese Schemaaktualisierung werden die ACLs für das TPM-Objekt in eine weniger restriktive Version geändert. Dadurch kann der Besitzerautorisierungswert in AD DS von nachfolgenden Betriebssystemen aktualisiert werden, die das Computerobjekt in Besitz nehmen.

Wichtig  

Nach der Implementierung dieser Schemaaktualisierung kann der OwnerAuth-Wert des TPM-Objekts von jedem Computer der Domäne aktualisiert werden (auch wenn OwnerAuth nicht gelesen werden kann). Wenn Sie diese Erweiterung verwenden, sollten Sie eine regelmäßige Sicherung der TPM-Objekte ausführen und die Überwachung aktivieren, um Änderungen an diesen Objekten nachzuverfolgen.

 

#===============================================================================
# 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
-