Full Version: Securing Windows NT
Stan
Dear Sirs!

Here's to your attention one of my articles on the Windows NT4 Security. Some of people liked it, some - not very, so please now you may take a look at it.

Securing Windows NT

© Copyright Stanislav N. Ivasyuk, 2003
www.The7Soft.com

Reproduction of the article is free while the article contains a link to http://www.the7soft.com and contains the name of its author - Stanislav N. Ivasyuk

The problem of computer security is not new. Everyone who uses computer networks needs security instruments. Statistics show that in the major number of events, it is quite possible to avoid unauthorized access to the system if the system administrator attends to security enough time. Efficiency of securing always depends on the quality of tuning computer hardware and software tools. Operating system Windows NT (Win2K and XP also) has rich number of security tools. But default values of security parameters do not always match needed criteria. This article describes basic means and methods of security management of Windows NT 4.0 and Windows 2000.

Physical protection

Physical protection means are:

  • securing rooms where network servers are placed;
  • restricting access to network servers, hubs, switches, network cables to outliers;
  • Power protection.


User Accounts Management

User identification and authenticity check are one of the functions of the Security Accounts Manager (SAM). All the necessary settings are stored in the SAM database. They are:


  • user accounts;
  • group accounts;
  • domain computers accounts;
  • Domain accounts.



Database of the SAM manager is a hive of the system registry and is located in the HKEY_LOCAL_MACHINE registry branch and is called SAM (figure 1).

user posted image

Figure 1.

By default, the most hive files (Default, SAM, Security and System) are stored in the %SystemRoot%\System32\Config folder and backed up with the .log file (be sure to defend the mentioned folder from intruders!).

The most interesting section is the section of users' accounts: it stores the information on names and passwords. It should be mentioned that passwords are not stored in the plain text. They are defended with the hashing procedure. That does not mean that it is impossible to intruder to enter the system without knowing the text password. For the network connection it is not necessary to know the plain text password because hashed password is enough to enter the needed system. Moreover, there are some tools to get plain passwords from their hashed form using the brute force attack. Therefore that's enough to get a copy of the SAM database and retrieve hashed password from it.
At the installation of the Windows NT, access to the file %Systemroot%\System32\Config\sam is blocked to the usual programs. But, using the NTBackup utility any user with the backup rights may copy it. Moreover, an intruder may try to overwrite its copy (Sam.sav) from the %Systemroot%\System32\Config directory or its archive copy (Sam. _) from the %Systemroot%\Repair folder.
Therefore to protect the information stored in the SAM database it is necessary to do the following:


  • Exclude booting servers in the DOS-mode (all partitions must be converted to NTFS, booting from floppies and CD-ROMs must be turned off and very desirable to set the BIOS password);
  • Minimize number of users that have Backup Operators and Server Operators rights;
  • After installation of Windows NT or its update, erase the Sam.sav file;
  • Turn off the security information caching on the domain computers (names and passwords of the last ten users entered the system are stored in the system registry). Using the regedt32.exe (or regedit.exe) utility, you should add into the system registry to the HKEY_LOCAL_MACHINE\ Microsoft | Windows NT\ CurrentVersion\ WinLogon section parameter CachedLogonsCount of the REG_SZ type and valued 0.


One of the most popular methods of the illegal system entry is password brute force attack. To fight against it administrators usually use the Account Lockout parameter of the User Manager utility.

user posted image

"Good" exception is the Administrator's account record. And if an Administrator can enter the system through the network, this opens a trap door to the simple password goal seeking. To protect against this method it is recommended to rename the Administrator user, set the Account Lockout parameter, and disable Administrator to enter through the network, disable SMB packets transmission over the TCP/IP ports 137, 138, 139. Also login fails auditing is advisable.

