Return to HomepageSecurity Conceptsinvisible_brick.gif (884 bytes)

HOME | UP ONE LEVEL | BACK | NEXT | EMAIL  

invisible_block.gif (851 bytes)

Basic Windows Security Concepts

In this day and age, physical assets are no longer the only valuables that we posses.  In the information age, intellectual property whether electronic or otherwise is often the target of thieves and other unauthorized users.  For this reason it is often necessary to implement security measures to protect the content of computer systems.  A computer security plan that is well thought out, implemented, and monitored makes authorized computer use easy and unauthorized use or accidental damage difficult or impossible.  What, though, is computer security?  Computer security refers to the protection of all components—hardware, software, and stored data—of a computer or a group of computers from damage, theft, or unauthorized use. Microsoft included security as part of the initial design specifications for Windows NT, and it is pervasive in the operating system.

No computer will ever be completely secure if people other the than authorized users can physically access it.  Simple things like locked doors can make all of the difference in the world.  If the network is entirely contained in a secure building, the risk of unauthorized taps is also minimized or even eliminated.  Nevertheless, security measures must continue even after one gains access to a computer.  The security model built into Windows NT includes components to control who accesses which objects (such as files and shared printers), which actions an individual can take on an object, and which events are audited.  There are many ways that security can be implemented but we will focus on the concepts that apply most to us.

So, first of all, user-level security is implemented.   This basically means that who the user is determines what he will be allowed to do.   Then, there is access control for various objects (resources) in the network.  With access to objects across the network, this security model is implemented on two levels: share level and file/directory level.  Security at the file and directory level is only possible when using NTFS.  When these schemes are used together, a fairly high level of security is achieved.

We may not realize it at the time but from the point when we turn on our computers to the point of accessing our files on the network, we pass through several lines of security.  It basically goes like this:

1) You turn on the computer and the boot process begins.  During this process the computer loads the Registry and in it, it sees that you are a domain network user which means that in order for you to complete the start up process properly, you must connect to the domain (at least that is a frequently used standard).  That is why you have to enter your user name and password in the logon dialog box to complete the start up process.   Your computer then calls out to the network for a domain controller (which is an NT server that authenticates users) and the first one to respond attempts to authenticate you.  It looks at your computer name, user name and the hash from your password, compares it to the information stored in the security database (SAM), and if everything checks out, it let's you in by assigning you an access token (see glossary if needed).  This is the first line of defense.  From that point, everything you do or attempt to access will be limited by your individual rights and permissions, which is indicated in part by your access token.  That is why, with NT, when new permissions to an object are granted to a user, he will not be able to access the object until he logs on again, thus generating a new access token.

Microsoft Networks Logon Dialog Box

2) That brings us to the next level, whether or not you can access a particular area of the network.  Essentially, being logged on, in itself, doesn't really mean that you can access anything else.  Each object (files, folders, printers, etc.) has its own access control list (ACL) of users or groups and their permissions. One user may have full control of an object while another may only have permission to read it.  Of course, anyone who is not in the list at all, whether individually or as part of a group, gets no access.  By the way, although we will talk about groups later, if a user appears in the same ACL multiple times, perhaps as a member of different groups with different permissions, he will have access according to the least restrictive permission.  However, if any of the permissions is specifically set to No Access, this will override any other permissions that the user may have.   (Fundamentally, permissions in NT boil down to AccessDenied or AccessAllowed which consists of a combination of Read, Write, Execute, and Delete.  NT simplifies assigning permissions by grouping these settings into four easy to understand levels: Full Control, Change, Read and No Access.)

Logon scripts are often used to automate the process, but in order to utilize the files and programs on our network we must access a network share.  (For more information on networking and shares, please see When Windows is Networked.)  Your "home drive" (F:) and all of the other "network drives" that you use everyday are shared directories on a server in the domain.  Well, in order to access them NT must match your access token with an entry in the ACL of that share.  In other words, your user name, either individually or as part of a group, must have permissions granted to that share in order to get in.  Further, it can limit what you can do to any resources accessed through that share, even if no additional security has been specifically applied to objects accessible through that share.  Thus, if your share permissions allow you only to read, it doesn't matter what other permissions you are granted to the objects in that directory, you will only be able to "read" the objects.

