Search | Directories | Reference Tools
UW Windows Infrastructure Service banner image
Skip Navigation LinksUW Home > Computing and Networking > Support > UW Domains > UW Windows Infrastructure > Frequently Asked Questions > How Things Work

UWWI FAQ - How Things Work

In addition to explanations of basic Windows technology, this document also includes explanations relevant to the more complex cross-forest scenarios that are relevant here at the UW. We welcome suggestions as to additional questions that should be added to this document.

What are the default users & groups in Windows?

How does the Windows authentication mechanism work? And how does Windows authorization work?

Depending on the type of Windows login, you get a portion of your authorization along with your authentication. For an interactive login (what you do when you hit ctrl-alt-del), you get a login token that contains all your domain-based global and universal groups attached.

During the login process, you present a password to your workstation. Your workstation contacts the domain controller, negotiates an authentication mechanism, then in slightly different ways dependent on the mechanism, interacts with the domain controller to check if your password is correct. If it is, a login token of the type of authentication mechanism negotiated is issued you on your workstation.

Which authenticaton mechanism is used depends on a negotiation between your workstation and the domain controller. Specifically, it depends on the setting called the LmCompatibilityLevel. Read more about that here.

When you then try to access a remote resource, that login token (the interactive one) is passed to the remote server, like IIS, to perform a different kind of Windows login--a network login. As a user, you don't see that login happening--unless it isn't accepted. In the background, you as a user are passing your login token to the server and allowing the server to do a limited number of things with that token. One of those things is to examine the token for the domain-based global and universal group memberships. Another is to construct the other group memberships that you are entitled to. The other group memberships include domain-based local groups, computer-based local groups, and dynamic group memberships. These other group memberships must be constructed at the time of access because they are context specific--e.g. there are many possible domains/computers that you *might* access and so only those memberships are constructed when needed. The remote server then makes an authorization decision based on whether you possess a group or user principal that is allowed the "logon over the network" user right on that remote server. Then it makes another decision as to whether you possess a group or user principal that corresponds to an allow ACE in the ACL on the resource you tried to access.

So ... authentication is tied to authorization in Windows. With Windows it's not a one to one mapping, but it is inexorably mated together.

Are other types of authentication allowed besides Kerberos?

Yes, but it is limited. NTLMv2 and NTLMv1 authentication are allowed. LANMAN and cleartext authentication are not permitted. We recommend that where possible either Kerberos or NTLMv2 be used.

Go to top of page

 

How does the authentication mechanism get chosen? What's the LmCompatibilityLevel setting?

Which authenticaton mechanism is used depends on the configuration of your workstation and the domain controller. Specifically, it depends on the setting called the LmCompatibilityLevel. This setting determines which mechanisms are allowed to be sent and received. If the client and domain controller don't share at least one mechanism in common, then authentication will fail, and appear in the security event log as "Unknown user name or bad password". The authentication mechanism re-enters the picture later if you try to use the token you've been granted to access a resource on a server. At that point, if the server doesn't allow tokens of the authentication mechanism you negotiated with the domain controller, then you will fail to access the server with an "access denied" error.

You may see problems like those described in the FAQ I can login on some computers but not others. Why is this happening? You may also see problems like those described in the FAQ I can login with my UWWI user account, but I can't access resources on a server even though I've granted that account access. What is wrong?.

What should my LmCompatibilityLevel settings be? describes how to set the LmCompatibilityLevel to a value that is optimal for the UW Windows Infrastructure.

Go to top of page

I have Windows 95, Windows 98, and Windows NT 4 workstations in my department, which obviously don’t have Kerberos. How do they participate with UWWI?

It depends on what type of participation you want. In general, Windows workstations of any modern flavor (NT or 9x) should be able to access shared resources that trust the UWWI, whether they are members of a domain that trusts UWWI or not. Access to these resources will require NTLMv2 or NTLMv1 authentication, which will require local administrators of Windows 9x machines to install the Active Directory Client and will require configuration for either NTLMv1 or NTLMv2 authentication.

Both platforms can join a Windows 2000 domain for authentication. They will not, however, receive group policy from the domain.

Go to top of page

How does someone in my department get access to files on someone else’s computer in another department?

This requires a small amount of coordination with someone who has the privileges to administer file shares on the destination computer. The adminstrator of the destination computer can either give a single UWWI user account access or an entire group access to the shared files. Then your the person in your department can provide their UWWI credentials to access the resource.

In the future, UWWI may offer DFS, Distributed File Service, functionality that will allow departments to publish their shared file resources in a hierarchical tree. This would simplify the process of getting to resources for users, while also providing the benefit of a static target "link" that clients know about, such that administrators can swap the backend server behind that link with relative ease and virutally no impact on clients.