It is necessary to start user passwords filtering (Passfilt.dll library is needed - installed with WinNT4 SP 3 and higher). At the time of new password creating, this library checks that the password length is not less or equal that six symbols and contains three sets of rules of the four possible:

  • capitalized letters;
  • lower-case letters;
  • digits;
  • Special non-arithmetical symbols such as punctuation marks.


To turn on this filtering, it is desirable to add to the registry into the section HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa new parameter Notification Packages of the REG_MULTI_SZ type and valued "PASSFILT" (no quotes!). If this parameter already exists and contains the "FPNWCLNT" value than write a new string below that one.

Securing Files and Folders

The Windows NT operating system supports such file systems as FAT and NTFS. We'll remind that the first one is supported by MS-DOS, Windows 3.x, Windows 95/98 and OS/2, and the second one - only by the Windows NT. FAT and NTFS have different characteristics and performance, have different number of possibilities provided and so on. The main difference between NTFS file system and other ones (FAT, VFAT, HPFS) is that it only satisfies the C2 security standard, and, in particular, the NTFS provides files and folders securing on the local level.

Therefore it should be recommended to create NTFS partitions instead of FAT on your disks. And if you have to use FAT partition, it should be used only for the MS-DOS applications and you should not place Windows NT system files to the FAT partition.

As files and folders in the Windows NT are objects, the security control is implemented on the object level. The security descriptor of any object in the NTFS partition contains two access control lists (ACL): discretionary ACL (DACL) and the system ACL (SACL).

In the Windows NT operating system files and folders access control is not executed by the system administrator, but on the resource owner, and is controlled by the security system through the access mask that is contained in the access control lists' records.

The access mask includes standard (Synchronize, Write_Owner, Write_Dac, Read_Control, and Delete), specific (Read (Write) _Data, Append_Data, Read (Write)_Attributes, Read (Write)_ExtendedAttributes, Execute) and generic (Generic_Read (Write), Generic_Execute) access rights. All these rights are in the discretionary access control list. Additionally, the access mask contains the bit that corresponds to the Access_System_Security access right. This right controls access to the System Access Control List (SACL).

The DACL list determines to what users and groups access to the given resource is allowed. The object owner controls this list.

The SACL list specifies determined by the resource owner kind of access, that makes the system to generate check records in the system event log file. Only the system administrator controls this list.

Actually for administering we do not use the separate access right, but the NTFS permissions. Permissions are divided into individual (number of rights that can allow giving the user access of the certain kind) and special standards. Individual standard is a set of individual rights to execute with files and folders actions of the certain level. Special standard is combination of individual rights that do not match any standard set of permissions.

Table 1.

Individual rights

CODE

Right           Access right            Operations on
                                     Files          Folders

Read            Read_Control     File read        Operations of
               Read_Data        operations,      folder listing,
               Read_Atributes   attributes,      attributes,
               Read_EA          owner name and   owner name and
               Synchronize      access rights    access rights
                                view             view

Write           Read_Control     Operations of    Operations of
               Write_Data       the file         the file and
               Append_Data      content and      subfolders
               Write_Atributes  attributes       creating,
               Write_EA         changing,        changing file
               Synchronize      access rights    attributes,
                                and owner name   access rights
                                view             and owner name
                                                 view
Execute         Read_Control     Operations on    Operations on
               Read_Atributes   the program      the attributes,
               Synchronize      start,           owner name and
               Execute          attributes,      access rights
                                owner name and   view, changing
                                access rights    subfolders
                                view

Delete          Delete           Operations on    Operations on
                                file deletion    folder deletion

Change          Write_Dac        Operations on    Operations on
Permission                       changing the     changing the
                                access rights    access rights

Take Ownership  Write_Owner      Operations on    Operations on
                                changing the     changing the
                                file owner       folder owner




Table 2.

Standard access rights

CODE

Rights    Individual rights  Operations
No Access N/A                Files access denial. User to whom
                            this right is set, is unable to get
                            access to this file even if he is a
                            member of a group file access is
                            allowed to
