Tuesday 14 July 2015

How do you password protect the "Network Connections" and "Network and Sharing Center" Control Panels?

In an environment without a Windows Domain and/or Group Policy, you may find that you want to lock down Windows in order to prevent employees from changing Windows settings.  On computers that do not store data on the primary partition, Toolwiz Time Freeze is an excellent solution.  You may also want to experiment with the use of Limited User Account permisisons.  On computers that store data on the local hard drive, Winability Folder Guard is the most effective solution.

In this example, I want to password protect the "Network Connections" and the "Network and Sharing Center" Control Panels within Windows.  WinAbility Folder Guard can password protect by File Name or Folder Name not by CLSID/GUID or Process ID.  Therefore, we have to identify the file related to the process we wish to password protect.  In the past, this would have been as easy as selecting a Control Panel file such as NCPA.CPL.  Since Windows Vista, we need to find the CLSID/GUID of the Network Control Panels which will then give us the relative DLL.  It's important to note that we have to be be very selective about what files we wish to password protect.  If we were to password protect SHELL32.DLL or EXPLORER.EXE for example, Windows would become incredibly unstable.  It is also important to note that by password protecting a System File we are limiting some functionality of the Windows operating system which may impact software on your computer that depends upon these shared resources.

So first, I locate the CLSID/GUID of the Network Connections Control Panel which is {7007ACC7-3202-11D1-AAD2-00805FC1270E}.  I then open RegEdit and go browse to: HKEY_CLASSES_ROOT\CLSID\{7007ACC7-3202-11D1-AAD2-00805FC1270E}.  I note this CLSID executes NETSHELL.DLL.  

I then locate the CLSID/GUID of the Network and Sharing Center Control Panel which is {8E908FC9-BECC-40f6-915B-F4CA0E70D03D}.  I then open RegEdit and browse to: HKEY_CLASSES_ROOT\CLSID\{8E908FC9-BECC-40f6-915B-F4CA0E70D03D}.  I note this CLSID executes NETCENTER.DLL.

I then install WinAbility Folder Guard and add NETSHELL.DLL and NETCENTER.DLL to the Protected Files list as Visible/No Access.  Now, these Control Panels can no longer be opened unless I log into Folder Guard using my password and temporarily disable protection.  In addition to protecting NETSHELL.DLL and NETCENTER.DLL, I also protect NETSH.EXE, SERVICES.MSC and APPWIZ.CPL.  In Winability Folder Guard Settings, I also enable protection in Safe Mode.