Go to top of page

Can I restrict everyone except members of my domain from logging into our department's workstations?

Yes. Windows has a grantable user right called "logon locally". By default, the general "Users" group has this right. You can restrict this on a machine by machine basis to another group or account (via "local security settings" under administrative tools). You can also set this right via group policy on an OU-wide basis (so every machine in your OU is affected) or on a domain-wide basis. The group policy object for this setting is located under computer/windows/security/local policies/user rights/logon locally (& deny logon locally), and one designates the groups you want to give access (or deny access).

Go to top of page

How do we handle students who walk away from public workstations leaving themselves logged on? Can we set Kerberos ticket lifetimes on our OU?

You can't set Kerberos ticket lifetime on an OU basis, nor can you affect the ticket lifetime set on UWWI accounts. Kerberos ticket lifetimes can only be set via a group policy object on a domain-wide basis--so the lifetime chosen for UWWI user accounts is shared by all. 

However, several alternatives would better address this situation. The Windows resource kit has a tool just for this situation called WinExit (winexit.scr). It is a screen saver which logs the current user off the computer after a designated time period. One designates an idle time, and then this tool kicks in. When it is launched, a window appears and a countdown (which you specify) begins. The logoff can be aborted by the user by clicking on a button within this window.

This option can be used by placing all your public workstation in an OU by themselves. This OU would need a GPO which enabled loopback group policy editing (so you could set the important settings based on the machine and not the user). The machine GPO would be a combination of a registry key modification, and a software installation (the tool). Additionally, the GPO would have several user settings under user/admin/control panel/display to designate the right options, including the screensaver activation time, etc.

There are public workstations where the activity doesn’t keep the screensaver from being triggered. For example, playing a movie or musical recording via the CD/DVD drive doesn't prevent the screensaver from being triggered. These exception cases can be handled a couple ways. One would be to specify their machine accounts as exceptions to the GPO. There wouldn't be any logout protection in this case. Another would be to except those machine accounts, and create an alternate GPO which only applied to that handful of machines. You could set the timeout higher, say 3 hours or the longest movie time in your collection. Another way to deal with it is to just tell the few users at those workstations that they'll have to click the abort logout button when it comes up.

Go to top of page

I have public Windows workstations. How do I restrict their functionality and have them participate with UWWI? For example, I’d like to prevent users from running certain applications like the registry editor.

Almost all desktop restrictions are now controlled via group policy objects (gpo). Computers can be grouped together either in an OU (you could setup an OU under your primary OU or child domain) or in groups (just like users can be members of groups). This makes it simple to apply a restrictive gpo to many computers. You can either assign your restrictive group policy to your public workstation OU, or you could assign the gpo to your entire OU (or child domain) and only give the public workstation computer group the access rights to read & apply it. The OU approach is cleaner, but there are other reasons to take the group approach. As to what can be restricted . . . a lot. Windows has the ability to be quite restrictive. You can prevent the command prompt from being called, restrict access to the task manager, and either specify a “don’t run” list or the converse: give a list of “only allow these programs to run.”

Many folks commonly use a product called Deep Freeze to keep a Windows computer perpetually in a known "frozen" state. Microsoft has a Shared Computer Toolkit that can be used to implement quite a bit of restrictions on shared computers. Finally, Nebula provides a kiosk model that may be appropriate; contact help@u.washington.edu for more details.

Go to top of page

How can I remotely access my Windows computer?

One option is Windows file sharing. All Windows computers (from Windows 3.11 for Workgroups on) are capable of sharing files with other Windows computers. This means that any networked Windows computer should be able to access a file share on another Windows computer, if the user has the proper access permissions to the file share. There are a few things you need to do to make it happen, and several provisos that you should consider. Windows operating systems since Windows 2000 have file sharing built in by default, whereas earlier Windows OS' need an additional piece of software installed to enable this functionality. In a nutshell, one creates a file share, and then grants both share permissions and NTFS permissions to the appropriate folks. 

If the computer being used to access the shared resources is not part of a domain, then you will need to specify a UWWI acccount after you attempt to access the file share. You'll get a login challenge, for which you'd respond:

Connect As: netid\UW NetID

Password: UWNetidPassword

This assumes that the computer with the shared resources belongs to a domain that trusts UWWI.

Another possible option is called Terminal Services or Remote Desktop, depending on the Windows operating system. One uses a simple client software, called a RDP client or terminal services client to remotely connect to the remote Windows computer. The connection gives you an identical graphical interface to your computer as if you were at the console.