Read      Read, Execute      Granting access to files view and
                            applications execution that are
                            stored in the folder
Change    Read, Write,       Granting access (in addition to the
         Execute, Delete    rights granted by the read right)
                            on files and folders creation and
                            deletion, files content
                            modification
Full      ALL                Granting access (in addition to the
Control                      rights granted by the read right)
                            on the access rights changing and
                            files and folders owning




Table 3.

Special access rights

CODE

Rights                Rights to   Operations
                     Folders     Files      

No Access             N/A         N/A         Denial of access to
                                             folder and contained
                                             files

List                  Read,       N/A         Permission to view
                     Execute                 filenames. View
                                             folders content and
                                             their structure

Read                  Read,       Read,       Granting the user
                     Execute     Execute     right to view files,
                                             and execution of
                                             applications stored
                                             in a folder

Add                   Write,      N/A         Permissions (in
                     Execute                 addition to the READ
                                             right) to create
                                             files and folders.
                                             Does not allow to
                                             show the directory
                                             structure

Add & Read            Read,       Read,       Granting permissions
                     Write,      Execute     of the ADD and READ
                     Execute                 rights

Change                Read,       Read,       Permissions (in
                     Write,      Write,      addition to the ADD
                     Execute,    Execute,    and READ rights) to
                     Delete      Delete      create, delete files
                                             and folders and
                                             modify the file
                                             content

Full Control          ALL         ALL         Permissions (in
                                             addition to the
                                             change rights) to
                                             change access rights
                                             and owning files and
                                             folders




By default, after the installation of the Windows NT and the NTFS, the system sets very broad permissions to its resources. Broad permissions give usual users (group Everyone) access to the number of important system files and folders, such as %systemroot% and %systemroot%\system32. To set more or less efficient right policy we may recommend you to set the following rights:

Table 4.

CODE

Object of defense               Account        Permission          

%Systemroot%\Repair             Administrator  Full control        

%Systemroot%\System32\Config    Administrator  Full control        
                               Creator Owner  Full control        
                               Users          List                
                               System         Full control        
                                                                 
%Systemroot%\System32\SPOOL     Administrator  Full control        
                               Creator Owner  Full control        
                               Users          Read                
                               Power Users    Change              
                               System         Full control        
                                                                 
%Systemroot%\COOKIES            Administrator  Full control        
%Systemroot%\ FORMS             Creator Owner  Full control        
%Systemroot%\ HISTORY           Users          Special Directory  
%Systemroot%\ OCCACHE                          Access v Read, Write
%Systemroot%\ PROFILES                         and Execute, Special
%Systemroot%\ SENDTO                           File Access v None  
%Systemroot%\ Temporary         System         Full control        
Internet Files                                                    




To defend certain very important system files we may recommend you to do the following:

CODE

Object of defense      Account            Permission

\Boot.ini,             Administrators     Full Control
\Ntdetect.com, \Ntldr  SYSTEM             Full Control

\Autoexec.bat,         Administrators     Full Control

\Config.sys            SYSTEM             Full Control
                      Everyone           Read        

\TEMP directory        Administrators     Full Control
                      SYSTEM             Full Control
                      CREATOR OWNER      Full Control
                      Users              Special Directory
                                         Access v Read, Write
                                         and Execute, Special
                                         File Access v None




Be aware that recommended above files and folders permissions will obstruct software installation by users.

Number of users with the Administrator rights must be minimized. The guest account should be deleted or blocked and instead of this account you may create a temporary account with needed rights and permissions.

Securing registry

The Windows NT registry is a database containing information on configuration and value of all system parameters (devices, operations system itself and applications installed). The main hives of the registry are located in the HKEY_LOCAL_MACHINE branch and are called SAM, SECURITY, SOFTWARE and SYSTEM. The SAM hive, as we do already know, is the database of the System Accounts Manager. The SECURITY hive stores the information that is used by the Local Security Administrator (LSA). In the SOFTWARE hive there are parameters and tunings of installed software, and in the SYSTEM hive there are located data needed for operating system configuration and start (drivers, devices and services).

