|
       
- 技术积分
- 60
- 论坛资产
- 8551 wb
- 其他积分
- 5
 
|
7#
发表于 2007-7-22 18:16
| 只看该作者
Appendix B: How the authentication process works with RODCs
The following scenario helps explain how the authentication process works with RODCs. In this scenario:
• User Bob wants to log on to a workstation named BOB_WS.
• The subnet where BOB_WS workstation is installed is serviced by an RODC.
• Bob’s user account is allowed to cache credentials on the RODC, but the credentials are not cached yet.
• The BOB_WS computer account is allowed to cache credentials on the RODC, but the credentials are not cached yet.
Bob tries to log on to workstation BOB_WS. First, the TGT must be retrieved from the domain controller. The TGT retrieval process in this scenario is shown in the following illustration.
1. The RODC is advertised as the KDC for the branch office. This means that when BOB_WS searches for a domain controller to authenticate Bob’s logon request, it finds and uses the RODC as a KDC. The Kerberos authentication package of BOB_WS prepares a TGT request and sends it to the RODC.
2. The RODC receives the TGT request from BOB_WS. Because the RODC does not know the password for Bob‘s account, it is not able to create the TGT for Bob. The RODC forwards the TGT request to a writable Windows Server 2008 domain controller.
3. The writable Windows Server 2008 domain controller authenticates the request.
4. The result is returned to RODC. If Bob supplies correct credentials, the result is a TGT. If Bob's credential validation fails, the result is an error message. In this scenario, if Bob enters a valid user name and password when he logs on, the validation succeeds.
5. At the same time as the writable domain controller returns a TGT to the RODC, it also adds the distinguished name (also known as DN) of Bob‘s account to the msDS-AuthenticatedToAccountList attribute of the RODC computer account. This creates a record that Bob was authenticated by the RODC.
6. The RODC then passes the result to BOB_WS.
7. After the RODC sends the TGT back to BOB_WS, it also asks the writable domain controller to replicate Bob’s credentials to its replica of the Active Directory database.
8. When the writable domain controller receives the request to replicate Bob‘s credentials to the RODC, it checks the Password Replication Policy to see if the RODC is permitted to cache the credentials for Bob's account.
9. If the check indicates that credentials may be cached, the writable domain controller allows replication of Bob’s account credentials to the RODC.
10. At the same time that the writable domain controller sends the credentials that the RODC requested, the writable domain controller writes the distinguished name of Bob‘s account to the msDS-RevealedList attribute of the RODC computer account. This creates a record that the credentials of Bob’s account are now cached on RODC.
11. The RODC stores Bob’s credentials in the appropriate attributes of his user account in the Active Directory database.
At this moment:
• The writable domain controller has a record that it has allowed the replication of Bob’s credentials to the RODC.
• The credentials of Bob‘s account are cached on RODC.
• Bob has the TGT that was generated by the writable domain controller.
Next, Bob must obtain a service ticket for BOB_WS to be able to work on it, as shown in the following illustration.
1. BOB_WS sends Bob’s request for the service ticket to the RODC. The request contains the TGT that was issued by the writable domain controller.
2. The RODC does not know the password of the common krbtgt account that the writable domain controllers use; therefore, it must forward the service ticket requests to a writable domain controller. But the RODC has Bob’s credentials cached; therefore, it can satisfy Bob’s requests for service tickets. As a result, after the writable domain controller successfully responds to the forwarded request, the RODC returns a Kerberos error message rather than the requested service ticket to the BOB_WS. This error message indicates that the TGT that Bob used in the service ticket request is no longer valid and that a new TGT must be issued.
3. After receiving this error message, BOB_WS discards the TGT that was issued by the writable domain controller, and it requests a new TGT from the RODC.
4. The RODC has Bob’s credentials cached, therefore, it prepares a TGT and signs it with the password of its own krbtgt account.
5. The RODC then sends this new TGT back to BOB_WS.
6. BOB_WS sends Bob’s service ticket request to the RODC again. Now, the service ticket request contains the TGT that was issued by the RODC.
7. The RODC processes the service ticket request. Because it does not have the BOB_WS computer account credentials cached, it cannot create the service ticket. It must forward the service ticket request to a writable domain controller.
8. The writable domain controller receives the service ticket request from the RODC. The writable domain controller:
[quote]1. Validates the TGT. (The writable domain controller can validate the TGT because it knows the password of RODC-specific krbtgt account.)
2. Determines whether the Password Replication Policy allows the RODC to cache credentials for Bob’s account. The RODC is allowed to create TGTs only for accounts that are allowed to cache credentials on it.
3. Evaluates the membership of Bob’s account and prepares a Privilege Authentication Certificate (PAC) portion of the service ticket. It does not use the PAC part of the TGT that was prepared by the RODC. This prevents elevation of privileges in case the RODC is compromised and places fake information into the PAC portion of the TGT.
9. The writable domain controller creates a service ticket and sends it back to the RODC.
10. The RODC then forwards the service ticket to BOB_WS.
11. Bob can start working on BOB_WS.
12. After the RODC sends the service ticket back to BOB_WS, it also asks the writable domain controller to replicate BOB_WS credentials to its replica of the Active Directory database.
13. When the upstream domain controller receives the request to replicate the BOB_WS account credentials to the RODC, it checks the Password Replication Policy to determine whether the RODC is allowed to cache the credentials for the BOB_WS account.
14. If the credentials may be cached, the writable domain controller allows replication of the BOB_WS account credentials to the RODC.
15. At the same time that the writable domain controller sends the RODC the requested credentials, the writable domain controller writes the distinguished name of the BOB_WS account to the msDS-RevealedList attribute of the RODC computer account. This creates a record that the credentials of BOB_WS are now cached on RODC.
16. The RODC stores the credentials of the BOB_WS computer in the appropriate attributes of its computer account in the Active Directory database.
At this moment:
• Bob is logged on to the BOB_WS workstation, and he can request a service ticket to access resources that are located on servers, the same way as he requested service tickets for his own workstation.
• If any of the computers that Bob accesses is allowed to cache credentials on the RODC, the RODC caches it as it processes a service ticket request.
• The RODC caches the credentials of the BOB_WS computer account.
• The writable domain controller creates a record that it revealed the credentials of the BOB_WS computer account to the RODC.
When Bob next tries to log on to the BOB_WS workstation, the RODC will not have to contact the writable domain controller to process the logon request because it has already cached credentials of Bob’s account and the BOB_WS account, as shown in the following illustration.
1. The RODC is advertised as the KDC for the branch office. This means that when BOB_WS searches for a domain controller to authenticate Bob’s logon request, it finds and uses the RODC as a KDC. The Kerberos authentication package of BOB_WS prepares a TGT request and sends it to the RODC.
2. The RODC receives the TGT request from BOB_WS. Because it already knows the password for Bob‘s account, it can create the TGT for Bob. The RODC uses its own krbtgt account when it creates the TGT.
3. The RODC sends the TGT back to BOB_WS, which stores the TGT in a ticket cache that is associated with Bob’s logon session.
4. To be able to work on BOB_WS, Bob needs a service ticket to gain access. The authentication package on BOB_WS creates the service ticket request and sends it to the RODC. The authentication package on BOB_WS prepares a TGT request and sends it to the RODC.
5. The RODC receives the service ticket request from BOB_WS and, because it already knows the password for the BOB_WS computer account, it can create the service ticket for Bob to access BOB_WS. The RODC uses its own krbtgt account when it creates the TGT.
6. The RODC sends the service ticket back to BOB_WS, which stores the service ticket in the ticket cache that is associated with Bob’s logon session.
7. Bob can begin working on BOB_WS.
Important:
This scenario shows the importance of caching passwords for computer accounts in the branch office. If the password for a computer account is not cached and the WAN link to a writable domain controller is not available, a user in the branch office cannot log on to the computer because the user cannot retrieve the service ticket for that computer account.
[/quote]
那我就转过来好了…… |
|