There is one last option with Windows Terminal Services, which may be very useful to people who travel and want to use an Internet café to access their Windows computer. Awhile ago, Microsoft released the Terminal Service Advanced Client, which contains an ActiveX control that Internet Explorer on a Windows client can use to connect to a Terminal Server. By placing this ActiveX control on a webserver, you only need a browser, and a URL to a special webpage to be directed to your remote Windows computer. There are more details about this functionality on the Microsoft website.

Go to top of page

How does name resolution work with Windows?

Windows NT clients used the following order for sources of name resolution:

Local cache, hosts file, lmhosts file, B node broadcast (if client is a B node) or WINS (if client is a P or H node), DNS. The node type depends on network configuration.

Windows 2000 switches the last two and uses DNS before WINS. This is a key difference, and reflects a tigher reliance on DNS. All Windows OSes since Windows 2000 have retained this order of name resolution.

Reference documents:

Go to top of page

How does browsing work with Windows?

You’ve probably noticed that “My Network Places” has an icon for “Entire Network” as well as icons for common shares you visit, and you can add shortcuts to urls or windows shares. The “Entire Network” icon is the equivalent of the “Network Neighborhood” browse list you saw on previous Windows OS’.

Browsing is a wide and complex topic, so we can only cover the main points of interest. See the name resolution topic for some background.

B node broadcasts don’t go through routers, so typically Windows NT domains with B nodes (i.e. workstations w/o any WINS server to point to) have a truncated browse list featuring only those workstations on the same side of the router as they were located. Additionally, master browser election wars would frequently occur when more than one domain was on the same subnet. All of this resulted in very confused users and frustrated administrators. So with NT4, the “network neighborhood” list was created was via a highly unreliable network of master browsers on each subnet.

Windows 2000 makes a small improvement to this situation. Now each Windows 2000 domain master browser (the DC with the PDC emulator role) actively queries it's configured WINS server for a list of all registered domains. It uses this list to contact the other domain master browsers to coordinate browser lists with. This means that the browse list presented to the workstation should be more complete than before. All workstations should be represented assuming that the domain master browser of every domain (or workgroup) is configured to use a central WINS server, and at least one workstation from every domain (or workgroup) on each router segment is able to contact it’s domain master browser.

But clearly, browsing is not a reliable mechanism for locating computers and we don't recommend its use.

Reference documents:

Go to top of page

I hate browse lists. Can I turn them off?

There are several ways to defeat the browsing behavior depending on what approach you like:

There are gpo's which can replace the network neighborhood with a custom list. This custom list could be empty or only have a few entries like relevant servers.

You can turn off your local Computer Browser service. Your computer won't be listed in any browse lists.

You can systematically turn off the Computer Browser service (by OU, domain, or site-wide) via a gpo.

Turning off browsing is not “the answer” to making your machine/OU/domain more secure.

Go to top of page

What is a WINS server and is there a central service?

WINS stands for Windows Internet Name Service. A WINS server holds mappings from a NetBIOS name (the name of your computer in the Network Control Panel) to your computer's IP address. If you want other people to access your computer without knowing the fully qualified DNS name across subnets, then using the same WINS server is the solution. Using a WINS server also helps improve the quality of the browse list seen in Network Neighborhood. DNS name resolution is superior, but requires the person to type in a fully qualified DNS name in order to reference your computer.

Because the client resolution order for NT4 clients first checks for NetBIOS resolution before DNS resolution, larger NT4 domains often opt to implement a WINS server to improve domain performance. Windows 2000 clients use DNS resolution before NetBIOS resolution. Windows 2000 clients version of the Network Neighborhood, My Network Places, has an improved browse list (over NT4) with a common WINS server implemented.

In the past, the UW has not supported WINS campus-wide. Some departments have informally used the UW Technology WINS servers to avoid running WINS themselves. With the advent of UWWI, these UW Technology WINS servers are considered part of the UW Windows Infrastructure and supported as such. You do not need to be in a domain that trusts UWWI to use these services. However, UW Technology only plans to provide WINS services as long as needed to support UWWI. Microsoft has indicated it plans to remove all reliance on NetBIOS resolution in future versions of Windows.

WINS support is required for domain migration. Common WINS servers for all machines in the domain throughout the migration are very important to retain resolution.

The IP addresses for the centrally supported WINS servers are 140.142.1.6 & 140.142.13.229.

Go to top of page

How does a cross-forest trust work?

A cross forest trust consists primarily of a shared secret (associated with a trustedDomain object) between forests, and some mapping information which enables DCs to refer requests with certain UPN or SPN suffixes to the appropriate domain. See the section on cross forest logon for more detail. Also of note is that in addition to the information needed to issue Kerberos referrals, a forest trust can be leveraged like a downlevel trust (NTLM) when needed.