The user access to mentioned registry fields should be delimited. You can do it with the help of the REGEDT32.EXE system utility.

user posted image

user posted image

Usual users cannot modify the default access settings to the registry sections. Because some registry branches are accessible to the EVERYONE group, after the Windows NT installation some of the registry access settings should be modified:

CODE

Section                  Object of defence

HKEY_LOCAL_MACHINE       \Software
                        \Software\
                       Microsoft\RPC (and subsections)
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion
                        \Software\
                       Microsoft\Windows NT\
                       CurrentVersion\Profile List
                        \Software\
                       Microsoft\Windows NT\
                       CurrentVersion\AeDebug
                        \Software\
                       Microsoft\Windows NT\
                       CurrentVersion\Compatibility
                        \Software\
                       Microsoft\Windows NT\
                       CurrentVersion\Drivers
                        \Software\
                       Microsoft\Windows NT\
                       CurrentVersion\Embedding
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\Fonts
                        \Software\
                       Microsoft\Windows NT\
                       CurrentVersion\FontSubstitutes
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\Font
                       Drivers
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\Font
                       Mapper
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\Font
                       Cache
                        \Software\
                       Microsoft\Windows NT\
                       CurrentVersion\GRE_Initialize
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\MCI
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\MCI
                       Extensions
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\Port
                       (and subsections)
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\Type1
                       Installer
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\WOW
                       (and subsections)
                        \Software\
                       Microsoft\Windows NT\ CurrentVersion\
                       Windows3.1MigrationStatus (and
                       subsections)
                        \System\CurrentControlSet
                       \Services\
                       LanmanServer\Shares
                        \System\CurrentControlSet\
                       Services\UPS
                        \Software\
                       Microsoft\
                       Windows\CurrentVersion\Run
                        \Software\
                       Microsoft\Windows\
                       CurrentVersion\RunOnce
                        \Software\
                       Microsoft\Windows\
                       CurrentVersion\Uninstall

HKEY_CLASSES_ROOT        \HKEY_CLASSES_ROOT (and subsections)

HKEY_USERS               \.DEFAULT




To access the HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\PerfLib section you may delete the EVERYONE group at all and, instead of it, add the INTERACTIVE group with the "read" access right.

To restrict the remote registry access to the Windows NT the registry sections HKEY_LOCAL_MACHINE\System\CurrentcontrolSet\Control\ SecurePipeServers\winreg is used. By default, the remote registry access right is granted to the Administrators group. In the Windows NT Workstation, this section is absent, so it should be created. Remote registry access rights can get users and groups to whom access to the mentioned above section is allowed. To some registry sections it is necessary to add network access to other users or groups. To do it, these sections should be specified in the Machine and Users parameters of the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\winreg\AllowedPaths subsection.


Security of the SMB server

The files and printers access across the network in the Windows NT operating system is provided by the SMB (server message block) Server. Sometimes it is just called "Server" or the LAN Manager server. SMB performs authenticity check of the user thatis trying to get access to information across the network. There are two modes of the validity control system work: security check on the Share Level, and on the User Level. Windows NT supports only the second kind.

At the time of the user level checking the server identifies a user accordingly to the account records database. The SMB protocol provides security only at the starting moment of session and then all users' data are transferred across the network in plain text. So if you want to provide confidence of information transfer, you should use program or hardware cryptography (e.g., PPTP protocol).

The SMB sessions may be intercepted or fabricated. A gateway may intercept the SMB session but gateways are used very rare in local networks. A machine in the Token Ring or Ethernet network will very likely fail when it'll try to intercept SMB session because it is rather difficult to do that.

The possibility of transferring unencrypted passwords makes the Windows NT system vulnerable. After the Service Pack 3 and higher installation, the possibility of the automated transferring of unencrypted password is automatically turned off. To allow the system to transfer unencrypted password (e.g. to communicate with LAN Manager for Unix) the next parameter should be set:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parametrs