Additionally, when access is granted through shares you only see what's in the share.  To the user, it seems to be a root level directory.   Although a share may be a low-level subdirectory on a server, the user can't see any of the other directories around or above the share, only within it.  That means that access could easily be limited to one corner area of the network using shares.   In any case, access to a share is another barrier of security that we cross daily.   Well, what's next?

3) With NTFS (which is implemented on virtually all of our NT servers) security can be configured for individual files and directories.  It is similar to attempts to access a share.  In addition to the permissions discussed above, at the NTFS level of security there are two more permissions: Change Permissions and Take Ownership.  Nevertheless, NT must match your access token with an entry in the ACL of that individual file or directory.  In other words, your user name, either individually or as part of a group, must have permissions granted to that object in order to get in.  That does not mean that a network administrator would have to concern himself with setting permissions to everything on a network.  By default, objects will inherit the ACL of its parent object.  Because this level of security can deny access to objects a root level share doesn't have to expose all of the data in subdirectories of that share directory.  For instance, though you may see several directories within a particular "network drive", you may only be able to access certain subdirectories.

Security_Flow.gif (9708 bytes)

In any case, this combination of security levels makes for many possible methods of securing a Windows NT network.  As shown in the above diagram, there are always at least three check points between you and the data you store on the network - domain authentication, access to the share, and access to the directories and files.  If, however, it were possible for you to log directly into the computer housing the data, you would bypass all but the NTFS security.  That is also why it is generally much more secure to store sensitive data on a server rather than on your workstation.

When a network includes many users it only makes sense to manage them in groups.  A user group is a set of users who have identical network rights and permissions because a group is, essentially, a network account that contains other accounts.  By applying rights or permissions to a group you apply those same rights or permissions to all of the members of that group.  Now, while they are a beneficial means to implement security with a large user population but there are important considerations for implementing groups in a domain.

First of all there are two types of groups in a domain: local groups and global groups.  In the language of Windows NT, local basically means "on this machine".  Therefore, a local user is a user whose account resides on a specific computer and who logs into that computer.  A local group is a group that is managed and assigned rights and permissions on a specific computer.  The term global, on the other hand, is a bit of an overstatement, but on our system it can be thought of as a synonym for domain or network (particularly since we use, for the most part, a single domain model).  Global accounts reside on the primary domain controller for the domain.  That means a global or "domain" user is recognized all across the domain and the same is true with a global group.

Let's reason on this.  If a local group is on a particular machine, it's not on any other machine.  That means that while it may be useful for organizing security settings on that machine, the group is unknown to other machines.  Therefore, local accounts are not for assigning permissions across the network, global accounts are.  One instructor sums it up this way, "global groups are for exporting users and local groups are for importing users."  This makes sense when you think about the fact that security restrictions are set on objects and the objects (files, folders, printers, etc.) are resources of the servers throughout a large network like ours.  Here's an example: There may be many users all around the domain that need access to a particular resource.  The network brothers may therefore create a global group that contains all of these users.  On the server that stores the resource, they may use a few local groups to manage the access levels granted to the resource.  Instead of adding the global group directly to the ACL of the resource, they would want to add the global group to one of the local groups already in the ACL.   In this case, the global group was used "export" the users to the resource machine and the local group essentially "imported" the global group into it.  The thing to remember is the fact that you can add a global group to a local group but cannot add a local group to a global group.

This has really been a very simplistic look at Windows NT's security.  If you need more information on the subject, please visit our Training Resources page for available books.  There are, though, things that we can all do.  Keeping doors locked and using effective passwords are really fundamental to everything discussed above.   Please visit the Information Systems Computer Security site for specific information about security guidelines and policies.  If there were any unfamiliar terms used above, please consult our glossary.

invisible_block.gif (851 bytes)

We hold the "key" to good security!    PE03328A1.gif (2743 bytes)

 

Last Modified 5/1/99
©
1999 Advanced Methods Computer Applications. All rights reserved. Terms of Use.