ESX File System Security
ESX File System Security
��������������������
VMWARE WHITE PAPER
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
ESX Server Architecture and the design of Virtual Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
VMware Virtualization layer – vmkernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Virtual Machines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Service Console or Console OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Network Security and VLAN’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Strong Corporate Security Response Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Independent Security Audit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Findings of the Audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Best practices for running an ESX Server securely. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Trusted users only in the Service Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Do not configure Promiscuous mode network adapters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Prevent VM’s from spoofing virtual MAC addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Disable Promiscuous mode for the VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Consider disabling Guest OS logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Disable copy and paste in the Guest OS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1
VMWARE WHITE PAPER
Introduction The vmkernel controls the hardware and schedules the alloca-
tion of these resources between the virtual machines and the
VMware ESX Server is data-center class virtual machine software
service console. The vmkernel has no public interfaces, and
for consolidating and partitioning servers in high-performance
cannot execute a “process” in the traditional operating system
environments. Ideally suited for corporate IT and service
sense. Hence it is highly secure – there are no public interfaces
provider data centers, VMware ESX Server is a secure, cost-effec-
to connect to.
tive, highly scalable virtual machine platform. With advanced
resource management capabilities it is also VMware’s highest Virtual Machines
performance platform for building Virtual Infrastructure. Virtual machines are the containers inside which guest operat-
VMware recognizes that in order for its customers to entrust ing systems are run. All VMware virtual machines have been
valuable data to VMware ESX Server virtual machines, the designed to be completely isolated from each other2. This
platform must provide strong security. VMware provides for isolation of virtual machines is key to enabling multiple virtual
security in the ESX Server environment in several different ways, machines to run securely while sharing hardware and was a key
including: factor in the design of virtual machines. This isolation of virtual
i. ESX Server Architecture and the design of Virtual Machines machines applies to both their ability to access hardware and
also their performance characteristics.
ii. Network security and VLAN’s
A common manifestation of the combined hardware and per-
iii. Strong Corporate Security Response Policy
formance isolation of a virtual machine is seen if a guest operat-
iv. Independent Security Audit ing system was to crash, i.e. the guest kernel panics. Even in this
v. Best practices for running an ESX Server securely case, other virtual machines will continue to run, unaffected by
a crashed guest kernel.
ESX Server Architecture and the Design of Isolation - hardware
Virtual Machines An executing virtual machine is isolated from other virtual
VMware ESX Server consists of the three major components as machines running on the same hardware. This isolation is
shown in Figure 1: complete - while they share physical resources such as CPU,
i. VMware virtualization layer – the vmkernel memory and I/O devices, they cannot “see” any device other
than the virtual devices made available to it by the virtual
ii. Service Console or Console OS
machine monitor. Each guest operating system running inside
iii. Virtual Machines a virtual machine behaves just as it was running on a separate
Figure 1 – ESX Server Architecture machine and has no knowledge of other virtual machines
running on that hardware.
Figure 2 – Virtual Devices
��������������������������� Ethernet
Floppy Disk
������������������
Sound Card
CD/DVD
� �� ������ ��� ���� Monitor
Each of these components and this overall architecture has Video Card
Keyboard
been carefully designed to ensure security from the ground up.
2
VMWARE WHITE PAPER
3
VMWARE WHITE PAPER
sary patches. This policy is discussed in detail in the §Strong such issues will be corrected in a timely fashion.
Corporate Security Response Policy later in this white paper. This policy is available at: http://www.vmware.com/support/
User access to the Service Console should also be limited. using/security_response.html
This is discussed further in §6.1 - Trusted users only in the We encourage the reader to review this policy and understand
Service Console the commitment VMware has to security in all our products,
including ESX Server.
Viruses in the Service Console
It is possible to run an ESX Server with the service console
not connected to any network. However, if it is connected Independent Security Audit
to a network, since the service console is itself a full operat- To further ensure the security of ESX Server, VMware also regu-
ing system it must also be protected just like any physical or larly has its software audited by an independent third party.
virtual machine from viruses. This can be accomplished by VMware always chooses reputed firms with long standing
running a combination of firewall and anti-virus products in real-world experience designing, developing, deploying and/or
it. While VMware does not endorse any specific company’s managing information security products in operational envi-
products we have customers successfully using products from ronments. In addition, this third party is provided with access
NetworkAssociates (NetShield for Unix) and Symantec. to our source code and works closely with VMware engineers
to fully understand our products. The auditors can recom-
Apache in the Service Console mend any changes they deem necessary for security and it is
One notable program that runs in the service console is the VMware’s policy to implement all such changes recommended
web server Apache, used to serve requests for administration by the auditor.
and monitoring from the ESX Server web based management
ESX Server was most recently audited in late 2003 with version
interface (“the MUI”).
2.0.1. All changes suggested by the audit were implemented in
This server has been configured with only the limited set of version 2.1, which is now generally available.
features needed by the ESX Server management user interface.
Please note that it is VMware policy to not disclose the name
Thus ESX Server is not vulnerable to many of the Apache security
of the third parties doing the audit to prevent malicious users
issues reported. However, VMware carefully monitors all security
from targeting our partners.
alerts and if needed will issue a security patch, just like any other
security vulnerability found to pose a risk to ESX Server. Deployment Scenarios
ESX Server can be deployed in a wide variety of scenarios. To
Network Security and VLAN’s reduce the number to audit, we defined a representative set of
The network is often the most vulnerable part of any system. As common deployment scenarios. The audited scenarios were:
discussed earlier once configured, a virtual machine’s network is i. Single Customer Deployment
accessible from the outside and can be just as vulnerable as on
ii. Restrictive Multi-customer Deployment
a physical machine. Hence the requirements to secure a virtual
machine’s network are often the same as on a physical machine. iii. Open Multi-customer Deployment
How to secure a virtual machine’s network depends on the iv. Restrictive Multi-customer Deployment with ControlCenter
guest operating system used and is beyond the scope of this
paper. However, ESX Server also provides a full implementation
of VLAN’s (IEEE 802.1q). VLAN’s make it possible to segment a
physical network such that two machines on the same physical
network will not be able to send or receive packets unless they
are on the same VLAN. This is described in a detail in a separate
white paper available at: http://www.vmware.com/products/
server/esx_features.html
4
VMWARE WHITE PAPER
Single Customer Deployment There are no separate customer admins, and the site admin
This scenario is representative of a deployment within a also maintains the various VMs. However, there may be a set of
single corporation, not shared with other customers. system admins. These system admins do not have accounts on
There is one site administrator that maintains the set of the ESX Server deployment and cannot access any of the ESX
physical servers running ESX Server, and there are several Server tools (MUI, remote console, shell), but they may have
virtual machines running on these servers. access to certain VMs via a terminal emulation program such as
Terminal Services.
Access Chart
5
VMWARE WHITE PAPER
Restrictive Multi-customer Deployment There is still only one site administrator, but there are now
In this scenario, multiple customers have applications deployed customer administrators who maintain and deploy the VMs for
on ESX Server within the same data center. The different cus- a particular customer. There are also customer system adminis-
tomers’ VMs can be on the same physical server, but resource trators who do not have ESX Server accounts but have access to
sharing constraints are in place to prevent rogue interaction. the VMs through a terminal emulation program.
Access Chart
6
VMWARE WHITE PAPER
Access Chart
7
VMWARE WHITE PAPER
Trusted users only in the Service Console Disable copy and paste in the Guest OS
The service console has privileged access to certain parts of When VMware Tools are running in a VM, it is possible to copy
ESX Server. Hence only trusted users should be provided login and paste from the Guest OS. A privileged user may be logged
access to the Service Console. In addition “root” access should into a Guest OS using the Remote Console. However, this user
be limited. Specifically VMware recommends that ssh access to may be coming in from a non-privileged account on the client
login directly as root be restricted. ESX Server system adminis- machine. Since Remote Console user’s clipboard is accessible to
trators should be required to login as a regular user and then this non-privileged account, it may access a privileged account
switch user (su) to root. as soon as the console window gains focus.
To disable copy and paste for a VM, add the following options
Do not configure Promiscuous mode network
to the configuration file:
adapters.
It is possible to configure ESX Server network adapters to run in isolation.tools.copy
Promiscuous mode. This can enable a guest VM to “sniff” packets = FALSE
destined for other virtual machines just as on a physical hub. isolation.tools.paste
For maximum security promiscuous mode adapters should not = FALSE
be enabled. Please note that they are disabled by default. These preferences override the settings made in the Guest OS
VMware Tools control panel (Edit->Preferences->Input).
Prevent VM’s from spoofing virtual MAC addresses
You can prevent a guest OS running in a VM from spoofing (Footnotes)
1 The VMware vmkernel is not derived from any other operating system. It is 100%
a MAC address by adding lines similar to the following in the
configuration file: proprietary VMware software except for certain device drivers it can load that are
based on open source drivers.
Ethernet<n>.downWhenAddrMisMatch
2 Virtual Machines also share certain properties such as Encapsulation and
= TRUE
Ethernet<n>.noForgedSrcAddr Hardware Independence. All VMware Virtual machines also have a common file
= TRUE format. However, these are not relevant to security and hence not discussed here.
You must add a similar set of lines for each configured virtual 3 Due to their hardware design, some blades are an exception to this. Specifically
network adapter. several blade models only provide two NIC’s. This requires a trade-off – either
the network must be shared between the ServiceConsole/MUI and VM’s, or NIC
teaming cannot be enabled for VM’s. While theoretically this is less secure, in
practice, especially with VLAN’s there is no loss of security.
8
V00014-20001205
VMware, Inc. 3145 Porter Drive Palo Alto CA 94304 USA Tel 650-475-5000 Fax 650-475-5001 www.vmware.com
Copyright © 2004 VMware, Inc. All rights reserved. Protected by one or more of U.S. Patent Nos. 6,397,242 and 6,496,847;
patents pending. VMware, the VMware "boxes" logo, GSX Server and ESX Server are trademarks of VMware, Inc. Microsoft,
Windows and Windows NT are registered trademarks of Microsoft Corporation. Linux is a registered trademark of Linus
Torvalds. All other marks and names mentioned herein may be trademarks of their respective companies.