Parameter: EnablePlainTextPassword

Type: REG_DWORD

Value: 1

It should be mentioned that the Microsoft Corporation has changed the SMB protocol, which is now called SMB Signing. Both the server and the client, check validity of every SMB message. This is possible because every SMB message is signed with the electronic signature.

To turn on the signature checking you should install the Service Pack 3 and higher packet and set the EnableSecuritySignature (REG_DWORD) parameter of the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parametrs section to the value of 1.

At the time of the server initialization, administrator shares are created. They give access to the root directory of the folder for the members of Administrators, Backup operators, and Power users groups. If you want to cancel admin shares, then in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parametrs section you should modify:

Parameter: AutoShareServer

Type: REG_DWORD

Value: 0,

Or, in the System Policy Editor, check off the Share Hidden Shares parameter.

Installation of the Windows NT SP 3 closes access to the anonymous user to the system registry.

Securing the IIS Server

The Microsoft Internet Information Server was created to unify work of the all Internet services. It is the highly-integrates package of HTTP, FTP and Gopher services.

The IIS security is based on the Windows NT security facilities. Among them:

  • Users' accounts. To prevent unauthorized access to the IIS site, users' accounts should be controlled. To the main securing methods also apply: using the "Internet Guest Account" formula, registration by the user's name and password (according to the Windows NT authentication scheme) and using hard-to-divine passwords.

  • NTFS installation.

  • Access rights. The main access mechanism through the IIS server is the anonymous access. Only the Windows NT Challenge-Response protocol, which is used by the HTTP server, may be considered as secured. Therefore do not use the base authentication scheme, because the user name and password are transferred in the plain text.

  • Decreasing the number of network protocols installed, and the Server service downing. Having decreased the number of protocols network adapters use, you will notably increase the system security. To Internet users could not browse IIS shared resources, down the Server service. Having downed that service you will obstruct intruders to find weak points of your system.

  • Securing the FTP information. FTP always uses the user-level information protection. That means to access the FTP server user should pass the registration procedure. The IIS FTP server may use the system accounts database to authenticate users, connecting to FTP. But this procedure passes all the authentication information in plain text across the network that makes the possibility of password and login information intercepting. The problem of the password interception is eliminated when using the anonymous access. At the anonymous entry user may (or may not) as password enter his email address and as login enter the name "anonymous" (w/o quotes!) Anonymous users get access to the same files as the access of the IUSR_computername Windows NT user allows. Besides, you may allow only anonymous access to IIS service. That variant is also good.

  • The IP-addresses access control. There is an additional possibility of the IIS access control. For example, you may deny access to your server from an IP address, or you may allow access to your server from certain IP addresses and deny to the rest.

  • Encrypting schemes. To secure packets at the time of their transmission, it is necessary to use encrypting methods to avoid their capturing. The most encrypting systems work inside application and transport layers of the Open System Interconnection standard (OSI). Some of the schemes may work even on lower levels. Protocols used for encryption are SSL, PCT, SET, PPTP, and PGP.



Audit

Audit is one of the Windows NT security instruments. With its help you may trace users' actions, and a number of the system events in the network. The next parameters of the system events are written:


  • user's action;
  • username that execute an action;
  • Date and time of the action.



Audit, established on one domain controller is spread on all the domain controllers. The audit tuning lets the Administrator to select kinds of events to be logged and determine what the parameters will be registered.

In the network with minimal security requirements the next events should be logged:


  • successful usage of resources (in the case of when this information is needed for planning);
  • Successful usage of important and confidential information.



In the network with normal security requirements, the next events should be logged:


  • successful usage of important resources;
  • successful and unsuccessful security strategy and administrative policy changes;
  • Successful usage of important and confidential information.



