Comparing default services on Windows Server 2003 R2 and Windows Server 2008 (Core and Full)
I have been experimenting with Windows Server 2008 for a while now and I recently did a number of comparisons between the Core and Full versions of the new OS. This time I am looking at Services configured in a default installation and I also included Windows Server 2003 R2 in the mix, since there were significant changes that are easy to spot. I have seen a lot of documentation about how those services are more secure in the new release, but I wanted to check for myself.
I installed the Enterprise edition of Windows Server 2003 R2 and compared to both the Full and Core installs of Windows Server 2008 Enterprise June CTP. As usual, please note that this is still a pre-release version and the default services settings might still change before the final release. To gather the information, I used the Services Control command-line tool (SC.EXE), which is available in all versions tested. I first gathered a list of all services and stored in a text file using:
sc query | find “SERVICE_NAME:” > servicelist.txt
Then I used the good old FOR command to loop through each service and query its complete configuration using the qc option of the sc tool, storing everything in another text file:
for /f “delims=: tokens=2” %1 in (servicelist.txt) do sc qc %1 >>serviceconf.txt
With that data at hand for all three different systems, I pasted it all into Excel and started playing with a pivot table. The results are included in the table below. Although I double-checked everything, please note that some of the data manipulation was not fully automated, so the results might include some inacuracies.
What you see consistently is that Windows Server 2008 is moving away from using the admin-level LocalSystem context and leveraging the user-level LocalService and NetworkService contexts. Even with the new features and services in Windows Server 2008, the number of LocalSystem services are down from a total of 27 on Windows Server 2003 R2 to 23 on a Full install of Windows Server 2008 and only 16 on a Core install.
There are also a few details that are significant but are not well-captured by the table below. One is the fact that the advanced firewall puts further restrictions on these services (for instance, you can only communicate with certain services using specific ports, both inbound and outbound). Another detail is that some services do not start by default (start_type = demand_start). Those are marked in the table with a (*) sign. Although not security-related, there are also services that will have a delayed start (start_type = auto_start (delayed)) and those are marked in the table with a (-) sign.
The table also makes it easy to spot services present in a Full install but not in a Core install, which I mentioned in previous post. It also exposes other details, like the fact that Wireless Networks are now an optional component in the new Server.
Service Name |
Service Display Name | Windows Server 2003 R2 | Windows Server 2008 Core | Windows Server 2008 Full |
AeLookupSvc | Application Experience | LocalSystem | LocalSystem | LocalSystem |
BFE | Base Filtering Engine | LocalService | LocalService | |
BITS | Background Intelligent Transfer Service | LocalSystem- | LocalSystem- | |
Browser | Computer Browser | LocalSystem | ||
CryptSvc | Cryptographic Services | LocalSystem | NetworkService | NetworkService |
DcomLaunch | DCOM Server Process Launcher | LocalSystem | LocalSystem | LocalSystem |
Dhcp | DHCP Client | NetworkService | LocalService | LocalService |
dmserver | Logical Disk Manager | LocalSystem | ||
Dnscache | DNS Client | NetworkService | NetworkService | NetworkService |
DPS | Diagnostic Policy Service | LocalService | LocalService | |
ERSvc / WerSvc | Windows Error Reporting Service | LocalSystem | LocalSystem | |
Eventlog | Windows Event Log | LocalSystem | LocalService | LocalService |
EventSystem | COM+ Event System | LocalSystem | LocalService | LocalService |
gpsvc | Group Policy Client | LocalSystem | LocalSystem | |
helpsvc | Help and Support | LocalSystem | ||
IKEEXT | IKE and AuthIP IPsec Keying Modules | LocalSystem | LocalSystem | |
iphlpsvc | IP Helper | LocalSystem | LocalSystem | |
KtmRm | KtmRm for Distributed Transaction Coordinator | NetworkService- | NetworkService- | |
lanmanserver | Server | LocalSystem | LocalSystem | LocalSystem |
lanmanworkstation | Workstation | LocalSystem | LocalService | LocalService |
LmHosts | TCP/IP NetBIOS Helper | LocalService | LocalService | LocalService |
MpsSvc | Windows Firewall | LocalService | LocalService | |
MSDTC | Distributed Transaction Coordinator | NetworkService | NetworkService- | NetworkService- |
Netman | Network Connections | LocalSystem* | LocalSystem* | |
netprofm | Network List Service | LocalService | LocalService | |
Network Location Awareness | LocalSystem* | NetworkService | NetworkService | |
nsi | Network Store Interface Service | LocalService | LocalService | |
PlugPlay | Plug and Play | LocalSystem | LocalSystem | LocalSystem |
PolicyAgent | IPsec Policy Agent | LocalSystem | NetworkService | NetworkService |
ProfSvc | User Profile Service | LocalSystem | LocalSystem | |
ProtectedStorage | Protected Storage | LocalSystem | ||
RemoteRegistry | Remote Registry | LocalService | LocalService | LocalService |
RpcSs | Remote Procedure Call (RPC) | NetworkService | NetworkService | NetworkService |
SamSs | Security Accounts Manager | LocalSystem | LocalSystem | LocalSystem |
Schedule | Task Scheduler | LocalSystem | LocalSystem | LocalSystem |
seclogon | Secondary Logon | LocalSystem | LocalSystem | LocalSystem |
SENS | System Event Notification Service | LocalSystem | LocalSystem | LocalSystem |
ShellHWDetection | Shell Hardware Detection | LocalSystem | LocalSystem | |
slsvc | Software Licensing | NetworkService | NetworkService | |
Spooler | Print Spooler | LocalSystem | LocalSystem | |
TermService | Terminal Services | LocalSystem* | NetworkService | NetworkService |
TrkWks | Distributed Link Tracking Client | LocalSystem | LocalSystem | |
TrustedInstaller | Windows Modules Installer | LocalSystem* | LocalSystem* | |
UxSms | Desktop Window Manager Session Manager | LocalSystem | ||
W32Time | Windows Time | LocalService | LocalService | LocalService |
WdiSystemHost | Diagnostic System Host | LocalSystem* | ||
WinHttpAutoProxySvc | WinHTTP Web Proxy Auto-Discovery Service | LocalService* | LocalService* | |
winmgmt | Windows Management Instrumentation | LocalSystem | LocalSystem | LocalSystem |
WinRM | Windows Remote Management (WS-Management) | NetworkService- | NetworkService- | |
wuauserv | Automatic Updates or Windows Update | LocalSystem | LocalSystem- | LocalSystem- |
WZCSVC | Wireless Configuration | LocalSystem | ||
Totals | ||||
Local System | 27 | 16 | 23 | |
Local Service | 3 | 13 | 13 | |
Network Service | 4 | 10 | 10 | |
Grand Total | 34 | 39 | 46 |
To learn more about services, check https://www.microsoft.com/technet/security/guidance/serversecurity/tcg/tcgch07n.mspx