Go to top of page

What happens with global catalogs cross-forest?

Global catalogs are used in several ways to make cross forest trusts work. Nothing that happens, though, is very exotic or even new. In a user’s forest, an authenticating DC will contact a global catalog to enumerate the user’s Universal group memberships, just as it would under normal circumstances. In the case of a forest trust where the user then wants to access a resource in the trusting domain- a Kerberos referral (containing these same groups) is passed to the client, to be passed to a KDC in the resource (trusting) domain. These groups are then combined (with or without nesting) with any Domain Local groups that the user belongs to in the resource domain and so the final service ticket issued by the resource domain KDC contains the user’s Global and Universal groups from her own domain, and any Domain Local groups from the resource domain. So we used a Global Catalog in this transaction, but not in a new or interesting way. All we did was enumerate the user’s Universal groups, which is what we always do during initial authentication.

The trustedDomain object that represents the forest trust is also replicated to Global Catalogs. This allows DCs throughout one forest to easily find routing (suffix) information to identify that a client or service principal may be located in a forest across the trust.

Go to top of page

What happens with group memberships cross-forest?

The same rules apply as with a traditional (external) trusts as used in 2003. Global and Universal groups from the account’s domain/forest can be added to local groups (domain and/or machine local) in the resource domain. As always, you can skip the nesting and include individual users, global, and universal groups from the account domain in ACLs in the resource domain. The best practice, as it has been for years, is to add accounts to global groups (generally following user type, properties or role), combine global groups into universal if necessary, and then add those global or universal groups to local groups (domain and/or machine local) close to the resource. Therefore if the nature of Bob is that he is in the helpdesk (global group), and he is a full time employee (global group) that is all you have to manage, and those groups are members of domain local groups in any domain that they need to be to grant access to resources (“HelpDesk” is a member of “Allowed to Reset Passwords”, for example, and “Full Time Employees” is a member of “General Access to HR Portal”). Of course you could skip all that and just add users to ACLs but that gets messy. And now you’re bored. You already knew all of this.

The short answer is that groups work exactly how they worked before.

This diagram shows the valid possibilities. Lines in blue indicate group membership possibilities. Lines in red indicate ACL possibilities. Only the Forest A-Domain X (AX) column shows all intra domain possibilities, the interaction between AX and BY shows cross-domain plus cross-forest possibilities and the interaction between BY and BZ shows cross-domain, intraforest possibilities.

Go to top of page

How does Group Policy and Logon Scripts work cross-forest?

Loopback processing is used by default for users in cross forest logon, but normal processing can be enabled via the (machine) Group Policy setting “Allow Cross Forest User Policy….” Also worth noting is that with “Allow Cross Forest User Policy…” set, you can still use loopback processing in either merge or replace mode, via the traditional means of enabling loopback on a GPO that applies to the machine.

Go to top of page

What is the order of group policy processing?

Go to top of page

How does the Windows Address Book work cross-forest?

By default the “Active Directory” ‘account’ within the “Find People” applet searches the workstation’s forest. This can be configured to search any arbitrary LDAP provider, including the user’s forest, by modifying the properties of the “Active Directory” ‘account’, or by creating a new ‘account’ to search the desired directory.

These providers or accounts appear to be stored in HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts so if you wanted to automate this configuring this, you could use a logon script to do it.

Go to top of page

Is SID Filtering relevant to forest trusts?

Yes. SID filtering is available on forest trusts, and does not appear to be on by default. It can be configured using:

netdom trust <trustingdomain> /D:<trusteddomain> /quarantine [yes|no]

Because sid filtering allows only SIDs from the trusted domain to carry over into the trusting domain, it appears that it can break the transitivity of a forest trust.

For example, if you had two forests with a forest trust between the forest root domains, and you expected a SID from a child domain in one forest to be usable in the other forest, this fails if SID Filtering is enabled.

Go to top of page

On which DCs does auditing occur? i.e. when I log in, what security events are logged where?

The general rule, which still applies here, is that “Account Logon” events are logged at the authority for the account, and regard events relevant to the authority for the account (such as password verifications). One the other hand “Logon” events are related to creating a security context on a particular machine- by building an LSA access or impersonation token in order to access a resource, and so are logged on the target/resource machine.

For example, a bad password attempt is audited on the authenticating DC (and the PDC in the case of a bad password, since it double checks with the PDC) as an Account Logon (Failure) event. See the following screenshot:

One thing to watch out for when looking for Account Logon events in the Security log is that the “User Name” column in Event Viewer will generally just be “SYSTEM” (there is no security context for the user on the server yet), while the real username in the request is included in the data payload of the event.

A successful password verification (AS exchange, if using Kerberos), is logged on the authenticating DC as follows:

Once the initial verification has taken place, we immediately start getting service tickets in order to build LSA tokens to access the machine we are logging on interactively to, as well as network resources (for example we immediately start accessing authenticated LDAP and SMB on a DC in order to apply Group Policy).

You can audit the service tickets themselves from the KDC, and you can audit these Logon events on any machine where the user has an LSA token built. An example Logon event follows:

Note that the logon type is “3” which is a network logon (This was logged on a DC while the client was applying Group Policy). Examples of type 3 logons are SMB, LDAP, IIS with integrated auth, etc. From an administrative perspective, this corresponds to the “Access this computer from the network” user right. These logon related user rights are the first piece of authorization that happens after authentication. A special SID representing the logon type is also injected into the final token, in case the system or applications need to make authorization decisions based on the logon type, in addition to group memberships.

On the workstation being logged on to interactively, we would expect to see a Logon event with a type 2 (Normal, Interactive) and/or type 11 (Cached Interactive). On a default XP configuration with access to the domain you will actually see both type 2 and type 11 logons during an interactive logon, because XP tries to log you on asynchronously to save time. Basically XP checks your cached credentials first, and if successful it already starts to build your windows station and gets a jump start on running userinit.exe and explorer.exe. Simultaneously, it goes out to the domain for authentication and group policy, etc. This is why it is generally much faster to get to a desktop in XP than it was in 2000 Professional, and it results in the mix of type 11 and type 2 Logon audits. This “fast logon optimization” behavior can be disabled via the Group Policy “Computer Config > Adm > System > Logon > Always wait for the Network…” The advantage of “fast logon” is that you may reach a Ctl+Alt+Del screen much sooner after booting, and reach a desktop sooner after providing credentials. The down side is that because of the cached credentials it can sometimes take more than one reboot and/or logon before local LSA tokens reflect changed group memberships, and for certain actions (like folder redirection) which require exclusive access to a resource to take place. Because of this, many administrators disable this behavior entirely or at least during changes and troubleshooting. This behavior is also disabled (for the user side, at least) under certain user conditions (no cached credentials present, for example). See KB article 305293.

Two of the several logon events registered when logging on interactively to an XP machine (with Logon: Success) with auditing enabled follow:

 

For great information about token building, logon types, and auditing, see the following:

Token Building (also see related pages in left hand pane). Note that the graphic about getting groups from the DCs is a high level abstraction, and is not specific to Kerberos. The paragraph after the graphic clears this up.

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/d06a5070-2a7b-4e75-b7e9-ebe51f65e34b.mspx

Logon Events and Logon types

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/ServerHelp/e104c96f-e243-41c5-aaea-d046555a079d.mspx

Account Logon events

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/ServerHelp/d8fc798c-1e77-4043-b59c-971b4961d85a.mspx

For error codes seen in Account Logon Failure events (675s), see the following (about a third of the way down)

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/b36b8071-3cc5-46fa-be13-280aa43f2fd2.mspx

You can also audit other authentication related happenings, for example the issuing of service tickets, and NTLM passthrough authentication, to customizable degrees of verbosity.

For auditing and logging options on the KDC, see the following doc (same one as above, but about ¾ through the doc). You’ll want to reference the entire registry section as there are a variety of options of Kerberos client and KDC logging to the event logs, and also sending verbose information to DbgPrint which can be captured in a debugger, or in a tool like dbgview.exe from sysinternals.

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/b36b8071-3cc5-46fa-be13-280aa43f2fd2.mspx

For verbose logging of Netlogon, which is responsible for NTLM passthrough authentication, see the following KB. This is useful (along with Account Logon: Failure events) for identifying hosts which are infected with worms that try to brute force account passwords, thereby locking out (potentially many) accounts.

http://support.microsoft.com/?id=109626

Go to top of page

How does the selective auth functionality work & is it useful for us?

Selective authentication is just a mapping, which could be thought of as an additional filter layer in the KDC’s internal logic, which limits what clients may be granted service tickets to certain resources. It is worth noting that authentication does not imply authorization, so resources are still secured in their usual manner (NTFS permissions for files, various internal authZ models for apps, etc). Selective authentication just adds an additional layer of protection and selectivity, whereby client principals aren’t even allowed to “introduce themselves” to service principals unless specifically allowed for in the selective authentication mapping. See the technet description for more info.

Go to top of page