In the network with high security requirements, the next events should be logged:


  • successful and unsuccessful users' registrations;
  • successful and unsuccessful usage of any resource;
  • Successful and unsuccessful security strategy and administrative policy changes.



Audit leads to the additive load on the system, so you should register events that really may interest you.

Windows NT records events to the three journals:

  • System log that contains messages on errors, warnings and other information that comes from the operating system and third-part components. List of events that are registered in this journal is predefined by the operating system and third-part components, and cannot be changed. The journal is located in the Sysevent.evt file.

  • Security log contains information on successful and unsuccessful actions registering with the auditing tools. The system administrator may determine events logging to this journal (Secevent.evt).

  • Application log contains information on errors, warnings and other information issued by different applications. Software developers determine the list of events that may be logged to this journal (Appevent.evt).


All the journals are located in the %Systemroot%\System32\Config folder.

At the time of determining the number of events to be logged you should consider the possibility of journal overflow. To tune needed journal you should use the Event Log Settings window (the eventvwr.exe tool).

user posted image

You may change the log file size up to 4 Gigabytes (4 194 240 KB). You may also change the methodic of the event log wrapping.

To view information on logged events you should use the Event Viewer application.

The organization of access to the event viewing is shown in the table below:

CODE

Journal            Account                Permission

System Log         System                 Read, Write, Clear
                  Administrators         Read, Write, Clear
                  Server Operators       Read, Clear
                  Everyone               Read

Security Log       System                 Read, Write, Clear
                  Administrators         Read, Clear

Application Log    System                 Read, Write, Clear
                  Administrators         Read, Write, Clear
                  Server Operators       Read, Write, Clear
                  Everyone               Read, Write



By default, the auditing is off.

The first step in the audit planning is the selection of audible events in the Audit Policy Window of the User Manager utility:

user posted image

To see what rights do users have, you should open the User Rights Policy window:

user posted image

To enable the full privilege auditing (some listed below events are not audible by default) you should set in the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa branch the next parameter:

Name: FullPrivilegeAuditing

Type: REG_DWORD

Value: 1

CODE

Right                Account      Description                        
                                                                   
Bypass traverse      Everyone     The possibility to get access to  
checking                          files and folders even if the user
                                 does not have access to the parent
                                 folder                            
                                                                   
Debug programs       Administr    The possibility of different      
                    ators        objects low-level debugging (e.g.  
                                 streams)                          
                                                                   
Create a token       no one       Process may create a marker of    
object                            access                            
                                                                   
Replace process      no one       The possibility of the            
level token                       modification process access marker
                                                                   
Generate Security    no one       Process may generate records      
Audits                                                              
                                                                   
Backup files and     administr    The possibility to make reserve    
directories          ators and    copies of files and folders        
                    backup       overriding the file system        
                    operators    permissions                        
                                                                   
Restore files and    administr    The possibility to restore copies  
directories          ators and    of files and folders overriding    
                    backup       the file system permissions        
                    operators                                      


Conclusion

Of course, Windows NT has its more actual and perfect analogs, such as Windows 2000 and Windows XP. But this operating system still stays the base of the most number of Windows NT (read: 2K, XP) networking concepts.

(The original version is at this link)

Thank you for your attention!
Stanislav N. Ivasyuk
dissolutions
Wow Stan,
Thats great... I've only been able to glance through it as I'm quite busy, but you can expect an edit of this message with even more praise. smile.gif Thank you sir.


EDIT:
Stan that is great smile.gif Good Job in explaining it into detail but keeping it simple.
Welcome to the forum!
=k3Rn=
intresting to read. very nice (first) post!
every board would need members starting like this.
i wish you a warm welcome here too.

greetings
k3Rn
detonator
not bad biggrin.gif

and now the same thing for my win2000 please laugh.gif

greetz
vnet576
Well I'm defenitely adding this article to my archive. Its very imformate and convers alot. wink.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.

 
Invision Power Board © 2001-2005 Invision Power Services, Inc.