Vsphere Esxi Vcenter Server 602 Security Guide
Vsphere Esxi Vcenter Server 602 Security Guide
Update 2
Modified 04 OCT 2017
VMware vSphere 6.0
VMware ESXi 6.0
vCenter Server 6.0
vSphere Security
You can find the most up-to-date technical documentation on the VMware Web site at:
https://docs.vmware.com/
The VMware Web site also provides the latest product updates.
If you have comments about this documentation, submit your feedback to:
[email protected]
Copyright © 2009–2017 VMware, Inc. All rights reserved. Copyright and trademark information.
VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
2 VMware, Inc.
Contents
Updated Information 9
VMware, Inc. 3
vSphere Security
4 VMware, Inc.
Contents
10 Managing TLS Protocol Configuration with the TLS Reconfiguration Utility 261
Ports That Support Disabling TLS Versions 261
Disabling TLS Versions in vSphere 263
Install the TLS Configuration Utility 263
Perform an Optional Manual Backup 264
Disable TLS Versions on vCenter Server Systems 265
Disable TLS Versions on ESXi Hosts 266
Disable TLS Versions on Platform Services Controller Systems 267
Revert TLS Configuration Changes 268
Disable TLS Versions on vSphere Update Manager 269
VMware, Inc. 5
vSphere Security
Index 305
6 VMware, Inc.
About vSphere Security
® ® ®
vSphere Security provides information about securing your vSphere environment for VMware vCenter
Server and VMware ESXi.
To help you protect your vSphere environment, this documentation describes available security features and
the measures that you can take to safeguard your environment from attack.
To help you protect your vSphere environment, this documentation describes available security features and
the measures that you can take to safeguard your environment from attack.
Authentication with vCenter Single Sign-On n vCenter Single Sign-On functionality and services.
n Adding and managing identity sources.
n vCenter Single Sign-On policies.
n Users and groups.
Host Security Features n Lockdown mode and other security profile features.
n Host smart card authentication.
n vSphere Authentication Proxy.
Security Best Practices and Hardening Best practices and advice from VMware security experts.
n vCenter Server security.
n Host security.
n Virtual machine security.
n Networking security.
VMware, Inc. 7
vSphere Security
Related Documentation
In addition to this document, VMware publishes a Hardening Guide for each release of vSphere, accessible at
http://www.vmware.com/security/hardening-guides.html. The Hardening Guide is a spreadsheet with entries
for different potential security issues. It includes items for three different risk profiles. This vSphere Security
document does not include information for Risk Profile 1 (highest security environment such as top-secret
government).
Intended Audience
This information is for experienced Windows or Linux system administrators who are familiar with virtual
machine technology and data center operations.
8 VMware, Inc.
Updated Information
This vSphere Security documentation is updated with each release of the product or when necessary.
This table provides the update history of the vSphere Security documentation.
Revision Description
04 OCT 2017 n In “Understanding Certificate Mode Switches,” on page 171, state that putting hosts into
maintenance mode and disconnecting them is acceptable to do the mode switch. Removing hosts is
not required.
EN-001949-07 n Added new topic, “Certificate Requirements for Different Solution Paths,” on page 66 that details
certificate requirements. Removed old topic, which had less detail.
n Added new chapter Chapter 10, “Managing TLS Protocol Configuration with the TLS
Reconfiguration Utility,” on page 261.
EN-001949-06 n Updated “Use the Command Line to Configure Smart Card Authentication,” on page 37 to clearly
state that spaces are not allowed in comma-separated lists of certificates.
n Included script location in “Use the Command Line to Configure Smart Card Authentication,” on
page 37.
n Clarified that the complete certificate chain is needed in “Replace Solution User Certificates with
Custom Certificates,” on page 94.
n Fixed a problem in the introduction to “Multiple Permission Settings,” on page 143.
EN-001949-05 n Added information for Validation and Validation period to “Change Permission Validation Settings,”
on page 148.
EN-001949-04 n Fixed error with parameter name in “Verify that SSL Certificate Validation Over Network File Copy
Is Enabled,” on page 220.
n Added information about the location of the service-control command on Windows to
“Managing Certificates and Services with CLI Commands,” on page 122.
EN-001949-03 n Added information on tag permissions in “Permissions on Tag Objects,” on page 150.
n Clarified certificate order in “Generate CSR with vSphere Certificate Manager and Prepare Root
Certificate (Intermediate CA),” on page 88.
EN-001949-02 n Added a note about login with the vSphere Client to Chapter 2, “vSphere Authentication with
vCenter Single Sign-On,” on page 19.
n Clarification in “Active Directory Identity Source Settings,” on page 32. The system must be joined
to an Active Directory name, and the domain name must be resolvable via DNS.
VMware, Inc. 9
vSphere Security
Revision Description
EN-001949-01 n Corrected the order of certificates in “Generate CSR with vSphere Certificate Manager and Prepare
Root Certificate (Intermediate CA),” on page 88.
n Updated “ESXi Passwords and Account Lockout,” on page 163. Pass phrases are not enabled by
default.
n Corrected steps for accessing the appliance shell in “Use the Command Line to Configure Smart
Card Authentication,” on page 37.
n Fix to “Change Your vCenter Single Sign-On Password,” on page 59. If your password expires, you
must contact the administrator.
n Updated PowerCLI script in “Use Scripts to Manage Host Configuration Settings,” on page 160.
n Updated information on number of vCenter Server instances in “How vCenter Single Sign-On
Affects Installation,” on page 22.
n Several updates to “Use the Command Line to Configure Smart Card Authentication,” on page 37,
“Use the Platform Services Controller Web Interface to Manage Smart Card Authentication,” on
page 40, and “Set Up RSA SecurID Authentication,” on page 43.
n Corrections in “vCenter Server TCP and UDP Ports,” on page 221. For example Port 903 and port
5900-5964 are used on the host, not on the vCenter Server system, and some other ports such as 9090
are only used internally.
n Removed information about DSA keys from “Upload an SSH Key Using a vifs Command,” on
page 206 .
n Updated “Security Token Service STS,” on page 47 to include the procedure for generating a new
STS signing certificate.
10 VMware, Inc.
Security in the vSphere Environment 1
The components of a vSphere environment are secured out of the box by a number of features such as
certificates, authorization, a firewall on each ESXi, limited access, and so on. You can modify the default
setup in many ways - for example, you can set permissions on vCenter objects, open firewall ports, or
change the default certificates. This results in maximum flexibility in securing vCenter Server systems, ESXi
hosts, and virtual machines.
A high level overview of different areas of vSphere that require attention helps you plan your security
strategy. You also benefit from additional vSphere Security resources on the VMware website.
Use the following features, discussed in detail in this guide, to enhance protection of ESXi hosts that are
managed by vCenter Server. See also the Security of the VMware vSphere Hypervisor white paper.
Limit ESXi Access By default, the ESXi Shell and SSH services are not running and only the root
user can log in to the Direct Console User Interface (DCUI). If you decide to
enable ESXi or SSH access, you can set timeouts to limit the risk of
unauthorized access.
VMware, Inc. 11
vSphere Security
Users who can access the ESXi host must have permissions to manage the
host. You set permissions on the host object from vCenter Server that
manages the host.
Use Named Users and Many tasks can be performed by the root user by default. Instead of allowing
Least Privilege administrators to log in to the ESXi host using the root user account, you can
apply different host configuration privileges to different named users from
the vCenter Server permissions management interface. You can create a
custom roles, assign privileges to the role, and associate the role with a
named user and an ESXi host object from the vSphere Web Client.
In a single host scenario, you manage users directly. See the vSphere
Administration with the vSphere Client documentation.
Minimize the Number of By default, firewall ports on your ESXi host are opened only when you start a
Open ESXi Firewall corresponding service. You can use the vSphere Web Client or ESXCLI or
Ports PowerCLI commands to check and manage firewall port status.
See “ESXi Firewall Configuration,” on page 179.
Automate ESXi Host Because it is often important that different hosts in the same data center are
Management in sync, use scripted installation or vSphere Auto Deploy to provision hosts.
You can manage the hosts using scripts. An alternative to scripted
management are host profiles. You set up a reference host, export the host
profile, and apply the host profile to your host. You can apply the host profile
directly or as part of provisioning with Auto Deploy.
See “Use Scripts to Manage Host Configuration Settings,” on page 160 and
see the vSphere Installation and Setup for information about vSphere Auto
Deploy.
Take Advantage of In lockdown mode, ESXi hosts can be accessed only through vCenter Server
Lockdown Mode by default. Starting with vSphere 6.0, you can select strict lockdown mode or
normal lockdown mode, and you can define Exception Users to allow direct
access to service accounts such as backup agents.
See “Lockdown Mode,” on page 186.
Check VIB Package Each VIB package has an associated acceptance level. You can add a VIB to
Integrity an ESXi host only if the acceptance level is the same or better than the
acceptance level of the host. You cannot add a CommunitySupported or
PartnerSupported VIB to a host unless you explicitly change the host's
acceptance level.
See “Check the Acceptance Levels of Hosts and VIBs,” on page 192.
Manage ESXi In vSphere 6.0 and later, the VMware Certificate Authority (VMCA)
Certificates provisions each ESXi host with a signed certificate that has VMCA as the root
certificate authority by default. If company policy requires it, you can replace
the existing certificates with certificates that are signed by a third-party CA.
See “Certificate Management for ESXi Hosts,” on page 166
Smart Card Starting with vSphere 6.0, ESXi supports smart card authentication as an
Authentication option instead of user name and password authentication.
12 VMware, Inc.
Chapter 1 Security in the vSphere Environment
ESXi Account Lockout Starting with vSphere 6.0, account locking is supported for access through
SSH and through the vSphere Web Services SDK. The Direct Console
Interface (DCUI) and the ESXi Shell do not support account lockout. By
default, a maximum of ten failed attempts is allowed before the account is
locked. The account is unlocked after two minutes by default.
See “ESXi Passwords and Account Lockout,” on page 163.
Security considerations for standalone hosts are similar, though the management tasks might differ. See the
vSphere Administration with the vSphere Client documentation.
As you protect your vSphere environment, consider that all services that are associated with the
vCenter Server instances must be protected. In some environments, you might protect several
vCenter Server instances and one or more Platform Services Controller instances.
Harden All vCenter Host The first step in protecting your vCenter environment is hardening each
Machines machine on which vCenter Server or an associated service runs. Similar
considerations apply to a physical machine or a virtual machine. Always
install the latest security patches for your operating system and follow
industry standard best practices to protect the host machine.
Learn about the vCenter By default, the VMware Certificate Authority provisions each ESXi host, each
Certificate Model machine in the environment, and each solution user with a certificate signed
by VMCA. The environment works out of the box, but if company policy
requires it, you can change the default behavior. See Chapter 3, “vSphere
Security Certificates,” on page 65.
For additional protection, be sure to explicitly remove expired or revoked
certificates and failed installations.
Configure vCenter vCenter Server and associated services are protected by the vCenter Single
Single Sign-On Sign-On authentication framework. When you first install the software, you
specify a password for the [email protected] user, and only that
domain is available as an identity source. You can add other identity sources,
either Active Directory or LDAP, and set a default identity source. Going
forward, users who can authenticate to an identity source can view objects
and perform tasks if they are authorized to do so. See Chapter 2, “vSphere
Authentication with vCenter Single Sign-On,” on page 19.
Assign Roles to Users For better logging, associate each permission you give on an object with a
or Groups named user or group and a predefined role or custom role. The vSphere 6.0
permissions model allows great flexibility through multiple ways of
authorizing users or groups. See “Understanding Authorization in vSphere,”
on page 140 and “Required Privileges for Common Tasks,” on page 155.
Be sure to restrict administrator privileges and the use of the administrator
role. If possible, do not use the anonymous Administrator user.
Set up NTP Set up NTP for each node in your environment. The certificate infrastructure
requires an accurate time stamp and does not work correctly if the nodes are
out of sync.
VMware, Inc. 13
vSphere Security
Protect the guest To protect your guest operating system, make sure that it uses the most
operating system recent patches and, if appropriate, anti-spyware and anti-malware
applications. See the documentation from your guest operating system
vendor and, potentially, other information available in books or on the
Internet for that operating system.
Disable unnecessary Check that unnecessary functionality is disabled to minimize potential points
functionality of attack. Many of the features that are used infrequently are disabled by
default. Remove unnecessary hardware and disable certain features such as
host-guest filesystem (HGFS) or copy and paste between the VM and a
remote console.
See “Disable Unnecessary Functions Inside Virtual Machines,” on page 227.
Use templates and VM templates enable you to set up the operating system so that it meets your
scripted management requirements, and to create other VMs with the same settings.
If you want to change VM settings after initial deployment, consider using
scripts, for example, PowerCLI. This documentation explains how to perform
tasks using the GUI. Consider using scripts instead of the GUI to keep your
environment consistent. In large environments, you can group VMs into
folders to optimize scripting.
For information on templates, see “Use Templates to Deploy Virtual
Machines,” on page 225 and the vSphere Virtual Machine Administration. For
information on PowerCLI, see the VMware PowerCLI documentation.
Minimize use of the The virtual machine console provides the same function for a VM that a
virtual machine console monitor on a physical server provides. Users with access to a virtual machine
console have access to VM power management and to removable device
connectivity controls. As a result, virtual machine console access might allow
a malicious attack on a VM.
Consider UEFI secure Starting with vSphere 6.5, you can configure your VM to use UEFI boot. If
boot the operating system supports secure UEFI boot, you can select that option
for your VMs for additional security. See
GUID-898217D4-689D-4EB5-866C-888353FE241C#GUID-898217D4-689D-4EB
5-866C-888353FE241C.
14 VMware, Inc.
Chapter 1 Security in the vSphere Environment
vSphere includes the full array of features necessary for a secure networking infrastructure. You can secure
each element of the infrastructure, such as virtual switches, distributed virtual switches, virtual network
adapters, and so on separately. In addition, consider the following guidelines, discussed in more detail in
Chapter 8, “Securing vSphere Networking,” on page 233.
Isolate Network Traffic Isolation of network traffic is essential to a secure ESXi environment.
Different networks require different access and level of isolation. A
management network isolates client traffic, command-line interface (CLI) or
API traffic, and third-party software traffic from normal traffic. This network
should be accessible only by system, network, and security administrators.
See “ESXi Networking Security Recommendations,” on page 165.
Use Firewalls to Secure You can open and close firewall ports and secure each element in the virtual
Virtual Network network separately. Firewall rules associate services with corresponding
Elements firewalls and can open and close the ESXi firewall according to the status of
the service.
See “ESXi Firewall Configuration,” on page 179.
Consider Network Networking security policy provides protection of traffic against MAC
Security Policies address impersonation and unwanted port scanning. The security policy of a
standard or distributed switch is implemented in Layer 2 (Data Link Layer)
of the network protocol stack. The three elements of the security policy are
promiscuous mode, MAC address changes, and forged transmits.
See the vSphere Networking documentation for instructions.
Secure Virtual Machine The methods you use to secure a virtual machine network depend on which
Networking guest operating system is installed, whether the virtual machines operate in a
trusted environment, and a variety of other factors. Virtual switches and
distributed virtual switches provide a substantial degree of protection when
used with other common security practices, such as installing firewalls.
See Chapter 8, “Securing vSphere Networking,” on page 233.
Consider VLANs to ESXi supports IEEE 802.1q VLANs, which you can use to further protect the
Protect Your virtual machine network or storage configuration. VLANs let you segment a
Environment physical network so that two machines on the same physical network cannot
send packets to or receive packets from each other unless they are on the
same VLAN.
See “Securing Virtual Machines with VLANs,” on page 240.
Secure Connections to A virtual machine stores operating system files, program files, and other data
Virtualized Storage on a virtual disk. Each virtual disk appears to the virtual machine as a SCSI
drive that is connected to a SCSI controller. A virtual machine is isolated
from storage details and cannot access the information about the LUN where
its virtual disk resides.
VMware, Inc. 15
vSphere Security
The Virtual Machine File System (VMFS) is a distributed file system and
volume manager that presents virtual volumes to the ESXi host. You are
responsible for securing the connection to storage. For example, if you are
using iSCSI storage, you can set up your environment to use CHAP and, if
required by company policy, mutual CHAP by using the vSphere Web Client
or CLIs.
See “Storage Security Best Practices,” on page 256.
Evaluate the Use of ESXi supports IPSec over IPv6. You cannot use IPSec over IPv4.
IPSec See “Internet Protocol Security,” on page 245.
In addition, evaluate whether VMware NSX for vSphere is a good solution for securing the networking layer
in your environment.
ESXi Passwords
ESXi password restrictions are determined by the Linux PAM module pam_passwdqc. See “ESXi Passwords
and Account Lockout,” on page 163.
Other vsphere.local The passwords for other vsphere.local users, or users of the local domain you
users specified during installation, must follow the restrictions set by the vCenter
Single Sign-On password policy and lockout policy. See “Edit the vCenter
Single Sign-On Password Policy,” on page 52 and “Edit the vCenter Single
Sign-On Lockout Policy,” on page 53. These passwords expire after 90 days
by default, though administrators can change the expiration as part of the
password policy.
If a user forgets their vsphere.local password, an administrator user can reset
the password using the dir-cli command.
Other Users Password restrictions, lockout, and expiration for all other users are
determined by the domain (identity source) to which the user can
authenticate.
16 VMware, Inc.
Chapter 1 Security in the vSphere Environment
vCenter Single Sign-On supports one default identity source, and users can
log in to the vSphere Client with just their user names. The domain
determines the password parameters. If users want to log in as a user in a
non-default domain, they can include the domain name, that is, specify
user@domain or domain\user. The domains password parameters apply in this
case as well.
Passwords for vCenter Server Appliance Direct Console User Interface Users
The vCenter Server Appliance is a preconfigured Linux-based virtual machine, which is optimized for
running vCenter Server and the associated services on Linux.
When you deploy the vCenter Server Appliance, you specify a password for the root user of the appliance
Linux operating system and a password for the [email protected] user. You can change the root
user password and perform other vCenter Server Appliance local user management tasks from the Direct
Console User Interface. See vCenter Server Appliance Configuration.
This manual includes best practices for the different components of your vSphere infrastructure.
vCenter Server system “vCenter Server Security Best Practices,” on page 215
This manual is only one of the sources you need to ensure a secure environment.
VMware security resources, including security alerts and downloads, are available on the Web.
VMware, Inc. 17
vSphere Security
18 VMware, Inc.
vSphere Authentication with vCenter
Single Sign-On 2
vCenter Single Sign-On is an authentication broker and security token exchange infrastructure. When a user
or a solution user can authenticate to vCenter Single Sign-On, that user receives SAML token. Going
forward, the user can use the SAML token to authenticate to vCenter services. The user can then perform the
actions that user has privileges for.
Because traffic is encrypted for all communications, and because only authenticated users can perform the
actions that they have privileges for, your environment is secure.
Starting with vSphere 6.0, vCenter Single Sign-On is part of the Platform Services Controller. The
Platform Services Controller contains the shared services that support vCenter Server and vCenter Server
components. These services include vCenter Single Sign-On, VMware Certificate Authority, License Service,
and Lookup Service. See vSphere Installation and Setup for details on the Platform Services Controller.
For the initial handshake, users authenticate with a user name and password, and solution users
authenticate with a certificate. For information on replacing solution user certificates, see Chapter 3,
“vSphere Security Certificates,” on page 65.
After a user can authenticate with vCenter Single Sign-On, you can authorize the user to perform certain
tasks. In most cases, you assign vCenter Server privileges, but vSphere includes other permission models.
See “Understanding Authorization in vSphere,” on page 140.
Note If you want to enable an Active Directory user to log in to a vCenter Server instance by using the
vSphere Client with SSPI, you must join the vCenter Server instance to the Active Directory domain. For
information about joining a vCenter Server Appliance with an external Platform Services Controller to an
Active Directory domain, see the VMware knowledge base article at http://kb.vmware.com/kb/2118543.
n “Using vCenter Single Sign-On as the Identity Provider for Another Service Provider,” on page 46
VMware, Inc. 19
vSphere Security
vCenter Single Sign-On uses a combination of STS (Security Token Service), SSL for secure traffic, and
authentication of human users through Active Directory or OpenLDAP and of solution users through
certificates.
3 4
vCenter Single
Sign-On
Kerberos
5 vCenter
Server
CA
6
VMware
Directory
Service
1 A user logs in to the vSphere Web Client with a user name and password to access the vCenter Server
system or another vCenter service.
The user can also log in without a password and check the Use Windows session authentication
checkbox.
2 The vSphere Web Client passes the login information to the vCenter Single Sign-On service, which
checks the SAML token of the vSphere Web Client. If the vSphere Web Client has a valid token, vCenter
Single Sign-On then checks whether the user is in the configured identity source (for example Active
Directory).
n If only the user name is used, vCenter Single Sign-On checks in the default domain.
n If a domain name is included with the user name (DOMAIN\user1 or user1@DOMAIN), vCenter
Single Sign-On checks that domain.
3 If the user can authenticate to the identity source, vCenter Single Sign-On returns a token that
represents the user to the vSphere Web Client.
20 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
4 The vSphere Web Client passes the token to the vCenter Server system.
5 vCenter Server checks with the vCenter Single Sign-On server that the token is valid and not expired.
6 ThevCenter Single Sign-On server returns the token to the vCenter Server system, leveraging
thevCenter Server Authorization Framework to allow user access.
The user can now authenticate, and can view and modify any objects that the user's role has privileges for.
Note Initially, each user is assigned the No Access role. A vCenter Server administrator must assign the
user at least to the Read Only role before the user can log in. See “Add a Permission to an Inventory Object,”
on page 146.
Solution User
1
3
vCenter Single
Sign-On
Kerberos 4
vCenter
Server
CA 2
VMware
Directory
Service
3 If the certificate is valid, vCenter Single Sign-On assigns a SAML token (bearer token) to the solution
user. The token is signed by vCenter Single Sign-On.
4 The solution user is then redirected to vCenter Single Sign-On and can perform tasks based on its
permissions.
5 The next time the solution user has to authenticate, it can use the SAML token to log in to
vCenter Server.
By default, this handshake is automatic because VMCA provisions solution users with certificates during
startup. If company policy requires third-party CA-signed certificates, you can replace the solution user
certificates with third-party CA-signed certificates. If those certificates are valid, vCenter Single Sign-On
assigns a SAML token to the solution user. See “Use Third-Party Certificates With vSphere,” on page 116.
VMware, Inc. 21
vSphere Security
During installation, the components are deployed as part an embedded deployment, or as part of the
Platform Services Controller.
STS (Security Token The STS service issues Security Assertion Markup Language (SAML) tokens.
Service) These security tokens represent the identity of a user in one of the identity
source types supported byvCenter Single Sign-On. The SAML tokens allow
both human users and solution users who authenticate successfully to
vCenter Single Sign-On to use any vCenter service that vCenter Single Sign-
On supports without authenticating again to each service.
The vCenter Single Sign-On service signs all tokens with a signing certificate,
and stores the token signing certificate on disk. The certificate for the service
itself is also stored on disk.
Administration server The administration server allows users with administrator privileges to
vCenter Single Sign-On to configure the vCenter Single Sign-On server and
manage users and groups from the vSphere Web Client. Initially, only the
user administrator@your_domain_name has these privileges. In vSphere 5.5
this user was [email protected]. With vSphere 6.0, you can change
the vSphere domain when you install vCenter Server or deploy the
vCenter Server Appliance with a new Platform Services Controller. Do not
name the domain name with your Microsoft Active Directory or OpenLDAP
domain name.
VMware Directory The VMware Directory service (vmdir) is associated with the domain you
Service (vmdir) specify during installation and is included in each embedded deployment
and on each Platform Services Controller. This service is a multi-tenanted,
multi-mastered directory service that makes an LDAP directory available on
port 389. The service still uses port 11711 for backward compatibility with
vSphere 5.5 and earlier systems.
Starting with vSphere 6.0, the VMware Directory Service stores not only
vCenter Single Sign-On information but also certificate information.
Authentication with vCenter Single Sign-On makes vSphere more secure because the vSphere software
components communicate with each other by using a secure token exchange mechanism, and all other users
also authenticate with vCenter Single Sign-On.
22 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
Starting with vSphere 6.0, vCenter Single Sign-On is either included in an embedded deployment, or part of
the Platform Services Controller. The Platform Services Controller contains all of the services that are
necessary for the communication between vSphere components including vCenter Single Sign-On, VMware
Certificate Authority, VMware Lookup Service, and the licensing service.
As part of the upgrade, you can define a different vCenter Single Sign-On domain name to be used instead
of vsphere.local.
Upgrade Paths
The result of the upgrade depends on what installation options you had selected, and what deployment
model you are upgrading to.
vSphere 5.5 and earlier Simple Install vCenter Server with embedded
Platform Services Controller.
vSphere 5.5 and earlier Custom Install If vCenter Single Sign-On was on a different node than
vCenter Server, an environment with an external
Platform Services Controller results.
If vCenter Single Sign-On was on the same node as
vCenter Server, but other services are on different nodes,
an environment with an embedded
Platform Services Controller results.
If the custom installation included multiple replicating
vCenter Single Sign-On servers, an environment with
multiple replicating Platform Services Controller instances
results.
VMware, Inc. 23
vSphere Security
vSphere 5.0 Local operating system users You might be prompted for the
[email protected] administrator of the root folder
in the vSphere inventory
hierarchy during installation
because of changes in user stores.
If your previous installation
supported Active Directory
users, you can add the Active
Directory domain as an identity
source.
vSphere 5.1 Local operating system users Starting with vSphere 5.5,
[email protected] vCenter Single Sign-On supports
only one default identity source.
Admin@SystemDomain
You can set the default identity
source.
Users in a non-default domain
can specify the domain when
they log in (DOMAIN\user or
user@DOMAIN).
If you upgrade from vSphere 5.0, which does not include vCenter Single Sign-On, to a version that includes
vCenter Single Sign-On, local operating system users become far less important than the users in a directory
service such as Active Directory. As a result, it is not always possible, or even desirable, to keep local
operating system users as authenticated users.
n If vCenter Single Sign-On was on the same node as the vCenter Server system, the result is an
installation with an embedded Platform Services Controller.
n If vCenter Single Sign-On was on a different node than the vCenter Server system, the result is an
installation with an external Platform Services Controller.
n If you upgrade from vSphere 5.0, you can select an external or embedded Platform Services Controller
as part of the upgrade process.
24 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
vSphere 5.0 vCenter Single Sign-On recognizes local If your 5.0 installation supported
operating system users for the machine where Active Directory users, those
the Platform Services Controller is installed, but users no longer have access after
not for the machine where vCenter Server is the upgrade. You can add the
installed. Active Directory domain as an
Note Using local operating system users for identity source.
administration is not recommended, especially in
federated environments.
[email protected] can log in to
vCenter Single Sign-On and each vCenter Server
instance as an administrator user.
vSphere 5.1 or vSphere 5.5 vCenter Single Sign-On recognizes local Starting with vSphere 5.5,
operating system users for the machine where vCenter Single Sign-On supports
the Platform Services Controller is installed, but only one default identity source.
not for the machine where vCenter Server is You can set the default identity
installed. source.
Note Using local operating users for Users in a non-default domain
administration is not recommended, especially in can specify the domain when
federated environments. they log in (DOMAIN\user or
[email protected] log in to vCenter user@DOMAIN).
Single Sign-On and each vCenter Server instance
as an administrator user.
For upgrades from vSphere 5.1
Admin@SystemDomain has the same privileges
as [email protected].
vCenter Single Sign-On authenticates both solution users and other users.
n Solution users represent a set of services in your vSphere environment. During installation, VMCA
assigns a certificate to each solution user by default. The solution user uses that certificate to
authenticate to vCenter Single Sign-On. vCenter Single Sign-On gives the solution user a SAML token,
and the solution user can then interact with other services in the environment.
n When other users log in to the environment, for example, from the vSphere Web Client, vCenter Single
Sign-On prompts for a user name and password. If vCenter Single Sign-On finds a user with those
credentials in the corresponding identity source, it assigns the user a SAML token. The user can now
access other services in the environment without being prompted to authenticate again.
Which objects the user can view, and what a user can do, is usually determined by vCenter Server
permission settings. vCenter Server administrators assign those permissions from the Manage >
Permissions interface in the vSphere Web Client, not through vCenter Single Sign-On. See Chapter 4,
“vSphere Permissions and User Management Tasks,” on page 139.
VMware, Inc. 25
vSphere Security
After installation, the [email protected] user has administrator access to both vCenter Single
Sign-On and vCenter Server. That user can then add identity sources, set the default identity source, and
manage users and groups in the vCenter Single Sign-On domain (vsphere.local).
All users that can authenticate to vCenter Single Sign-On can reset their password, even if the password has
expired, as long as they know the password. See “Change Your vCenter Single Sign-On Password,” on
page 59. Only vCenter Single Sign-On administrators can reset the password for users who no longer have
their password.
To configure vCenter Single Sign-On and manage vCenter Single Sign-On users and groups, the user
[email protected] or a user in the vCenter Single Sign-On Administrators group must log in to
the vSphere Web Client. Upon authentication, that user can access the vCenter Single Sign-On
administration interface from the vSphere Web Client and manage identity sources and default domains,
specify password policies, and perform other administrative tasks. See “Configuring vCenter Single Sign-On
Identity Sources,” on page 29.
Note You cannot rename the [email protected] user. For improved security, consider creating
additional named users in the vsphere.local domain and assigning them administrative privileges. You can
then stop using [email protected].
Note You cannot use the vSphere Web Client to manage vCenter Server version 5.0 or earlier. Upgrade
vCenter Server to version 5.1 or later.
ESXi Users
ESXi is not integrated with vCenter Single Sign-On. You add the ESXi host to an Active Directory domain
explicitly. See “Configure a Host to Use Active Directory,” on page 196.
You can still create local ESXi users with the vSphere Client, vCLI, or PowerCLI. vCenter Server is not aware
of users that are local to ESXi and ESXi is not aware of vCenter Server users.
Note Manage permissions for ESXi hosts through vCenter Server if possible.
n Users who are in the default domain can log in with their user name and password.
n Users who are in a domain that has been added to vCenter Single Sign-On as an identity source but is
not the default domain can log in to vCenter Server but must specify the domain in one of the following
ways.
26 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
n Users who are in a domain that is not a vCenter Single Sign-On identity source cannot log in to
vCenter Server. If the domain that you add to vCenter Single Sign-On is part of a domain hierarchy,
Active Directory determines whether users of other domains in the hierarchy are authenticated or not.
Note If your environment includes an Active Directory hierarchy, see VMware Knowledge Base article
2064250 for details on supported and unsupported setups.
For all objects in the vCenter Server hierarchy, permissions are assigned by pairing a user and a role with the
object. For example, you can select a resource pool and give a group of users read privileges to that resource
pool by giving them the corresponding role.
For some services that are not managed by vCenter Server directly, privileges are determined by
membership to one of the vCenter Single Sign-On groups. For example, a user who is a member of the
Administrator group can manage vCenter Single Sign-On. A user who is a member of the CAAdmins group
can manage the VMware Certificate Authority, and a user who is in the LicenseService.Administrators
group can manage licenses.
Note Many of these groups are internal to vsphere.local or give users high-level administrative privileges.
Add users to any of these groups only after careful consideration of the risks.
Note Do not delete any of the predefined groups in the vsphere.local domain. If you do, errors with
authentication or certificate provisioning might result.
SolutionUsers Solution users group vCenter services. Each solution user authenticates
individually to vCenter Single Sign-On with a certificate. By default, VMCA
provisions solution users with certificates. Do not add members to this group
explicitly.
CAAdmins Members of the CAAdmins group have administrator privileges for VMCA.
Adding members to these groups is not usually recommended.
SystemConfiguration.BashShellAdmi This group is available only for vCenter Server Appliance deployments.
nistrators A user in this group can enable and disable access to the BASH shell. By default
a user who connects to the vCenter Server Appliance with SSH can access only
commands in the restricted shell. Users who are in this group can access the
BASH shell.
ActAsUsers Members of Act-As Users are allowed to get actas tokens from vCenter Single
Sign-On.
ExternalIPDUsers This group is not used by vSphere. This group is needed in conjunction with
VMware vCloud Air.
VMware, Inc. 27
vSphere Security
DCClients This group is used internally to allow the management node access to data in
VMware Directory Service.
Note Do not modify this group. Any changes might compromise your
certificate infrastructure.
Administrators Administrators of the VMware Directory Service (vmdir). Members of this group
can perform vCenter Single Sign-On administration tasks. Adding members to
this group is not usually recommended.
n At least 8 characters
The password for [email protected] cannot be more than 20 characters long. Only visible ASCII
characters are allowed. That means, for example, that you cannot use the space character.
Lockout Behavior
Users are locked out after a preset number of consecutive failed attempts. By default, users are locked out
after five consecutive failed attempt in three minutes and a locked account is unlocked automatically after
five minutes. You can change these defaults using the lockout policy. See “Edit the vCenter Single Sign-On
Lockout Policy,” on page 53.
Starting with vSphere 6.0, the system domain administrator, [email protected] by default, is not
affected by the lockout policy.
Any user can change their password by using the dir-cli password change command. If a user forgets the
password, the administrator can reset the password by using the dir-cli password reset command.
28 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
See “ESXi Passwords and Account Lockout,” on page 163 for a discussion of passwords of ESXi local users.
You configure vCenter Single Sign-On from the vSphere Web Client. To configure vCenter Single Sign-On,
you must have vCenter Single Sign-On administrator privileges. Having vCenter Single Sign-On
administrator privileges is different from having the Administrator role on vCenter Server or ESXi. By
default, only the user [email protected] has administrator privileges on the vCenter Single Sign-
On server in a new installation.
n Identity Sources for vCenter Server with vCenter Single Sign-On on page 29
You can use identity sources to attach one or more domains to vCenter Single Sign-On. A domain is a
repository for users and groups that the vCenter Single Sign-On server can use for user authentication.
An identity source is a collection of user and group data. The user and group data is stored in Active
Directory, OpenLDAP, or locally to the operating system of the machine where vCenter Single Sign-On is
installed.
After installation, every instance of vCenter Single Sign-On has the identity source your_domain_name, for
example vsphere.local. This identity source is internal to vCenter Single Sign-On. A vCenter Single Sign-On
administrator can add identity sources, set the default identity source, and create users and groups in the
vsphere.local identity source.
VMware, Inc. 29
vSphere Security
n Active Directory versions 2003 and later. Shown as Active Directory (Integrated Windows
Authentication) in the vSphere Web Client. vCenter Single Sign-On allows you to specify a single
Active Directory domain as an identity source. The domain can have child domains or be a forest root
domain. VMware KB article 2064250 discusses Microsoft Active Directory Trusts supported with
vCenter Single Sign-On.
n Active Directory over LDAP. vCenter Single Sign-On supports multiple Active Directory over LDAP
identity sources. This identity source type is included for compatibility with the vCenter Single Sign-On
service included with vSphere 5.1. Shown as Active Directory as an LDAP Server in the vSphere Web
Client.
n OpenLDAP versions 2.4 and later. vCenter Single Sign-On supports multiple OpenLDAP identity
sources. Shown as OpenLDAP in the vSphere Web Client.
n Local operating system users. Local operating system users are local to the operating system where the
vCenter Single Sign-On server is running. The local operating system identity source exists only in basic
vCenter Single Sign-On server deployments and is not available in deployments with multiple vCenter
Single Sign-On instances. Only one local operating system identity source is allowed. Shown as localos
in the vSphere Web Client.
Note Do not use local operating system users if the Platform Services Controller is on a different
machine than the vCenter Server system. Using local operating system users might make sense in an
embedded deployment but is not recommended.
n vCenter Single Sign-On system users. Exactly one system identity source named vsphere.local is created
when you install vCenter Single Sign-On. Shown as vsphere.local in the vSphere Web Client.
Note At any time, only one default domain exists. If a user from a non-default domain logs in, that user
must add the domain name (DOMAIN\user) to authenticate successfully.
vCenter Single Sign-On identity sources are managed by vCenter Single Sign-On administrator users.
You can add identity sources to a vCenter Single Sign-On server instance. Remote identity sources are
limited to Active Directory and OpenLDAP server implementations.
When a user logs in to a vCenter Server system from the vSphere Web Client, the login behavior depends on
whether the user is in the default domain, that is, the domain that is set as the default identity source.
n Users who are in the default domain can log in with their user name and password.
n Users who are in a domain that has been added to vCenter Single Sign-On as an identity source but is
not the default domain can log in to vCenter Server but must specify the domain in one of the following
ways.
30 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
n Users who are in a domain that is not a vCenter Single Sign-On identity source cannot log in to
vCenter Server. If the domain that you add to vCenter Single Sign-On is part of a domain hierarchy,
Active Directory determines whether users of other domains in the hierarchy are authenticated or not.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Browse to Administration > Single Sign-On > Configuration.
3 On the Identity Sources tab, select an identity source and click the Set as Default Domain icon.
In the domain display, the default domain shows (default) in the Domain column.
An identity source can be a native Active Directory (Integrated Windows Authentication) domain or an
OpenLDAP directory service. For backward compatibility, Active Directory as an LDAP Server is also
available. See “Identity Sources for vCenter Server with vCenter Single Sign-On,” on page 29
Immediately after installation, the following default identity sources and users are available:
localos All local operating system users. If you are upgrading, those users who can
already authenticate continue to be able to authenticate. Using the localos
identity source does not make sense in environments that use a
Platform Services Controller.
Prerequisites
The domain that you want to add as an identity source must be available to the machine where vCenter
Single Sign-On is running. If you are using a vCenter Server Appliance, see the vCenter Server Appliance
Configuration documentation.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
3 On the Identity Sources tab, click the Add Identity Source icon.
VMware, Inc. 31
vSphere Security
4 Select the type of identity source and enter the identity source settings.
Option Description
Active Directory (Integrated Use this option for native Active Directory implementations. The machine
Windows Authentication) on which the vCenter Single Sign-Onservice is running must be in an
Active Directory domain if you want to use this option.
See “Active Directory Identity Source Settings,” on page 32.
Active Directory as an LDAP Server This option is available for backward compatibility. It requires that you
specify the domain controller and other information. See “Active Directory
LDAP Server and OpenLDAP Server Identity Source Settings,” on
page 33.
OpenLDAP Use this option for an OpenLDAP identity source. See “Active Directory
LDAP Server and OpenLDAP Server Identity Source Settings,” on
page 33.
LocalOS Use this option to add the local operating system as an identity source. You
are prompted only for the name of the local operating system. If you select
this option, all users on the specified machine are visible to vCenter Single
Sign-On, even if those users are not part of another domain.
Note If the user account is locked or disabled, authentications and group and user searches in the
Active Directory domain will fail. The user account must have read-only access over the User and
Group OU, and must be able to read user and group attributes. This is the default Active Directory
domain configuration for authentication permissions. VMware recommends using a special service
user.
5 If you configured an Active Directory as an LDAP Server or an OpenLDAP identity source, click Test
Connection to ensure that you can connect to the identity source.
6 Click OK.
What to do next
When an identity source is added, all users can be authenticated but have the No access role. A user with
vCenter Server Modify.permissions privileges can assign give users or groups of users privileges that
enable them to log in to vCenter Server and view and manage objects. See the vSphere Security
documentation.
n For a Windows installation, join the Windows machine to the Active Directory domain.
n For a vCenter Server Appliance, follow the instructions in the vCenter Server Appliance Configuration
documentation.
Note Active Directory (Integrated Windows Authentication) always uses the root of the Active Directory
domain forest. To configure your Integrated Windows Authentication identity source with a child domain
within your Active Directory forest, see VMware Knowledge Base article 2070433.
32 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
Select Use machine account to speed up configuration. If you expect to rename the local machine on which
vCenter Single Sign-On runs, specifying an SPN explicitly is preferable.
Note In vSphere 5.5, vCenter Single Sign-On uses the machine account even if you specify the SPN. See
VMware Knowledge Base article 2087978.
Use machine account Select this option to use the local machine account as the
SPN. When you select this option, you specify only the
domain name. Do not select this option if you expect to
rename this machine.
Use Service Principal Name (SPN) Select this option if you expect to rename the local
machine. You must specify an SPN, a user who can
authenticate with the identity source, and a password for
the user.
Service Principal Name (SPN) SPN that helps Kerberos to identify the Active Directory
service. Include the domain in the name, for example,
STS/example.com.
The SPN must be unique across the domain. Running
setspn -S checks that no duplicate is created. See the
Microsoft documentation for information on setspn.
User Principal Name (UPN) Name and password of a user who can authenticate with
Password this identity source. Use the email address format, for
example, [email protected]. You can verify the User
Principal Name with the Active Directory Service
Interfaces Editor (ADSI Edit).
Active Directory LDAP Server and OpenLDAP Server Identity Source Settings
The Active Directory as an LDAP Server identity source is available for backward compatibility. Use the
Active Directory (Integrated Windows Authentication) option for a setup that requires less input. The
OpenLDAP Server identity source is available for environments that use OpenLDAP.
If you are configuring an OpenLDAP identity source, see VMware Knowledge Base article 2064977 for
additional requirements.
VMware, Inc. 33
vSphere Security
Table 2‑6. Active Directory as an LDAP Server and OpenLDAP Settings (Continued)
Field Description
Primary Server URL Primary domain controller LDAP server for the domain.
Use the format ldap://hostname:port or
ldaps://hostname:port. The port is typically 389 for ldap:
connections and 636 for ldaps: connections. For Active
Directory multi-domain controller deployments, the port is
typically 3268 for ldap: connections and 3269 for ldaps:
connections.
A certificate that establishes trust for the LDAPS endpoint
of the Active Directory server is required when you use
ldaps:// in the primary or secondary LDAP URL.
Choose certificate If you want to use LDAPS with your Active Directory
LDAP Server or OpenLDAP Server identity source, a
Choose certificate button becomes available after you type
ldaps:// in the URL field. A secondary URL is not
required.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
4 Right-click the identity source in the table and select Edit Identity Source.
5 Edit the identity source settings. The available options depend on the type of identity source you
selected.
Option Description
Active Directory (Integrated Use this option for native Active Directory implementations. The machine
Windows Authentication) on which the vCenter Single Sign-Onservice is running must be in an
Active Directory domain if you want to use this option.
See “Active Directory Identity Source Settings,” on page 32.
Active Directory as an LDAP Server This option is available for backward compatibility. It requires that you
specify the domain controller and other information. See “Active Directory
LDAP Server and OpenLDAP Server Identity Source Settings,” on page 33.
34 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
Option Description
OpenLDAP Use this option for an OpenLDAP identity source. See “Active Directory
LDAP Server and OpenLDAP Server Identity Source Settings,” on page 33.
LocalOS Use this option to add the local operating system as an identity source. You
are prompted only for the name of the local operating system. If you select
this option, all users on the specified machine are visible to vCenter Single
Sign-On, even if those users are not part of another domain.
6 Click Test Connection to ensure that you can connect to the identity source.
7 Click OK.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
3 On the Identity Sources tab, select an identity source and click the Delete Identity Source icon.
Using SSPI speeds up login for the user who is currently logged in to a machine.
Prerequisites
Your Windows domain must be set up properly. See VMware Knowledge Base article 2064250.
Procedure
1 Navigate to the vSphere Web Client login page.
2 If the Use Windows session authentication check box is not available, click Download the Client
Integration Plug-in at the bottom of the login page.
3 If the browser blocks the installation by issuing certificate errors or by running a pop-up blocker, follow
the Help instructions for your browser to resolve the problem.
After installation, the plug-in is available for all browsers. If your browser requires it, you might have to
allow the plug-in for individual sessions or for all sessions.
VMware, Inc. 35
vSphere Security
Common Access Card CAC authentication allows access only to users who attach a physical card to
(CAC) Authentication the USB drive of the computer where they log in. If the PKI is deployed so
that the smart card certificates are the only client certificates that are issued
by the CA, then only smart card certificates are presented to the user. The
user selects a certificate, and is then prompted for a PIN. Only users who
have both the physical card and the PIN that matches the certificate can log
in.
RSA SecurID For RSA SecureID authentication, your environment must include a correctly
Authentication configured RSA Authentication Manager. If the Platform Services Controller
is configured to point to the RSA server, and if RSA SecurID Authentication
is enabled, users can then log in with their user name and token.
Note vCenter Single Sign-On supports only native SecurID, it does not
support RADIUS authentication.
n For Common Access Card authentication, you set up your Web browser by using the sso-config script,
and you can perform the vCenter Single Sign-On setup from the Platform Services Controller Web
interface or by using sso-config. Setup includes enabling CAC authentication, configuring certificate
revocation policies, and setting up a login banner.
n For RSA SecureID, you use the sso-config script to configure RSA Authentication Manager for the
domain, and to enable RSA token authetication. The authentication method displays in the
Platform Services Controller Web interface if enabled, but you cannot configure RSA SecureID
authentication from the Web interface.
36 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
When you configure smart card authentication for vCenter Single Sign-On, users who log in to a
vCenter Server or Platform Services Controller system are prompted to authenticate with a smart card and
PIN combination, as follows:
1 When the user inserts the smart card into the smart card reader, vCenter Single Sign-On reads the
certificates on the card.
2 vCenter Single Sign-On prompts the user to select a certificate, and then prompts the user for the PIN
for that certificate.
3 vCenter Single Sign-On checks whether the certificate on the smart card is known and whether the PIN
is correct. If the revocation checking is turned on, vCenter Single Sign-On also checks whether the
certificate is revoked.
4 If the certificate is known, and is not a revoked certificate, the user is authenticated and can then
perform tasks that user has permissions for.
Note In most cases, it makes sense to leave user name and password authentication enabled during
testing. After testing is complete, disable user name and password authentication and enable smart card
authentication. After that, the vSphere Client allows only smart card login. Only users with root or
administrator privileges on the machine can reenable user name and password by logging into
thePlatform Services Controller directly.
When you configure smart card authentication from the command line, you always set up the
Platform Services Controller using the sso-config command first. Then you can perform other tasks by
using the Platform Services Controller Web interface.
1 Configure the Platform Services Controller so that the Web browser requests submission of the smart
card certificate when the user logs in.
2 Configure the authentication policy. You can configure the policy by using the sso-config script or the
Platform Services Controller Web interface. Configuration of supported authentication types and
revocation settings is stored in VMware Directory Service and replicated across all
Platform Services Controller instances in a vCenter Single Sign-On domain.
If smart card authentication is enabled and other authentication methods are disabled, users are then
required to log in using smart card authentication.
VMware, Inc. 37
vSphere Security
If login from the vSphere Web Client is not working, and if user name and password authentication is
turned off, a root or administrator user can turn user name and password authentication back on from the
Platform Services Controller command line by running the following command. The example is for
Windows; for Linux, use sso-config.sh.
Prerequisites
n Verify that your environment uses Platform Services Controller version 6.0 Update 2 or later, and that
you use vCenter Server version 6.0 or later. Upgrade version 5.5 nodes to version 6.0.
n Verify that an enterprise Public Key Infrastructure (PKI) is set up in your environment, and that
certificates meet the following requirements:
n A User Principal Name (UPN) that corresponds to an Active Directory account in the Subject
Alternative Name (SAN) extension.
n Client Authentication must be specified in the Application Policy or Enhanced Key Usage field of a
certificate, or the browser does not show that certificate.
n Verify that the Platform Services Controller Web interface certificate is trusted by the end user’s
workstation; otherwise, the browser does not attempt the authentication.
n Configure an Active Directory identity source and add it to vCenter Single Sign-On as an identity
source.
n Assign the vCenter Server Administrator role to one or more users in the Active Directory identity
source. Those users can then authenticate because they are in the Active Directory group, and they have
vCenter Server administrator privileges. The [email protected] user cannot perform smart
card authentication.
n If you want to use the Platform Services Controller HA solution in your environment, complete all HA
configuration before you set up smart card authentication. See VMware Knowledge Base article 2112085
(Windows) or 2113315 (vCenter Server Appliance).
Procedure
1 Obtain the certificates and copy them to a folder that the sso-config utility can see.
Option Description
Windows Log in to the Platform Services Controller Windows installation and use
WinSCP or a similar utility to copy the files.
Appliance a Log in to the appliance console, either directly or by using SSH.
b Enable the appliance shell, as follows.
38 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
2 On each Platform Services Controller node, configure smart card authentication settings by using the
sso-config CLI.
Option Description
Windows C:\Program Files\VMware\VCenter server\VMware Identity
Services
Appliance /opt/vmware/bin
For example:
3 To enable smart cart authentication for VMware Directory Service (vmdir), run the following command.
For example:
If you specify multiple certificates, spaces between certificates are not allowed.
4 To disable all other authentication methods, run the following commands.
You can use these commands to enable and disable different authentication methods as needed.
5 (Optional) To set a certificate policies white list, run the following command.
This white list specifies object IDs of policies that are allowed in the certificate's certificate policy
extension. An X509 certificate can have a Certificate Policy extension.
VMware, Inc. 39
vSphere Security
Use the Platform Services Controller Web Interface to Manage Smart Card
Authentication
You can enable and disable smart card authentication, customize the login banner, and set up the revocation
policy from the Platform Services Controller Web interface.
When you configure smart card authentication from the command line, you always set up the
Platform Services Controller using the sso-config command first. Then you can perform other tasks by
using the Platform Services Controller Web interface.
1 Configure the Platform Services Controller so that the Web browser requests submission of the smart
card certificate when the user logs in.
2 Configure the authentication policy. You can configure the policy by using the sso-config script or the
Platform Services Controller Web interface. Configuration of supported authentication types and
revocation settings is stored in VMware Directory Service and replicated across all
Platform Services Controller instances in a vCenter Single Sign-On domain.
If smart card authentication is enabled and other authentication methods are disabled, users are then
required to log in using smart card authentication.
If login from the vSphere Web Client is not working, and if user name and password authentication is
turned off, a root or administrator user can turn user name and password authentication back on from the
Platform Services Controller command line by running the following command. The example is for
Windows; for Linux, use sso-config.sh.
Prerequisites
n Verify that your environment uses Platform Services Controller version 6.0 Update 2 or later, and that
you use vCenter Server version 6.0 or later. Upgrade version 5.5 nodes to version 6.0.
n Verify that an enterprise Public Key Infrastructure (PKI) is set up in your environment, and that
certificates meet the following requirements:
n A User Principal Name (UPN) that corresponds to an Active Directory account in the Subject
Alternative Name (SAN) extension.
n Client Authentication must be specified in the Application Policy or Enhanced Key Usage field of a
certificate, or the browser does not show that certificate.
n Verify that the Platform Services Controller Web interface certificate is trusted by the end user’s
workstation; otherwise, the browser does not attempt the authentication.
n Configure an Active Directory identity source and add it to vCenter Single Sign-On as an identity
source.
n Assign the vCenter Server Administrator role to one or more users in the Active Directory identity
source. Those users can then authenticate because they are in the Active Directory group, and they have
vCenter Server administrator privileges. The [email protected] user cannot perform smart
card authentication.
n If you want to use the Platform Services Controller HA solution in your environment, complete all HA
configuration before you set up smart card authentication. See VMware Knowledge Base article 2112085
(Windows) or 2113315 (vCenter Server Appliance).
40 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
Procedure
1 Obtain the certificates and copy them to a folder that the sso-config utility can see.
Option Description
Windows Log in to the Platform Services Controller Windows installation and use
WinSCP or a similar utility to copy the files.
Appliance a Log in to the appliance console, either directly or by using SSH.
b Enable the appliance shell, as follows.
2 On each Platform Services Controller node, configure smart card authentication settings by using the
sso-config CLI.
Option Description
Windows C:\Program Files\VMware\VCenter server\VMware Identity
Services
Appliance /opt/vmware/bin
For example:
Separate multiple certificates with commas, but do not put spaces after the comma.
3 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
4 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
6 Click Smart Card Configuration, and select the Trusted CA certificates tab.
VMware, Inc. 41
vSphere Security
7 To add one or more trusted certificates, click Add Certificate, click Browse, select all certificates from
trusted CAs, and click OK.
8 To specify the authentication configuration, click Edit next to Authentication Configuration and select
or deselect authentication methods.
You cannot enable or disable RSA SecurID authentication from this Web interface. However, if RSA
SecurID has been enabled from the command line, the status appears in the Web interface.
You can customize the behavior by using the Platform Services Controller Web interface or by using the sso-
config script. The settings that you select depend in part on what the CA supports.
n If revocation checking is disabled, vCenter Single Sign-On ignores any CRL or OCSP settings.
n If revocation checking is enabled, the recommended setup depends on the PKI setup.
OCSP only If the issuing CA supports an OCSP responder, enable OCSP and disable
using CRL as failover.
CRL only If the issuing CA does not support OSCP, enable CRL checking and
disable OSCP checking.
Both OSCP and CRL If the issuing CA supports both an OCSP responder and a CRL, vCenter
Single Sign-On checks the OCSP responder first. If the responder returns
an unknown status or is not available, vCenter Single Sign-On checks the
CRL. For this case, enable both OCSP checking and CRL checking, and
enable CRL as failover for OCSP.
n If revocation checking is enabled, advanced users can specify the following additional settings.
OSCP URL By default, vCenter Single Sign-On checks the location of the OCSP
responder that is defined in the certificate being validated. You can
explicitly specify a location if the Authority Information Access extension
is absent from the certificate or if you want to override it, for example,
because it is not available in your environment.
Use CRL from By default, vCenter Single Sign-On checks the location of the CRL that is
certificate defined in the certificate being validated. Disable this option when the
CRL Distribution Point extension is absent from the certificate or if you
want to override the default.
CRL location Use this property if you disable Use CRL from certificate and you want
to specify a location (file or HTTP URL) where the CRL is located.
In addition, you can further limit which certificates vCenter Single Sign-On accepts by adding a certificate
policy.
Prerequisites
n Verify that your environment uses Platform Services Controller version 6.0 Update 2 or later, and that
you use vCenter Server version 6.0 or later. Upgrade version 5.5 nodes to version 6.0.
n Verify that an enterprise Public Key Infrastructure (PKI) is set up in your environment, and that
certificates meet the following requirements:
n A User Principal Name (UPN) that corresponds to an Active Directory account in the Subject
Alternative Name (SAN) extension.
42 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
n Client Authentication must be specified in the Application Policy or Enhanced Key Usage field of a
certificate, or the browser does not show that certificate.
n Verify that the Platform Services Controller Web interface certificate is trusted by the end user’s
workstation; otherwise, the browser does not attempt the authentication.
n Configure an Active Directory identity source and add it to vCenter Single Sign-On as an identity
source.
n Assign the vCenter Server Administrator role to one or more users in the Active Directory identity
source. Those users can then authenticate because they are in the Active Directory group, and they have
vCenter Server administrator privileges. The [email protected] user cannot perform smart
card authentication.
n If you want to use the Platform Services Controller HA solution in your environment, complete all HA
configuration before you set up smart card authentication. See VMware Knowledge base article 2113085
(Windows) or 2113315 (vCenter Server Appliance).
Procedure
1 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
2 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
5 If certificate policies are in effect in your environment, you can add a policy in the Certificate policies
accepted pane.
See the two vSphere Blog posts about RSA SecurID setup for details.
Note RSA Authentication Manager requires that the user ID is a unique identifier that uses 1 to 255 ASCII
characters. The characters ampersand (&), percent (%), greater than (>), less than (<), and single quote (`) are
not allowed.
Prerequisites
n Verify that your environment uses Platform Services Controller version 6.0 Update 2 or later, and that
you use vCenter Server version 6.0 or later. Upgrade version 5.5 nodes to version 6.0.
n Verify that your environment has a correctly configured RSA Authentication Manager and that users
have RSA tokens. RSA Authentication Manager version 8.0 or later is required.
n Verify that the identity source that RSA Manager uses has been added to vCenter Single Sign-On. See
“Add a vCenter Single Sign-On Identity Source,” on page 31.
n Verify that the RSA Authentication Manager system can resolve the Platform Services Controller host
name, and that the Platform Services Controller system can resolve the RSA Authentication Manager
host name.
VMware, Inc. 43
vSphere Security
n Export the sdconf.rec file from the RSA Manager by selecting Access > Authentication Agents >
Generate configuration file. Decompress the resulting AM_Config.zip file to find the sdconf.rec file.
Procedure
1 Change to the directory where the sso-config script is located.
Option Description
Windows C:\Program Files\VMware\VCenter server\VMware Identity
Services
Appliance /opt/vmware/bin
tenantName is the name of the vCenter Single Sign-On domain, vsphere.local by default.
4 To configure the environment so that the tenant at the current site uses the RSA site, run the following
command.
For example:
Option Description
siteID Optional Platform Services Controller site ID. Platform Services Controller
supports one RSA Authentication Manager instance or cluster per site. If
you do not explicitly specify this option, the RSA configuration is for the
current Platform Services Controller site. Use this option only if you are
adding a different site.
agentName Defined in RSA Authentication Manager.
sdConfFile Copy of the sdconf.rec file that was downloaded from RSA Manager and
includes configuration information for the RSA Manager, such as the IP
address.
5 (Optional) To change the tenant configuration to nondefault values, run the following command.
44 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
6 (Optional) If your identity source is not using the User Principal Name as the user ID, set up the
identity source userID attribute.
The userID attribute determines which LDAP attribute is used as the RSA userID.
For example:
If user name and password authentication is disabled and SecurID token authentication is enabled, users
must log in with their user name and SecurID token. User name and password login is no longer possible.
Procedure
1 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
2 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
3 Under Single Sign-On, select Configuraton and click the Login Banner tab.
Option Description
Status Click the Enabled check box to enable to login banner. You cannot change
the other fields unless you click this check box.
Explicit Consent Click the Explicit Consent check box to require that the user click a check
box before logging in. You can also display a message without a check box.
Title Title of the banner. By default, the Login Banner text is I agree to the.
You can add to that, for example Terms and Conditions.
Message Message that the user sees when clicking on the banner. For example, the
text of the terms and conditions. The message is required if you use
explicit consent.
VMware, Inc. 45
vSphere Security
Note vCenter Single Sign-On can be the IDP to other SPs.vCenter Single Sign-On cannot be an SP that uses
another IDP.
A registered SAML service provider can grant access to a user that already has a live session, that is, a user
that is logged in to the identity provider. For example, vRealize Automation 7.0 and later supports vCenter
Single Sign-On as an identity provider. You can set up a federation from vCenter Single Sign-On and from
vRealize Automation. After that, vCenter Single Sign-On can perform the authentication when you log in to
vRealize Automation.
To join a SAML service provider to the identity federation, you have to set up trust between the SP and the
IDP by exchanging SAML metadata between them.
You have to perform integration tasks for both vCenter Single Sign-On and the service that is using vCenter
Single Sign-On.
You can use the vSphere Web Client interface to vCenter Single Sign-On to export the IDP metadata, and to
import the metadate from the SP. If you are using vRealize Automation as the SP, see the vRealize
Automation documentation for details on exporting the SP metadata and importing the IDP metadata.
Note The service must fully support the SAML 2.0 standard or integration does not work.
The process involves importing the metadata from your SAML service provider into vCenter Single Sign-
On, and importing the vCenter Single Sign-On metadata into your SAML service provider so the two
providers share all data.
Prerequisites
The target service must fully support the SAML 2.0 standard.
46 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
If the metadata do not follow the SAML 2.0 metadata schema precisely, you might have to edit the schema
before you import it. For example, if you are using an Active Directory Federation Services (ADFS) SAML
service provider, you have to edit the metadata before you can import them. Remove the following non-
standard elements:
fed:ApplicationServiceType
fed:SecurityTokenServiceType
You cannot currently import SAML IDP metadata from the vSphere Web Client.
Procedure
1 Export the metadata from your service provider to a file.
a Log in to the vSphere Web Client as [email protected] or as another user with vCenter
Single Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
a In the Metadata for your SAML service provider field, click Download.
4 Go to the SAML service provider, for example VMware vRealize Automation 7.0 or later, and follow the
instructions for your SAML service provider to add the vCenter Single Sign-On metadata to that service
provider.
See the vRealize Automation documentation for details on importing the metadata.
Users present their primary credentials to the STS interface to acquire SAML tokens. The primary credential
depends on the type of user.
User User name and password available in a vCenter Single Sign-On identity
source.
STS authenticates the user based on the primary credentials, and constructs a SAML token that contains user
attributes. STS signs the SAML token with its STS signing certificate, and assigns the token to the user. By
default, the STS signing certificate is generated by VMCA. You can replace the default STS signing certificate
from the vSphere Web Client. Do not replace the STS signing certificate unless your company's security
policy requires replacing all certificates.
After a user has a SAML token, the SAML token is sent as part of that user's HTTP requests, possibly
through various proxies. Only the intended recipient (service provider) can use the information in the
SAML token.
VMware, Inc. 47
vSphere Security
Note This certificate is valid for ten years and is not an external-facing certificate. Do not replace this
certificate unless your company's security policy requires it.
See “Generate a New STS Signing Certificate on a vCenter Windows Installation,” on page 49 if you are
running a Platform Services Controller Windows installation.
Procedure
1 Create a top-level directory to hold the new certificate and verify the location of the directory.
mkdir newsts
cd newsts
pwd
#resulting output: /root/newst
cp /usr/lib/vmware-vmca/share/config/certool.cfg /root/newsts
3 Open your copy of the certool.cfg file and edit it to use the local Platform Services Controller IP
address and hostname.
The country is required and has to be two characters, as shown in the following example.
#
# Template file for a CSR request
#
48 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
8 When prompted, type Yes to accept the certificate into the keystore.
What to do next
You can now import the new certificate. See “Refresh the Security Token Service Certificate,” on page 50.
Note This certificate is valid for ten years and is not an external-facing certificate. Do not replace this
certificate unless your company's security policy requires it.
See “Generate a New STS Signing Certificate on the Appliance,” on page 48 if you are using a virtual
appliance.
Procedure
1 Create a new directory to hold the new certificate.
cd C:\ProgramData\VMware\vCenterServer\cfg\sso\keys\
mkdir newsts
cd newsts
2 Make a copy of the certool.cfg file and place it in the new directory.
3 Open your copy of the certool.cfg file and edit it to use the local Platform Services Controller IP
address and hostname.
The country is required and has to be two characters. The following sample illustrates this.
#
# Template file for a CSR request
#
VMware, Inc. 49
vSphere Security
What to do next
You can now import the new certificate. See “Refresh the Security Token Service Certificate,” on page 50.
To acquire a SAML token, a user presents the primary credentials to the Secure Token Server (STS). The
primary credentials depend on the type of user:
Other users User name and password available in a vCenter Single Sign-On identity
source.
The STS authenticates the user using the primary credentials, and constructs a SAML token that contains
user attributes. The STS service signs the SAML token with its STS signing certificate, and then assigns the
token to a user. By default, the STS signing certificate is generated by VMCA.
After a user has a SAML token, the SAML token is sent as part of that user's HTTP requests, possibly
through various proxies. Only the intended recipient (service provider) can use the information in the
SAML token.
You can replace the existing STS signing certificate vSphere Web Client if your company policy requires it,
or if you want to update an expired certificate.
Caution Do not replace the file in the filesystem. If you do, errors that are unexpected and difficult to
debug result.
Note After you replace the certificate, you must restart the node to restart both the vSphere Web Client
service and the STS service.
50 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
Prerequisites
Copy the certificate that you just added to the java keystore from the Platform Services Controller to your
local workstation.
For example:
/root/newsts/keys/root-trust.jks
For example:
C:\Program Files\VMware\vCenter Server\jre\bin\root-trust.jks
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Select the Certificates tab, then the STS Signing subtab, and click the Add STS Signing Certificate
icon.
a Click Browse to browse to the key store JKS file that contains the new certificate and click Open.
c Click the top of the STS alias chain and click OK.
4 Click OK.
5 Restart the Platform Services Controller node to start both the STS service and the vSphere Web Client.
Before the restart, authentication does not work correctly so the restart is essential.
You see certificate expiration information only if you use an Active Directory LDAP Server and OpenLDAP
Server and specify an ldaps:// URL for the server. The Identity Sources TrustStore tab remains empty for
other types of identity sources or for ldap:// traffic.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
3 Click the Certificates tab, and then the Identity Sources TrustStore subtab.
VMware, Inc. 51
vSphere Security
4 Find the certificate and verify the expiration date in the Valid To text box.
You might see a warning at the top of the tab which indicates that a certificate is about to expire.
By default, vCenter Single Sign-On passwords expire after 90 days. The vSphere Web Client reminds you
when your password is about to expire.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
4 Click Edit.
Option Description
Description Password policy description.
Maximum lifetime Maximum number of days that a password can exist before the user must
change it.
Restrict reuse Number of the user's previous passwords that cannot be selected. For
example, if a user cannot reuse any of the last six passwords, type 6.
Maximum length Maximum number of characters that are allowed in the password.
Minimum length Minimum number of characters required in the password. The minimum
length must be no less than the combined minimum of alphabetic,
numeric, and special character requirements.
52 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
Option Description
Character requirements Minimum number of different character types that are required in the
password. You can specify the number of each type of character, as
follows:
n Special: & # %
n Alphabetic: A b c D
n Uppercase: A B C
n Lowercase: a b c
n Numeric: 1 2 3
The minimum number of alphabetic characters must be no less than the
combined uppercase and lowercase requirements.
In vSphere 6.0 and later, non-ASCII characters are supported in passwords.
In earlier versions of vCenter Single Sign-On, limitations on supported
characters exist.
Identical adjacent characters Maximum number of identical adjacent characters that are allowed in the
password. The number must be greater than 0. For example, if you enter 1,
the following password is not allowed: p@$$word.
6 Click OK.
If a user logs in to vsphere.local multiple times with the wrong password, the user is locked out. The lockout
policy allows you to specify the maximum number of failed login attempts and how much time can elapse
between failures. The policy also specifies how much time must elapse before the account is automatically
unlocked.
Note The lockout policy applies only to user accounts, not to system accounts such as
[email protected].
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
4 Click Edit.
Option Description
Description Optional description of the lockout policy.
Max number of failed login attempts Maximum number of failed login attempts that are allowed before the
account is locked.
Time interval between failures Time period in which failed login attempts must occur to trigger a lockout.
Unlock time Amount of time that the account remains locked. If you enter 0, the
administrator must unlock the account explicitly.
6 Click OK.
VMware, Inc. 53
vSphere Security
Procedure
1 Log in to the vSphere Web Client.
The vSphere Web Client displays the current configuration settings. If you have not modified the
default settings, vCenter Single Sign-On uses them.
Option Description
Clock tolerance Time difference, in milliseconds, that vCenter Single Sign-On tolerates
between a client clock and the domain controller clock. If the time
difference is greater than the specified value, vCenter Single Sign-On
declares the token invalid.
Maximum token renewal count Maximum number of times that a token can be renewed. After the
maximum number of renewal attempts, a new security token is required.
Maximum token delegation count Holder-of-key tokens can be delegated to services in the vSphere
environment. A service that uses a delegated token performs the service on
behalf of the principal that provided the token. A token request specifies a
DelegateTo identity. The DelegateTo value can either be a solution token or
a reference to a solution token. This value specifies how many times a
single holder-of-key token can be delegated.
Maximum bearer token lifetime Bearer tokens provide authentication based only on possession of the
token. Bearer tokens are intended for short-term, single-operation use. A
bearer token does not verify the identity of the user or entity that is
sending the request. This value specifies the lifetime value of a bearer
token before the token has to be reissued.
Maximum holder-of-key token Holder-of-key tokens provide authentication based on security artifacts
lifetime that are embedded in the token. Holder-of-key tokens can be used for
delegation. A client can obtain a holder-of-key token and delegate that
token to another entity. The token contains the claims to identify the
originator and the delegate. In the vSphere environment, a vCenter Server
system obtains delegated tokens on a user's behalf and uses those tokens to
perform operations.
This value determines the lifetime of a holder-of-key token before the
token is marked invalid.
5 Click OK.
The vCenter Single Sign-On administrator user can perform the following tasks.
54 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
You can select other domains and view information about the users in those domains, but you cannot add
users to other domains from the vCenter Single Sign-On management interface of the vSphere Web Client.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Click Home, and browse to Administration > Single Sign-On > Users and Groups.
3 If vsphere.local is not the currently selected domain, select it from the dropdown menu.
VMware, Inc. 55
vSphere Security
You cannot change the user name after you create a user.
The password must meet the password policy requirements for the system.
6 (Optional) Type the first name and last name of the new user.
8 Click OK.
When you add a user, that user initially has no privileges to perform management operations.
What to do next
Add the user to a group in the vsphere.local domain, for example, to the group of users who can
administrator VMCA (CAAdmins) or to the group of users who can administer vCenter Single Sign-On
(Administrators). See “Add Members to a vCenter Single Sign-On Group,” on page 58.
Disabled user accounts remain available in the vCenter Single Sign-On system, but the user cannot log in or
perform operations on the server. Users with administrator privileges can disable and enable users from the
vCenter Users and Groups page.
Prerequisites
You must be a member of the vCenter Single Sign-On Administrators group to disable and enable vCenter
Single Sign-On users.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Click Home, and browse to Administration > Single Sign-On > Users and Groups.
3 Select a user, click the Disable icon, and click Yes when prompted.
4 To enable the user again, right-click the user, select Enable, and click Yes when prompted.
Caution If you delete the administrator user in the vsphere.local domain, you can no longer log in to
vCenter Single Sign-On. Reinstall vCenter Server and its components.
56 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Click Home, and browse to Administration > Single Sign-On > Users and Groups.
4 In the list of users, select the user that you want to delete and click the Delete icon.
You can create additional users with the same privileges as [email protected].
vCenter Single Sign-On users are stored in the vCenter Single Sign-On vsphere.local domain.
You can review the vCenter Single Sign-On password policies from the vSphere Web Client. Log in as
[email protected] and select Configuration > Policies > Password Policies.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Click Home, and browse to Administration > Single Sign-On > Users and Groups.
6 Click OK.
When you add a vCenter Single Sign-On group from the vSphere Web Client administration interface, the
group is added to the vsphere.local domain.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
VMware, Inc. 57
vSphere Security
2 Click Home, and browse to Administration > Single Sign-On > Users and Groups.
3 Select the Groups tab and click the New Group icon.
You cannot change the group name after you create the group.
5 Click OK.
What to do next
n Add members to the group.
You can add members of Microsoft Active Directory or OpenLDAP groups to a vCenter Single Sign-On
group. You cannot add groups from external identity sources to a vCenter Single Sign-On group.
Groups listed on the Groups tab in the vSphere Web Client are part of the vsphere.local domain. See
“Groups in the vsphere.local Domain,” on page 27.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Click Home, and browse to Administration > Single Sign-On > Users and Groups.
3 Click the Groups tab and click the group (for example, Administrators).
5 Select the identity source that contains the member to add to the group.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Click Home, and browse to Administration > Single Sign-On > Users and Groups.
58 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
4 In the list of group members, select the user or group that you want to remove and click the Remove
Member icon.
5 Click OK.
The user is removed from the group, but is still available in the system.
When you remove the set of services associated with a vCenter Server solution user or a third-party solution
user from your environment, the solution user is removed from the vSphere Web Client display. If you
forcefully remove an application, or if the system becomes unrecoverable while the solution user is still in
the system, you can remove the solution user explicitly from the vSphere Web Client.
Important If you delete a solution user, the corresponding services can no longer authenticate to vCenter
Single Sign-On.
Procedure
1 Log in to the vSphere Web Client as [email protected] or as another user with vCenter Single
Sign-On administrator privileges.
Users with vCenter Single Sign-On administrator privileges are in the Administrators group in the
vsphere.local domain.
2 Click Home, and browse to Administration > Single Sign-On > Users and Groups.
3 Click the Solution Users tab, and click the solution user name.
5 Click Yes.
The services associated with the solution user no longer have access to vCenter Server and cannot function
as vCenter Server services.
The vCenter Single Sign-On lockout policy determines when your password expires. By default, vCenter
Single Sign-On user passwords expire after 90 days, but administrator passwords such as the password for
[email protected] do not expire. vCenter Single Sign-On management interfaces show a warning
when your password is about to expire.
If the password is expired, the administrator of the local domain, [email protected] by default,
can reset the password by using the dir-cli password reset command. Only members of the
Administrator group for the vCenter Single Sign-On domain can reset passwords.
VMware, Inc. 59
vSphere Security
Procedure
1 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
2 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
3 In the upper navigation pane, to the left of the Help menu, click your user name to pull down the menu.
As an alternative, you can select Single Sign-On > Users and Groups and select Edit User from the
right-button menu.
6 Click OK.
The vSphere 6.0 authentication and certificate infrastructure enhances security in your vSphere
environment. To make sure that infrastructure is not compromised, follow vCenter Single Sign-On Best
Practices.
Check password The default vCenter Single Sign-On password policy has a password lifetime
expiration of 90 days. After 90 days, the password is expired and the ability to log is
compromised. Check the expiration and refresh passwords in a timely
fashion.
Configure NTP Ensure that all systems use the same relative time source (including the
relevant localization offset), and that the relative time source can be
correlated to an agreed-upon time standard (such as Coordinated Universal
Time—UTC). Synchronized systems are essential for vCenter Single Sign-On
certificate validity, and for the validity of other vSphere certificates.
NTP also makes it easier to track an intruder in log files. Incorrect time
settings can make it difficult to inspect and correlate log files to detect
attacks, and can make auditing inaccurate.
The following topics provide a starting point for troubleshooting vCenter Single Sign-On. Search this
documentation center and the VMware Knowledge Base system for additional pointers.
60 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
Problem
vCenter Server and Web Client installers show the error Could not contact Lookup Service. Please check
VM_ssoreg.log....
Cause
This problem has several causes, including unsynchronized clocks on the host machines, firewall blocking,
and services that must be started.
Solution
1 Verify that the clocks on the host machines running vCenter Single Sign-On, vCenter Server, and the
Web Client are synchronized.
The log file contains output from all installation attempts. Locate the last message that shows
Initializing registration provider...
VMware, Inc. 61
vSphere Security
Problem
You add an Active Directory identity source to vCenter Single Sign-On, but users cannot log in to
vCenter Server.
Cause
Users use their user name and password to log in to the default domain. For all other domains, users must
include the domain name (user@domain or DOMAIN\user).
If you are using the vCenter Server Appliance, other problems might exist.
Solution
For all vCenter Single Sign-On deployments, you can change the default identity source. After that change,
users can log in to the default identity source with username and password only.
To configure your Integrated Windows Authentication identity source with a child domain within your
Active Directory forest, see VMware Knowledge Base article 2070433. By default, Integrated Windows
Authentication uses the root domain of your Active Directory forest.
If you are using the vCenter Server Appliance, and changing the default identity source does not resolve the
issue, perform the following additional troubleshooting steps.
1 Synchronize the clocks between the vCenter Server Appliance and the Active Directory domain
controllers.
2 Verify that each domain controller has a pointer record (PTR) in the Active Directory domain DNS
service and that the PTR record information matches the DNS name of the controller. When using the
vCenter Server Appliance, you can run the following commands to perform the task:
The relevant addresses are in the answer section, as in the following example:
;; ANSWER SECTION:
_ldap._tcp.my-ad.com. (...) my-controller.my-ad.com
...
b For each domain controller, verify forward and reverse resolution by running the following
command:
# dig my-controller.my-ad.com
The relevant addresses are in the answer section, as in the following example:
;; ANSWER SECTION:
my-controller.my-ad.com (...) IN A controller IP address
...
The relevant addresses are in the answer section, as in the following example:
;; ANSWER SECTION:
IP-in-reverse.in-addr.arpa. (...) IN PTR my-controller.my-ad.com
...
62 VMware, Inc.
Chapter 2 vSphere Authentication with vCenter Single Sign-On
3 If that does not resolve the problem, remove the vCenter Server Appliance from the Active Directory
domain and then rejoin the domain. See the vCenter Server Appliance Configuration documentation.
4 Close all browser sessions connected to the vCenter Server Appliance and restart all services.
Problem
After several failed attempts, you cannot log in to the vSphere Web Client using vCenter Single Sign-On.
You see the message that your account is locked.
Cause
You exceeded the maximum number of failed login attempts.
Solution
n If you log in as a user from the system domain (vsphere.local), ask your vCenter Single Sign-On
administrator to unlock your account. As an alternative, you can wait until your account is unlocked, if
the lock is set to expire in the password policy. vCenter Single Sign-On administrators can use CLI
commands to unlock your account.
n If you log in as a user from an Active Directory or LDAP domain, ask your Active Directory or LDAP
administrator to unlock your account.
Problem
In certain situations, for example, when your environment includes multiple Platform Services Controller
instances in different locations, and you make significant changes while one Platform Services Controller is
unavailable, you do not see replication across VMware Directory Service instances right away. For example,
you do not see a new user that was added to the available Platform Services Controller instance in the other
instance until replication is complete.
Cause
During normal operation, changes to a VMware Directory Service (vmdir) instance in one
Platform Services Controller instance (node) show up in its direct replication partner within about 60
seconds. Depending on the replication topology, changes in one node might have to propagate through
intermediate nodes before they arrive at each vmdir instance in each node. Information that is replicated
includes user information, certificate information, license information for virtual machines that are created,
cloned, or migrated with VMware VMotion, and more.
When the replication link is broken, for example, because of a network outage or because a node becomes
unavailable, changes in the federation do not converge. After the unavailable node is restored, each node
tries to catch up with all changes. Eventually, all vmdir instances converge to a consistent state but it might
take a while to reach that consistent state if many changes occurred while one node was unavailable.
VMware, Inc. 63
vSphere Security
Solution
Your environment functions normally while replication happens. Do not attempt to solve the problem
unless it persists for over an hour.
64 VMware, Inc.
vSphere Security Certificates 3
vSphere components use SSL to communicate securely with each other and with ESXi. SSL communications
ensure data confidentiality and integrity. Data is protected, and cannot be modified in transit without
detection.
Certificates are also used by vCenter Server services such as the vSphere Web Client for initial
authentication to vCenter Single Sign-On. vCenter Single Sign-On provisions each component with a SAML
token that the component uses for authentication going forward.
In vSphere 6.0 and later, the VMware Certificate Authority (VMCA) provisions each ESXi host and each
vCenter Server service with a certificate that is signed by VMCA by default.
You can replace the existing certificates with new VMCA-signed certificates, make VMCA a subordinate CA,
or replace all certificates with custom certificates. You have several options:
Use the Platform Services Controller web interface “Managing Certificates with the Platform Services
(vSphere 6.0 Update 1 and later). Controller Web Interface,” on page 79
Use the vSphere Certificate Manager utility from the “Managing Certificates with the vSphere Certificate
command line. Manager Utility,” on page 86
Use CLI commands for manual certificate replacement. “Managing Certificates and Services with CLI Commands,”
on page 122
n “Managing Certificates with the Platform Services Controller Web Interface,” on page 79
n “View vCenter Certificates with the vSphere Web Client,” on page 137
n “Set the Threshold for vCenter Certificate Expiration Warnings,” on page 137
VMware, Inc. 65
vSphere Security
Before you begin, ensure that all nodes in your environment are time synchronized.
n PEM format. VMware supports PKCS8 and PKCS1 (RSA keys). When you add keys to VECS, they are
converted to PKCS8.
n x509 version 3
n CRT format
n Contains the following Key Usages: Digital Signature, Non-Repudiation, Key Encipherment.
n Client Authentication and Server Authentication cannot be present under Enhanced Key Usage.
If you do not generate CSRs using Certificate Manager, ensure that the CSR includes the following fields.
CN commonName
L localityName
ST stateOrProvinceName
O organizationName
OU organizationalUnitName
C countryName
STREET streetAddress
DC domainComponent
UID userid
If you generate CSRs using Certificate Manager, you are prompted for the following information, and
Certificate Manager adds the corresponding fields to the CSR file.
n The password of the [email protected] user, or for the administrator of the vCenter Single
Sign-On domain that you are connecting to.
n If you are generating a CSR in an environment with an external Platform Services Controller, you are
prompted for the host name or IP address of the Platform Services Controller.
66 VMware, Inc.
Chapter 3 vSphere Security Certificates
n Information that Certificate Manager stores in the certool.cfg file. For most fields, you can accept the
default or provide site-specific values. The FQDN of the machine is required.
n Company name
n Organization name
n Organization unit
n State
n Locality
n IP address (optional)
n Email
n Host name, that is, the fully qualified domain name of the machine for which you want to replace
the certificate. If the host name does not match the FQDN, certificate replacement does not
complete correctly and your environment might end up in an unstable state.
n IP address of Platform Services Controller if you are running the command on a vCenter Server
(management) node
VMware, Inc. 67
vSphere Security
Root certificate n You can use vSphere Certificate Manager to create the
CSR. See “Generate CSR with vSphere Certificate
Manager and Prepare Root Certificate (Intermediate
CA),” on page 88
n If you prefer to create the CSR manually, the certificate
that you send to be signed must meet the following
requirements.
Machine SSL certificate You can use vSphere Certificate Manager to create the CSR
or create the CSR manually.
If you create the CSR manually, it must meet the
requirements listed under Requirements for All Imported
Certificates above. You also have to specify the FQDN for
the host.
Solution user certificate You can use vSphere Certificate Manager to create the CSR
or create the CSR manually.
Note You must use a different value for Name for each
solution user. If you generate the certificate manually, this
might show up as CN under Subject, depending on the
tool you use.
If you use vSphere Certificate Manager, the tool prompts
you for certificate information for each solution user.
vSphere Certificate Manager stores the information in
certool.cfg. See Information that Certificate Manager
Prompts For.
68 VMware, Inc.
Chapter 3 vSphere Security Certificates
Machine SSL certificate The machine SSL certificate on each node must have a
separate certificate from your third-party or enterprise CA.
n You can generate the CSRs using vSphere Certificate
Manager or create the CSR manually. The CSR must
meet the requirements listed under Requirements for All
Imported Certificates above.
n If you use vSphere Certificate Manager, the tool
prompts you for certificate information for each
solution user. vSphere Certificate Manager stores the
information in certool.cfg. See Information that
Certificate Manager Prompts For.
n For most fields, you can accept the default or provide
site-specific values. The FQDN of the machine is
required.
Solution user certificate Each solution user on each node must have a separate
certificate from your third-party or enterprise CA.
n You can generate the CSRs using vSphere Certificate
Manager or prepare the CSR yourself. The CSR must
meet the requirements listed under Requirements for All
Imported Certificates above.
n If you use vSphere Certificate Manager, The tool
prompts you for certificate information for each
solution user. vSphere Certificate Manager stores the
information in certool.cfg. See Information that
Certificate Manager Prompts For.
Note You must use a different value for Name for
each solution user. If you generate the certificate
manually, this might show up as CN under Subject,
depending on the tool you use.
When later you replace solution user certificates with
custom certificates, provide the complete signing certificate
chain of the third-party CA.
Note Do not use CRL Distribution Points, Authority Information Access, or Certificate Template
Information in any custom certificates.
n Replace the VMCA root certificate with a CA-signed certificate. In this scenario, the VMCA certificate is
an intermediate certificate of this third-party CA. VMCA provisions vCenter Server components and
ESXi hosts with certificates that include the full certificate chain.
VMware, Inc. 69
vSphere Security
n If company policy does not allow intermediate certificates in the chain, you have to explicitly replace
certificates. You can use the vSphere Certificate Manager utility or perform manual certificate
replacement using the certificate management CLIs.
When upgrading an environment that uses custom certificates, you can retain some of the certificates.
n ESXi hosts keep their custom certificates during upgrade. Make sure that the vCenter Server upgrade
process adds all the relevant root certificate to the TRUSTED_ROOTS store in VECS on the
vCenter Server.
After the vCenter Server upgrade, administrators can set the certificate mode to Custom (see “Change
the Certificate Mode,” on page 173). If certificate mode is VMCA, the default, and the user performs a
certificate refresh from the vSphere Web Client, the VMCA-signed certificates replace the custom
certificates.
n For vCenter Server components, what happens depends on the existing environment.
n If you upgrade a multi-site deployment where vCenter Single Sign-On is on a different machine
than other vCenter Server components, the upgrade process creates a multi-node deployment that
includes a Platform Services Controller node and one or more management nodes.
In this scenario, the existing vCenter Server and vCenter Single Sign-On certificates are retained
and used as machine SSL certificates. VMCA assigns a VMCA-signed certificate to each solution
user (collection of vCenter services). A solution user uses this certificate only to authenticate to
vCenter Single Sign-On, so it might be unnecessary to replace solution user certificates.
You can no longer use the vSphere 5.5 certificate replacement tool, which was available for vSphere 5.5
installations, because the new architecture results in a different service distribution and placement. A
new command-line utility, vSphere Certificate Manager, is available for most certificate management
tasks.
vSphere Certificate Perform all common certificate replacement tasks from the command-line.
Manager utility
Certificate management Perform all certificate management tasks with dir-cli, certool, and vecs-
CLIs cli.
For ESXi, you perform certificate management from the vSphere Web Client. Certificates are provisioned by
VMCA and are stored only locally on the ESXi host, not in vmdir or VECS. See “Certificate Management for
ESXi Hosts,” on page 166.
n Certificates that are generated and signed by VMware Certificate Authority (VMCA).
n Custom certificates.
n Enterprise certificates that are generated from your own internal PKI.
70 VMware, Inc.
Chapter 3 vSphere Security Certificates
n Third-party CA-signed certificates that are generated by an external PKI such as Verisign,
GoDaddy, and so on.
Self-signed certificates that were created using OpenSSL in which no Root CA exists are not supported.
You can replace the default certificates. For vCenter Server components, you can use a set of command-line
tools included in your installation. You have several options.
VMCA
Signed
CA-Cert
Machine-Cert
VECS
Note If you perform a fresh install that includes an external Platform Services Controller, install the
Platform Services Controller first and replace the VMCA root certificate. Next, install other services or add
ESXi hosts to your environment. If you perform a fresh install with an embedded
Platform Services Controller, replace the VMCA root certificate before you add ESXi hosts. If you do, all
certificates are signed by the whole chain, and you do not have to generate new certificates.
VMware, Inc. 71
vSphere Security
Machine-Cert
VECS
VMware vSphere
VMCA
Signed
External CA Unused
(Commercial or
Enterprise)
Machine-Cert
VECS
Hybrid Deployment
You can have VMCA supply some of the certificates, but use custom certificates for other parts of your
infrastructure. For example, because solution user certificates are used only to authenticate to vCenter Single
Sign-On, consider having VMCA provision those certificates. Replace the machine SSL certificates with
custom certificates to secure all SSL traffic.
72 VMware, Inc.
Chapter 3 vSphere Security Certificates
VMware Certificate When you renew certificates from the vSphere Web Client, VMCA issues the
Authority mode (default) certificates for the hosts. If you changed the VMCA root certificate to include
a certificate chain, the host certificates include the full chain.
Custom Certificate Allows you to manually update and use certificates that are not signed or
Authority mode issued by VMCA.
Thumbprint mode Can be used to retain 5.5 certificates during refresh. Use this mode only
temporarily in debugging situations.
vCenter Single Sign-On SSL Provisioned during installation. Manage this certificate from the
signing certificate vSphere Web Client.
Do not change this certificate in the filesystem or
unpredictable behavior results.
VMware Directory Service Provisioned during installation. In certain corner cases, you might have to replace
(vmdir) SSL certificate this certificate. See “Replace the VMware
Directory Service Certificate,” on page 115.
ESXi
ESXi certificates are stored locally on each host in the /etc/vmware/ssl directory. ESXi certificates are
provisioned by VMCA by default, but you can use custom certificates instead. ESXi certificates are
provisioned when the host is first added to vCenter Server and when the host reconnects.
All services communicate through the reverse proxy. For compatibility, services that were available in earlier
versions of vSphere also use specific ports. For example, the vpxd service uses the MACHINE_SSL_CERT to
expose its endpoint.
Every node (embedded deployment, management node, or Platform Services Controller), has its own
machine SSL certificate. All services that are running on that node use this machine SSL certificate to expose
their SSL endpoints.
VMware, Inc. 73
vSphere Security
n By the reverse proxy service on each Platform Services Controller node. SSL connections to individual
vCenter services always go to the reverse proxy. Traffic does not go to the services themselves.
n By the VMware Directory Service (vmdir) on infrastructure nodes and embedded nodes.
VMware products use standard X.509 version 3 (X.509v3) certificates to encrypt session information that is
sent over SSL between components.
Solution user certificates are used for authentication tovCenter Single Sign-On. A solution user presents the
certificate to vCenter Single Sign-On when it first has to authenticate, after a reboot, and after a timeout has
elapsed. The timeout (Holder-of-Key Timeout) can be set from the vSphere Web Client and defaults to
2592000 seconds (30 days).
For example, the vpxd solution user presents its certificate to vCenter Single Sign-On when it connects to
vCenter Single Sign-On. The vpxd solution user receives a SAML token from vCenter Single Sign-On and
can then use that token to authenticate to other solution users and services.
The following solution user certificate stores are included in VECS on each management node and each
embedded deployment:
n machine: Used by component manager, license server, and the logging service.
Note The machine solution user certificate has nothing to do with the machine SSL certificate. The
machine solution user certificate is used for the SAML token exchange; the machine SSL certificate is
used for secure SSL connections for a machine.
n vpxd: vCenter service daemon (vpxd) store on management nodes and embedded deployments. vpxd
uses the solution user certificate that is stored in this store to authenticate to vCenter Single Sign-On.
n vpxd-extensions: vCenter extensions store. Includes the Auto Deploy service, inventory service, and
other services that are not part of other solution users.
n vsphere-webclient: vSphere Web Client store. Also includes some additional services such as the
performance chart service.
The machine store is also included on each Platform Services Controller node.
vCenter Single Sign-On The vCenter Single Sign-On service includes an identity provider service
Signing Certificate which issues SAML tokens that are used for authentication throughout
vSphere. A SAML token represents the user's identity, and also contains
group membership information. When vCenter Single Sign-On issues SAML
tokens, it signs each token with its signing certificate so that clients of
vCenter Single Sign-On can verify that the SAML token comes from a trusted
source.
74 VMware, Inc.
Chapter 3 vSphere Security Certificates
VMware Directory If you are using custom certificates, you might have to replace the VMware
Service SSL Certificate Directory Service SSL certificate explicitly. See “Replace the VMware
Directory Service Certificate,” on page 115.
VMware Directory Service Handles SAML certificate management for Platform Services Controller
(vmdir) authentication in conjunction with vCenter Embedded deployment
Single Sign-On.
VMware Certificate Authority Issues certificates for VMware solution users, Platform Services Controller
(VMCA) machine certificates for machines on which Embedded deployment
services are running, and ESXi host certificates.
VMCA can be used as is, or as an intermediary
certificate authority.
VMCA issues certificates only to clients that can
authenticate to vCenter Single Sign-On in the
same domain.
VMware Authentication Includes the VMware Endpoint Certificate Store Platform Services Controller
Framework Daemon (VMAFD) (VECS) and several other authentication services. vCenter Server
VMware administrators interact with VECS; the Embedded deployment
other services are used internally.
VECS runs as part of the VMware Authentication Framework Daemon (VMAFD). VECS runs on every
embedded deployment, Platform Services Controller node, and management node and holds the keystores
that contain the certificates and keys.
VECS polls VMware Directory Service (vmdir) periodically for updates to the TRUSTED_ROOTS store. You
can also explicitly manage certificates and keys in VECS using vecs-cli commands. See “vecs-cli Command
Reference,” on page 129.
VMware, Inc. 75
vSphere Security
Machine SSL store (MACHINE_SSL_CERT) n Used by the reverse proxy service on every vSphere
node.
n Used by the VMware Directory Service (vmdir) on
embedded deployments and on each
Platform Services Controller node.
All services in vSphere 6.0 communicate through a reverse
proxy, which uses the machine SSL certificate. For
backward compatibility, the 5.x services still use specific
ports. As a result, some services such as vpxd still have
their own port open.
Solution user stores VECS includes one store for each solution user. The subject
n machine of each solution user certificate must be unique, for
example, the machine certificate cannot have the same
n vpxd
subject as the vpxd certificate.
n vpxd-extensions
Solution user certificates are used for authentication with
n vsphere-webclient
vCenter Single Sign-On. vCenter Single Sign-On checks
that the certificate is valid, but does not check other
certificate attributes. In an embedded deployment, all
solution user certificates are on the same system.
The following solution user certificate stores are included
in VECS on each management node and each embedded
deployment:
n machine: Used by component manager, license server,
and the logging service.
Note The machine solution user certificate has
nothing to do with the machine SSL certificate. The
machine solution user certificate is used for the SAML
token exchange; the machine SSL certificate is used for
secure SSL connections for a machine.
n vpxd: vCenter service daemon (vpxd) store on
management nodes and embedded deployments. vpxd
uses the solution user certificate that is stored in this
store to authenticate to vCenter Single Sign-On.
n vpxd-extensions: vCenter extensions store. Includes
the Auto Deploy service, inventory service, and other
services that are not part of other solution users.
n vsphere-webclient: vSphere Web Client store. Also
includes some additional services such as the
performance chart service.
The machine store is also included on each
Platform Services Controller node.
vSphere Certificate Manager Utility backup store Used by VMCA (VMware Certificate Manager) to support
(BACKUP_STORE) certificate revert. Only the most recent state is stored as a
backup, you cannot go back more than one step.
Other stores Other stores might be added by solutions. For example, the
Virtual Volumes solution adds an SMS store. Do not
modify the certificates in those stores unless VMware
documentation or a VMware Knowledge Base artoc;e
instructs you to do so.
Note CRLS are not supported in vSphere 6.0
Nevertheless, deleting the TRUSTED_ROOTS_CRLS store
can damage your certificate infrastructure. Do not delete or
modify the TRUSTED_ROOTS_CRLS store.
76 VMware, Inc.
Chapter 3 vSphere Security Certificates
The vCenter Single Sign-On service stores the token signing certificate and its SSL certificate on disk. You
can change the token signing certificate from the vSphere Web Client.
Note Do not change any certificate files on disk unless instructed by VMware documentation or
Knowledge Base Articles. Unpredictable behavior might result otherwise.
Some certificates are stored on the filesystem, either temporarily during startup or permanently. Do not
change the certificates on the file system. Use vecs-cli to perform operations on certificates that are stored
in VECS.
vSphere 6.0 supports replacing certificates but does not enforce certificate revocation for ESXi hosts or for
vCenter Server systems.
Remove revoked certificates from all nodes. If you do not remove revoked certificates, a man-in-the-middle
attack might enable compromise through impersonation with the account's credentials.
vSphere Certificate You run vSphere Certificate Manager on each machine. On management
Manager nodes, you are prompted for the IP address of the
Platform Services Controller. Depending on the task you perform, you are
also prompted for certificate information.
Manual Certificate For manual certificate replacement, you run the certificate replacement
Replacement commands on each machine. On management nodes, you must specify the
Platform Services Controller with the --server parameter. See the following
topics for details:
VMware, Inc. 77
vSphere Security
Note When you list solution user certificates in large deployments, the output of dir-cli list includes all
solution users from all nodes. Run vmafd-cli get-machine-id --server-name localhost to find the local
machine ID for each host. Each solution user name includes the machine ID.
vSphere Certificate You run vSphere Certificate Manager on each machine. On management
Manager nodes, you are prompted for the IP address of the
Platform Services Controller. Depending on the task you perform, you are
also prompted for certificate information.
Manual Certificate 1 Generate or request a certificate. You need the following certificates:
Replacement
n A certificate for the machine solution user on the
Platform Services Controller.
If company policy requires that you replace all certificates, you also have to replace the VMware Directory
Service (vmdir) certificate on the Platform Services Controller. See “Replace the VMware Directory Service
Certificate,” on page 115.
78 VMware, Inc.
Chapter 3 vSphere Security Certificates
You can run the ls_update_certs script to resolve the issue. See VMware Knowledge Base article 2109074 for
details.
The Platform Services Controller web interface allows you to perform these management tasks.
n View the current certificate stores and add and remove certificate store entries.
n View the VMware Certificate Authority (VMCA) instance associated with this
Platform Services Controller.
Most parts of the certificate replacement workflows are supported fully from the
Platform Services Controller web interface. For generating CSRs, you can use the vSphere Certificate
Manage utility.
Supported Workflows
After you install a Platform Services Controller, the VMware Certificate Authority on that node provisions
all other nodes in the environment with certificates by default. You can use one of the following workflows
to renew or replace certificates.
Renew Certificates You can have VMCA generate a new root certificate and renew all certificates
in your environment from the Platform Services Controller web interface.
Make VMCA an You can generate a CSR using the vSphere Certificate Manager utility, edit
Intermediate CA the certificate you receive from the CSR to add VMCA to the chain, and then
add the certificate chain and private key to your environment. When you
then renew all certificates, VMCA provisions all machines and solution users
with certificates that are signed by the full chain.
Replace Certificates If you do not want to use VMCA, you can generate CSRs for the certificates
with Custom that you want to replace. The CA returns a root certificate and a signed
Certificates certificate for each CSR. You can upload the root certificate and the custom
certificates from the Platform Services Controller.
If you have to replace the VMware Directory Service (vmdir) root certificate, or if company policy requires
that you replace the vCenter Single Sign-On certificate in a mixed-mode environment, you can use CLI
commands to replace those certificates after replacing the other certificates. See “Replace the VMware
Directory Service Certificate,” on page 115 and “Replace the VMware Directory Service Certificate in Mixed
Mode Environments,” on page 105.
VMware, Inc. 79
vSphere Security
Explore Certificate Stores from the Platform Services Controller Web Interface
A VMware Endpoint Certificate Store (VECS) instance is included on each Platform Services Controller node
and each vCenter Server node. You can explore the different stores inside the VMware Endpoint Certificate
Store from the Platform Services Controller web interface.
See “VMware Endpoint Certificate Store Overview,” on page 75 for details on the different stores inside
VECS.
Prerequisites
For most management tasks, you must have the password for the administrator for the local domain
account, [email protected] or a different domain if you changed the domain during installation.
Procedure
1 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
2 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
4 Select the store inside the VMware Endpoint Certificate Store (VECS) that you want to explore from the
pulldown menu.
“VMware Endpoint Certificate Store Overview,” on page 75 explains what's in the individual stores.
5 To view details for a certificate, select the certificate and click the Show Details icon.
6 To delete an entry from the selected store, click the Delete Entry icon.
For example, if you replace the existing certificate, you can later remove the old root certificate. Remove
certificates only if you are sure that they are no longer in use.
Prerequisites
For certificate management, you have to supply the password of the administrator of the local domain
([email protected] by default). If you are renewing certificates for a vCenter Server system, you
also have to supply the vCenter Single Sign-On credentials for a user with administrator privileges on the
vCenter Server system.
Procedure
1 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
80 VMware, Inc.
Chapter 3 vSphere Security Certificates
2 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
3 Under Certificates, select Certificate Management and specify the IP address or host name for the
Platform Services Controller and the user name and password of the administrator of the local domain
([email protected] by default), and click Submit.
b Select the certificate, click Renew, and answer Yes to the prompt.
5 (Optional) Renew the solution user certificates for the local system.
b Select a certificate and click Renew to renew individual selected certificates, or click Renew All to
renew all solution user certificates.
6 If your environment includes an external Platform Services Controller, you can then renew the
certificates for each of the vCenter Server system.
a Click the Logout button in the Certificate Management panel.
b When prompted, specify the IP address or FQDN of the vCenter Server system and user name and
password of a vCenter Server administrator who can authenticate to vCenter Single Sign-On.
c Renew the machine SSL certificate on the vCenter Server and, optionally, each solution user
certificate.
d If you have multiple vCenter Server systems in your environment, repeat the process for each
system.
What to do next
Restart services on the Platform Services Controller. You can either restart the Platform Services Controller,
or run the following commands from the command line:
You can perform this setup by using the vSphere Certificate Manager utility, by using CLIs, or from the
Platform Services Controller web interface.
VMware, Inc. 81
vSphere Security
Prerequisites
1 Generate the CSR.
2 Edit the certificate that you receive, and place the current VMCA root certificate at the bottom.
“Generate CSR with vSphere Certificate Manager and Prepare Root Certificate (Intermediate CA),” on
page 88 explains both steps.
Procedure
1 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
2 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
3 To replace the existing certificate with the chained certificate, follow these steps:
a Under Certificates, click Certificate Authority and select the Root Certificate tab.
b Click Replace Certificate. add the private key file and the certificate file (full chain) and click OK.
c In the Replace Root Certificate dialog, click Browse and select the private key, click Browse again
and select the certificate, and click OK.
Going forward, VMCA signs all certificates that it issues with the new chained root certificate.
a Under Certificates, click Certificate Management and click the Machine Certificates tab.
b Select the certificate, click Renew, and answer Yes to the prompt.
VMCA replaces the machine SSL certificate with the certificate that is signed by the new CA.
5 (Optional) Renew the solution user certificates for the local system.
b Select a certificate and click Renew to renew individual selected certificates, or click Renew All to
replace all certificates and answer Yes to the prompt.
VMCA replaces the solution user certificate or all solution user certificates with certificates that are
signed by the new CA.
6 If your environment includes an external Platform Services Controller, you can then renew the
certificates for each of the vCenter Server system.
b When prompted, specify the IP address or FQDN of the vCenter Server system and user name and
password of a vCenter Server administrator who can authenticate to vCenter Single Sign-On.
c Renew the machine SSL certificate on the vCenter Server and, optionally, each solution user
certificate.
d If you have multiple vCenter Server systems in your environment, repeat the process for each
system.
82 VMware, Inc.
Chapter 3 vSphere Security Certificates
What to do next
Restart services on the Platform Services Controller. You can either restart the Platform Services Controller,
or run the following commands from the command line:
Set up Your System to Use Custom Certificates from the Platform Services
Controller
You can use the Platform Services Controller to set up your environment to use custom certificates.
You can generate Certificate Signing Requests (CSRs) for each machine and for each solution user using the
Certificate Manager utility. When you submit the CSRs to your internal or third-party CA, the CA returns
signed certificates and the root certificate. You can upload both the root certificate and the signed certificates
from the Platform Services Controller UI.
You can run the Certificate Manager tool from the command line as follows:
Linux /usr/lib/vmware-vmca/bin/certificate-manager
Prerequisites
vSphere Certificate Manager prompts you for information. The prompts depend on your environment and
on the type of certificate you want to replace.
n For any CSR generation, you are prompted for the password of the [email protected] user, or
for the administrator of the vCenter Single Sign-On domain that you are connecting to.
n If you are generating a CSR in an environment with an external Platform Services Controller, you are
prompted for the host name or IP address of the Platform Services Controller.
n To generate a CSR for a machine SSL certificate, you are prompted for certificate properties, which are
stored in the certool.cfg file. For most fields, you can accept the default or provide site-specific values.
The FQDN of the machine is required.
Procedure
1 On each machine in your environment, start vSphere Certificate Manager and select option 1.
2 Supply the password and the Platform Services Controller IP address or host name if prompted.
VMware, Inc. 83
vSphere Security
3 Select option 1 to generate the CSR, answer the prompts and exit Certificate Manager.
As part of the process, you have to provide a directory. Certificate Manager places the certificate and
key files in the directory.
4 If you also want to replace all solution user certificates, restart Certificate Manager.
5 Select option 5.
6 Supply the password and the Platform Services Controller IP address or host name if prompted.
7 Select option 1 to generate the CSRs, answer the prompts and exit Certificate Manager.
As part of the process, you have to provide a directory. Certificate Manager places the certificate and
key files in the directory.
On each Platform Services Controller node, Certificate Manager generates one certificate and key pair.
On each vCenter Server node, Certificate Manager generates four certificate and key pairs.
What to do next
Perform certificate replacement.
Prerequisites
Obtain the custom root certificate from your third-party or in-house CA.
Procedure
1 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
2 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
What to do next
Replace the Machine SSL certificates and, optionally, the Solution User certificates with certificates that are
signed by this CA.
84 VMware, Inc.
Chapter 3 vSphere Security Certificates
In most cases, replacing the machine SSL certificate for each component is sufficient. The solution user
certificate remains behind a proxy.
Prerequisites
Generate certificate signing requests (CSRs) for each certificate that you want to replace. You can generate
the CSRs with the Certificate Manager utility. Place the certificate and private key in a location that the
Platform Services Controller can access.
Procedure
1 From a Web browser, connect to the Platform Services Controller by specifying the following URL:
https://psc_hostname_or_IP/psc
In an embedded deployment, the Platform Services Controller host name or IP address is the same as
the vCenter Server host name or IP address.
2 Specify the user name and password for [email protected] or another member of the vCenter
Single Sign-On Administrators group.
3 Under Certificates, select Certificate Management and specify the IP address or host name for the
Platform Services Controller and the user name and password of the administrator of the local domain
([email protected] by default), and click Submit.
a Select the Machine Certificates tab and click the certificate that you want to replace.
b Click Replace, and click Browse to replace the certificate chain, then click Browse to replace the
private key.
a Select the Solution User Certificates tab and click the first of the four certificates for a component,
for example, machine.
b Click Replace, and click Browse to replace the certificate chain, then click Browse to replace the
private key.
c Repeat the process for the other three certificates for the same component.
VMware, Inc. 85
vSphere Security
What to do next
Restart services on the Platform Services Controller. You can either restart the Platform Services Controller,
or run the following commands from the command line:
If you use vSphere Certificate Manager, you are not responsible for placing the certificates in VECS
(VMware Endpoint Certificate Store) and you are not responsible for starting and stopping services.
Before you run vSphere Certificate Manager, be sure you understand the replacement process and procure
the certificates that you want to use.
Caution vSphere Certificate Manager supports one level of revert. If you run vSphere Certificate Manager
twice and notice that you unintentionally corrupted your environment, the tool cannot revert the first of the
two runs.
Linux /usr/lib/vmware-vmca/bin/certificate-manager
3 Regenerate a New VMCA Root Certificate and Replace All Certificates on page 87
You can regenerate the VMCA root certificate, and replace the local machine SSL certificate, and the
local solution user certificates with VMCA-signed certificates. In multi-node deployments, run
vSphere Certificate Manager with this option on the Platform Services Controller and then run the
utility again on all other nodes and select
Replace Machine SSL certificate with VMCA Certificate and
Replace Solution user certificates with VMCA certificates.
86 VMware, Inc.
Chapter 3 vSphere Security Certificates
Note The revert operation restores what is currently in the BACKUP_STORE. If you run vSphere
Certificate Manager with two different options and you then attempt to revert, only the last operation is
reverted.
When you use this option, you overwrite all custom certificates that are currently in VECS.
n On a Platform Services Controller node, vSphere Certificate Manager can regenerate the root certificate
and replace the machine SSL certificate and the machine solution user certificate.
n On a management node, vSphere Certificate Manager can replace the machine SSL certificate and all
solution user certificates.
When you run this command, vSphere Certificate Manager prompts you for the password and for certificate
information and stores all information, except for the password, in the certool.cfg file. After that, stopping
services, replacing all certificates, and restarting processes is automatic. You are prompted for the following
information:
n Company name
n Organization name
n Organization unit
n State
VMware, Inc. 87
vSphere Security
n Locality
n IP address (optional)
n Email
n Host name, that is, the fully qualified domain name of the machine for which you want to replace the
certificate
n IP address of Platform Services Controller if you are running the command on a management node
Prerequisites
You must know the FQDN of the machine for which you want to generate a new VMCA-signed certificate.
All other properties default to the predefined values. The IP address is optional.
What to do next
After replacing the root certificate in a multi-node deployment, you must restart services on all
vCenter Server with external Platform Services Controller nodes.
Generate CSR with vSphere Certificate Manager and Prepare Root Certificate
(Intermediate CA)
You can use vSphere Certificate Manager to generate Certificate Signing Requests (CSRs). Submit those
CSRs to your enterprise CA or to an external certificate authority for signing. You can use the signed
certificates with the different supported certificate replacement processes.
n If you prefer to create the CSR manually, the certificate that you send to be signed must meet the
following requirements.
n PEM format. VMware supports PKCS8 and PKCS1 (RSA keys). When keys are added to VECS,
they are converted to PKCS8
n x509 version 3
n If you are using custom certificates, the CA extension must be set to true for root certificates, and
cert sign must be in the list of requirements.
n Enhanced Key Usage must not contain Client Authentication or Server Authentication.
n No explicit limit to the length of the certificate chain. VMCA uses the OpenSSL default, which is 10
certificates.
n Certificates with wildcards or with more than one DNS name are not supported.
See VMware Knowledge Base Article 2112009, Creating a Microsoft Certificate Authority Template
for SSL certificate creation in vSphere 6.0, for an example using Microsoft Certificate Authority.
88 VMware, Inc.
Chapter 3 vSphere Security Certificates
Prerequisites
vSphere Certificate Manager prompts you for information. The prompts depend on your environment and
on the type of certificate that you want to replace.
For any CSR generation, you are prompted for the password of the [email protected] user, or for
the administrator of the vCenter Single Sign-On domain that you are connecting to.
Procedure
1 Start vSphere Certificate Manager and select Option 2.
Initially, you use this option to generate the CSR, not to replace certificates.
2 Supply the password and the Platform Services Controller IP address or host name if prompted.
As part of the process, you have to provide a directory. Certificate Manager places the certificate to be
signed (*.csr file) and the corresponding key file (*.key file) in the directory.
4 Send the certificate to the CA for signing to the enterprise or external CA and name the file
root_signing_cert.cer.
-----BEGIN CERTIFICATE-----
Signed VMCA root certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
CA intermediate certificates
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Root certificate of enterprise or external CA
-----END CERTIFICATE-----
What to do next
Replace the existing root certificate with the chained root certificate. See “Replace VMCA Root Certificate
with Custom Signing Certificate and Replace All Certificates,” on page 89.
Replace VMCA Root Certificate with Custom Signing Certificate and Replace All
Certificates
You can replace the VMCA root certificate with a CA-signed certificate that includes VMCA as an
intermediate certificate in the certificate chain. Going forward, all certificates that VMCA generates include
the full chain.
Prerequisites
n Generate the CSR.
n You can use vSphere Certificate Manager to create the CSR. See “Generate CSR with vSphere
Certificate Manager and Prepare Root Certificate (Intermediate CA),” on page 88
VMware, Inc. 89
vSphere Security
n If you prefer to create the CSR manually, the certificate that you send to be signed must meet the
following requirements:
n PEM format. VMware supports PKCS8 and PKCS1 (RSA keys). When keys are added to VECS,
they are converted to PKCS8
n x509 version 3
n If you are using custom certificates, the CA extension must be set to true for root certificates,
and cert sign must be in the list of requirements.
n Enhanced Key Usage must not contain Client Authentication or Server Authentication.
n No explicit limit to the length of the certificate chain. VMCA uses the OpenSSL default, which
is 10 certificates.
n Certificates with wildcards or with more than one DNS name are not supported.
See VMware Knowledge Base Article 2112009, Creating a Microsoft Certificate Authority
Template for SSL certificate creation in vSphere 6.0, for an example using Microsoft Certificate
Authority.
n After you receive the certificate from your third-party or enterprise CA, combine it with the initial
VMCA root certificate to generate a full chain with the VMCA root certificate at the bottom. See
“Generate CSR with vSphere Certificate Manager and Prepare Root Certificate (Intermediate CA),” on
page 88.
Procedure
1 Start vSphere Certificate Manager on an embedded installation or on an external
Platform Services Controller and select option 2.
2 Select option 2 to start certificate replacement and respond to the prompts.
b If you are replacing certificates for the first time, you are prompted for information to be used for
the machine SSL certificate.
This information includes the required FQDN of the machine and is stored in the certool.cfg file.
3 If you replace the root certificate in a multi-node deployment, you must restart services on all
vCenter Server.
4 In multi-node deployments, regenerate all certificates on each vCenter Server instances by using
options 3 (Replace Machine SSL certificate with VMCA Certificate) and 6 ( Replace Solution user
certificates with VMCA certificates).
When you replace the certificates, VMCA signs with the full chain.
90 VMware, Inc.
Chapter 3 vSphere Security Certificates
What to do next
Depending on your environment, you might have to replace additional certificates explicitly.
n If company policy requires that you replace all certificates, replace the vmdir root certificate. See
“Replace the VMware Directory Service Certificate,” on page 115
n If you are upgrading from a vSphere 5.x environment, you might have to replace the vCenter Single
Sign-On certificate inside vmdir. See “Replace the VMware Directory Service Certificate in Mixed Mode
Environments,” on page 105
When you replace the existing machine SSL certificate with a new VMCA-signed certificate, vSphere
Certificate Manager prompts you for information and enters all values, except for the password and the IP
address of the Platform Services Controller, into the certool.cfg file.
n Company name
n Organization name
n Organization unit
n State
n Locality
n IP address (optional)
n Email
n Host name, that is, the fully qualified domain name of the machine for which you want to replace the
certificate. If the host name does not match the FQDN, certificate replacement does not complete
correctly and your environment might end up in an unstable state.
n IP address of Platform Services Controller if you are running the command on a management node
Prerequisites
n Restart all vCenter Server nodes explicitly if you replaced the VMCA root certificate in a multi-node
deployment.
n You must know the following information to run Certificate Manager with this option.
n Password for [email protected].
n The FQDN of the machine for which you want to generate a new VMCA-signed certificate. All
other properties default to the predefined values but can be changed.
n Host name or IP address of the Platform Services Controller if you are running on a vCenter Server
system with an external Platform Services Controller.
Procedure
1 Start vSphere Certificate Manager and select option 3.
VMware, Inc. 91
vSphere Security
Prerequisites
n Restart all vCenter Server nodes explicitly if you replaced the VMCA root certificate in a multi-node
deployment.
n You must know the following information to run Certificate Manager with this option.
n Password for [email protected].
n Host name or IP address of the Platform Services Controller if you are running on a vCenter Server
system with an external Platform Services Controller.
Procedure
1 Start vSphere Certificate Manager and select option 6.
One option is to only replace the machine SSL certificate, and to use the solution user certificates that are
provisioned by VMCA. Solution user certificates are used only for communication between vSphere
Components.
When you use custom certificates, you are responsible for provisioning each node that you add to your
environment with custom certificates. VMCA still provisions with VMCA-signed certificates, and you are
responsible for replacing those certificates. You can use the vSphere Certificate Manager utility or use CLIs
for manual certificate replacement. Certificates are stored in VECS.
You can run the Certificate Manager tool from the command line as follows:
Windows C:\Program Files\VMware\vCenter Server\vmcad\certificate-manager.bat
Linux /usr/lib/vmware-vmca/bin/certificate-manager
Prerequisites
vSphere Certificate Manager prompts you for information. The prompts depend on your environment and
on the type of certificate you want to replace.
n For any CSR generation, you are prompted for the password of the [email protected] user, or
for the administrator of the vCenter Single Sign-On domain that you are connecting to.
92 VMware, Inc.
Chapter 3 vSphere Security Certificates
n If you are generating a CSR in an environment with an external Platform Services Controller, you are
prompted for the host name or IP address of the Platform Services Controller.
n To generate a CSR for a machine SSL certificate, you are prompted for certificate properties, which are
stored in the certool.cfg file. For most fields, you can accept the default or provide site-specific values.
The FQDN of the machine is required.
Procedure
1 On each machine in your environment, start vSphere Certificate Manager and select option 1.
2 Supply the password and the Platform Services Controller IP address or host name if prompted.
3 Select option 1 to generate the CSR, answer the prompts and exit Certificate Manager.
As part of the process, you have to provide a directory. Certificate Manager places the certificate and
key files in the directory.
4 If you also want to replace all solution user certificates, restart Certificate Manager.
5 Select option 5.
6 Supply the password and the Platform Services Controller IP address or host name if prompted.
7 Select option 1 to generate the CSRs, answer the prompts and exit Certificate Manager.
As part of the process, you have to provide a directory. Certificate Manager places the certificate and
key files in the directory.
On each Platform Services Controller node, Certificate Manager generates one certificate and key pair.
On each vCenter Server node, Certificate Manager generates four certificate and key pairs.
What to do next
Perform certificate replacement.
Prerequisites
Before you start, you need a CSR for each machine in your environment. You can generate the CSR using
vSphere Certificate Manager or explicitly.
1 To generate the CSR using vSphere Certificate Manager, see “Generate Certificate Signing Requests
with vSphere Certificate Manager (Custom Certificates),” on page 92.
2 To generate the CSR explicitly, request a certificate for each machine from your third-party or enterprise
CA. The certificate must meet the following requirements:
n CRT format
n x509 version 3
n Contains the following Key Usages: Digital Signature, Non Repudiation, Key Encipherment
See also VMware Knowledge Base article 2112014, Obtaining vSphere certificates from a Microsoft
Certificate Authority.
VMware, Inc. 93
vSphere Security
Procedure
1 Start vSphere Certificate Manager and select option 1.
n Valid signing certificate for the custom machine SSL certificate (.crt file).
n If you are running the command on a management node in a multi-node deployment, IP address of
the Platform Services Controller.
What to do next
Depending on your environment, you might have to replace additional certificates explicitly.
n If company policy requires that you replace all certificates, replace the vmdir root certificate. See
“Replace the VMware Directory Service Certificate,” on page 115
n If you are upgrading from a vSphere 5.x environment, you might have to replace the vCenter Single
Sign-On certificate inside vmdir. See “Replace the VMware Directory Service Certificate in Mixed Mode
Environments,” on page 105
When you are prompted for a solution user certificate, provide the complete signing certificate chain of the
third-party CA.
-----BEGIN CERTIFICATE-----
Signing certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
CA intermediate certificates
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Root certificate of enterprise or external CA
-----END CERTIFICATE-----
Prerequisites
Before you start, you need a CSR for each machine in your environment. You can generate the CSR using
vSphere Certificate Manager or explicitly.
1 To generate the CSR using vSphere Certificate Manager, see “Generate Certificate Signing Requests
with vSphere Certificate Manager (Custom Certificates),” on page 92.
94 VMware, Inc.
Chapter 3 vSphere Security Certificates
2 Request a certificate for each solution user on each node from your third-party or enterprise CA. You
can generate the CSR using vSphere Certificate Manager or prepare it yourself. The CSR must meet the
following requirements:
n Key size: 2048 bits or more (PEM encoded)
n CRT format
n x509 version 3
n Each solution user certificate must have a different Subject. Consider, for example, including the
solution user name (such as vpxd) or other unique identifier.
n Contains the following Key Usages: Digital Signature, Non Repudiation, Key Encipherment
See also VMware Knowledge Base article 2112014, Obtaining vSphere certificates from a Microsoft
Certificate Authority.
Procedure
1 Start vSphere Certificate Manager and select option 5.
n If you run vSphere Certificate Manager on a Platform Services Controller node, you are prompted
for the certificate and key (vpxd.crt and vpxd.key) for the machine solution user.
n If you run vSphere Certificate Manager on a management node or an embedded deployment, you
are prompted for the full set of certificates and keys (vpxd.crt and vpxd.key) for all solution users.
What to do next
If you are upgrading from a vSphere 5.x environment, you might have to replace the vCenter Single Sign-On
certificate inside vmdir. See “Replace the VMware Directory Service Certificate in Mixed Mode
Environments,” on page 105.
n If you are the only administrator, you do not have to stop services when you add a new root certificate.
The old root certificate remains available, and all services can still authenticate with that certificate. Stop
and immediately restart all services after you add the root certificate to avoid problems with your hosts.
n If your environment includes multiple administrators, stop services before you add a new root
certificate and restart services after you add a new certificate.
VMware, Inc. 95
vSphere Security
Use the vSphere Certificate Manager utility to replace certificates for most cases.
If you need fine-grained control, this scenario gives detailed step-by-step instructions for replacing the
complete set of certificates using CLI commands. You can instead replace only individual certificates using
the procedure in the corresponding task.
Prerequisites
Only [email protected] or other users in the CAAdmins group can perform certificate
management tasks. See “Add Members to a vCenter Single Sign-On Group,” on page 58.
Procedure
1 Generate a New VMCA-Signed Root Certificate on page 96
You generate new VMCA-signed certificates with the certool CLI and publish them to vmdir.
3 Replace Solution User Certificates With New VMCA-Signed Certificates on page 101
After you replace the machine SSL certificates, you can replace all solution user certificates. Solution
user certificates must be valid, that is, not expired, but none of the other information in the certificate is
used by the certificate infrastructure.
4 Replace the VMware Directory Service Certificate in Mixed Mode Environments on page 105
During upgrade, your environment might temporarily include both vCenter Single Sign-On version
5.5 and vCenter Single Sign-On version 6.x. For that case, you have to perform additional steps to
replace the VMware Directory Service SSL certificate if you replace the SSL certificate of the node on
which the vCenter Single Sign-On service is running.
Procedure
1 Generate a new self-signed certificate and private key.
The command generates the certificate, adds it to vmdir, and adds it to VECS.
96 VMware, Inc.
Chapter 3 vSphere Security Certificates
3 Stop all services and start the services that handle certificate creation, propagation, and storage.
The service names differ on Windows and the vCenter Server Appliance.
Windows service-control --stop --all
service-control --start VMWareAfdService
service-control --start VMWareDirectoryService
service-control --start VMWareCertificateService
When you run this command, all instances of vmdir are updated immediately. Otherwise, propagation
to all instances might take a while.
output:
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
cf:2d:ff:49:88:50:e5:af
...
2 (Optional) List the VECS TRUSTED_ROOTS store and compare the certificate serial number there with
the output from Step 1.
This command works on both Platform Services Controller and management nodes because VECS polls
vmdir.
In the simplest case with only one root certificate, the output looks like this:
VMware, Inc. 97
vSphere Security
Data:
Version: 3 (0x2)
Serial Number:
cf:2d:ff:49:88:50:e5:af
3 Generate a new VMCA root certificate. The certificate is added to the TRUSTED_ROOTS store in VECS
and in vmdir (VMware Directory Service).
On Windows, --config is optional because the command uses the default certool.cfg file.
Each machine must have a machine SSL certificate for secure communication with other services. In a multi-
node deployment, you must run the Machine SSL certificate generation commands on each node. Use the --
server parameter to point to the Platform Services Controller from a vCenter Server with external
Platform Services Controller.
Prerequisites
Be prepared to stop all services and start the services that handle certificate propagation and storage.
Procedure
1 Make one copy of certool.cfg for each machine that needs a new certificate.
OS Path
Windows C:\Program Files\VMware\vCenter Server\vmcad
Linux /usr/lib/vmware-vmca/share/config/
2 Edit the custom configuration file for each machine to include that machine's FDQN.
Run NSLookup against the machine’s IP address to see the DNS listing of the name, and use that name for
the Hostname field in the file.
3 Generate a public/private key file pair and a certificate for each file, passing in the configuration file that
you just customized.
For example:
98 VMware, Inc.
Chapter 3 vSphere Security Certificates
4 Stop all services and start the services that handle certificate creation, propagation, and storage.
The service names differ on Windows and the vCenter Server Appliance.
All machines need the new certificate in the local certificate store to communicate over SSL. You first
delete the existing entry, then add the new entry.
Country = US
Name = vmca-<PSC-FQDN-example>
Organization = <my_company>
OrgUnit = <my_company Engineering>
State = <my_state>
Locality = <mytown>
Hostname = <FQDN>
2 Generate a key pair for the machine SSL certificate. Run this command on each management node and
Platform Services Controller node; it does not require a --server option.
The ssl-key.priv and ssl-key.pub files are created in the current directory.
3 Generate the new machine SSL certificate. This certificate is signed by VMCA. If you replaced the
VMCA root certificate with custom certificate, VMCA signs all certificates with the full chain.
VMware, Inc. 99
vSphere Security
MACHINE_SSL_CERT
TRUSTED_ROOTS
TRUSTED_ROOT_CRLS
machine
5 Replace the Machine SSL certificate in VECS with the new Machine SSL certificate. The --store and --
alias values have to exactly match with the default names.
n On the Platform Services Controller, run the following command to update the Machine SSL
certificate in the MACHINE_SSL_CERT store.
n On each management node or embedded deployment, run the following command to update the
Machine SSL certificate in the MACHINE_SSL_CERT store. You must update the certificate for
each machine separately because each has a different FQDN.
What to do next
You can also replace the certificates for your ESXi hosts. See the vSphere Security publication.
After replacing the root certificate in a multi-node deployment, you must restart services on all
vCenter Server with external Platform Services Controller nodes.
You replace the machine solution user certificate on each management node and on each
Platform Services Controller node. You replace the other solution user certificates only on each management
node. Use the --server parameter to point to the Platform Services Controller when you run commands on
a management node with an external Platform Services Controller.
Note When you list solution user certificates in large deployments, the output of dir-cli list includes all
solution users from all nodes. Run vmafd-cli get-machine-id --server-name localhost to find the local
machine ID for each host. Each solution user name includes the machine ID.
Prerequisites
Be prepared to stop all services and start the services that handle certificate propagation and storage.
Procedure
1 Make one copy of certool.cfg, remove the Name, IP address, DNS name, and email fields, and rename
the file, for example, to sol_usr.cfg.
You can name the certificates from the command line as part of generation. The other information is not
needed for solution users. If you leave the default information, the certificates that are generated are
potentially confusing.
2 Generate a public/private key file pair and a certificate for each solution user, passing in the
configuration file that you just customized.
For example:
You can use the unique ID that is returned when you replace the certificates. The input and output
might look as follows.
When you list solution user certificates in multi-node deployments, the output of dir-cli list includes
all solution users from all nodes. Run vmafd-cli get-machine-id --server-name localhost to find the
local machine ID for each host. Each solution user name includes the machine ID.
4 Stop all services and start the services that handle certificate creation, propagation, and storage.
The service names differ on Windows and the vCenter Server Appliance.
5 For each solution user, replace the existing certificate in vmdir and then in VECS.
The following example shows how to replace the certificates for the vpxd service.
Note Solution users cannot authenticate to vCenter Single Sign-On if you do not replace the certificate
in vmdir.
a Generate a key pair for the machine solution user of an embedded deployment or for the machine
solution user of the Platform Services Controller.
b (Optional) For deployments with an external Platform Services Controller, generate a key pair for
the machine solution user on each management node.
c Generate a key pair for the vpxd solution user on each management node.
d Generate a key pair for the vpxd-extension solution user on each management node.
e Generate a key pair for the vsphere-webclient solution user on each management node.
2 Generate solution user certificates that are signed by the new VMCA root certificate for the machine
solution user on each Platform Services Controller and each management node and for each additional
solution user (vpxd, vpxd-extension, vsphere-webclient) on each management node.
Note The --Name parameter has to be unique. Including the name of the solution user store, for
example vpxd or vpxd-extension makes it easy to see which certificate maps to which solution user.
a Run the following command on the Platform Services Controller node to generate a solution user
certificate for the machine solution user on that node.
b Generate a certificate for the machine solution user on each management node.
c Generate a certificate for the vpxd solution user on each management node.
d Generate a certificate for the vpxd-extensions solution user on each management node.
e Generate a certificate for the vsphere-webclient solution user on each management node by
running the following command.
3 Replace the solution user certificates in VECS with the new solution user certificates.
Note The --store and --alias parameters have to exactly match the default names for services.
a On the Platform Services Controller node, run the following command to replace the machine
solution user certificate:
4 Update VMware Directory Service (vmdir) with the new solution user certificates. You are prompted
for a vCenter Single Sign-On administrator password.
a Run dir-cli service list to get the unique service ID suffix for each solution user. You can run
this command on a Platform Services Controller or a vCenter Server system.
Note When you list solution user certificates in large deployments, the output of dir-cli list
includes all solution users from all nodes. Run vmafd-cli get-machine-id --server-name
localhost to find the local machine ID for each host. Each solution user name includes the machine
ID.
b Replace the machine certificate in vmdir on the Platform Services Controller. For example, if
machine-29a45d00-60a7-11e4-96ff-00505689639a is the machine solution user on the
Platform Services Controller, run this command:
c Replace the machine certificate in vmdir on each management node. For example, if
machine-6fd7f140-60a9-11e4-9e28-005056895a69 is the machine solution user on the vCenter Server,
run this command:
d Replace the vpxd solution user certificate in vmdir on each management node. For example, if
vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 is the vpxd solution user ID, run this command:
e Replace the vpxd-extension solution user certificate in vmdir on each management node. For
example, if vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 is the vpxd-extension solution
user ID, run this command:
f Replace the vsphere-webclient solution user certificate on each management node. For example, if
vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 is the vsphere-webclient solution user
ID, run this command:
What to do next
Restart all services on each Platform Services Controller node and each management node.
The VMware Directory Service SSL certificate is used by vmdir to perform handshakes between
Platform Services Controller nodes that perform vCenter Single Sign-On replication.
These steps are not required for a mixed mode environment that includes vSphere 6.0 and vSphere 6.5
nodes. These steps are required only if:
n Your environment includes both vCenter Single Sign-On 5.5 and vCenter Single Sign-On 6.x services.
n The vCenter Single Sign-On services are set up to replicate vmdir data.
n You plan to replace the default VMCA-signed certificates with custom certificates for the node on which
the vCenter Single Sign-On 6.x service runs.
Note Upgrading the complete environment before restarting the services is best practice. Replacing the
VMware Directory Service certificate is not usually recommended.
Procedure
1 On the node on which the vCenter Single Sign-On 6.x service runs, replace the vmdird SSL certificate
and key.
2 On the node on which the vCenter Single Sign-On 5.5 service runs, set up the environment so the
vCenter Single Sign-On 6.x service is known.
a Back up all files C:\ProgramData\VMware\CIS\cfg\vmdird.
b Make a copy of the vmdircert.pem file on the 6.x node, and rename it to
<sso_node2.domain.com>.pem, where <sso_node2.domain.com> is the FQDN of the 6.x node.
3 Restart the VMware Directory Service on all machines where you replaced certificates.
You can restart the service from the vSphere Web Client or use the service-control command.
Procedure
1 Replace the Root Certificate (Intermediate CA) on page 106
The first step in replacing the VMCA certificates with custom certificates is generating a CSR and
adding the certificate that is returned to VMCA as a root certificate.
5 Replace the VMware Directory Service Certificate in Mixed Mode Environments on page 115
During upgrade, your environment might temporarily include both vCenter Single Sign-On version
5.5 and vCenter Single Sign-On version 6.x. For that case, you have to perform additional steps to
replace the VMware Directory Service SSL certificate if you replace the SSL certificate of the node on
which the vCenter Single Sign-On service is running.
The certificate that you send to be signed must meet the following requirements:
n PEM format. VMware supports PKCS8 and PKCS1 (RSA keys). When keys are added to VECS, they are
converted to PKCS8
n x509 version 3
n If you are using custom certificates, the CA extension must be set to true for root certificates, and cert
sign must be in the list of requirements.
n Enhanced Key Usage must not contain Client Authentication or Server Authentication.
n No explicit limit to the length of the certificate chain. VMCA uses the OpenSSL default, which is 10
certificates.
n Certificates with wildcards or with more than one DNS name are not supported.
See VMware Knowledge Base Article 2112009, Creating a Microsoft Certificate Authority Template for
SSL certificate creation in vSphere 6.0, for an example using Microsoft Certificate Authority.
VMCA validates the following certificate attributes when you replace the root certificate:
Procedure
1 Generate a CSR and send it to your CA.
2 Prepare a certificate file that includes the signed VMCA certificate along with the full CA chain of your
third party CA or enterprise CA, and save the file, for example, as rootca1.crt.
You can accomplish this by copying all CA certificates in PEM format into a single file. You have to start
with the VMCA certificate root and end with the root CA PEM certificate. For example:
-----BEGIN CERTIFICATE-----
<Certificate of VMCA>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<Certificate of intermediary CA>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<Certificate of Root CA>
-----END CERTIFICATE-----
3 Stop all services and start the services that handle certificate creation, propagation, and storage.
The service names differ on Windows and the vCenter Server Appliance.
n Adds the new custom root certificate to the certificate location in the file system.
n Appends the custom root certificate to the TRUSTED_ROOTS store in VECS (after a delay).
5 (Optional) To propagate the change to all instances of vmdir (VMware Directory Service), publish the
new root certificate to vmdir, supplying the full file path for each file.
For example:
Replication between vmdir nodes happens every 30 seconds. You do not have to add the root certificate
to VECS explicitly because VECS polls vmdir for new root certificate files every 5 minutes.
vecs-cli force-refresh
n Adds the new custom root certificate to the certificate location in the file system.
What to do next
You can remove the original VMCA root certificate from the certificate store if company policy requires it. If
you do, you have to refresh these internal certificates:
n Replace the vCenter Single Sign-On Signing certificate. See “Refresh the Security Token Service
Certificate,” on page 50.
n Replace the VMware Directory Service certificate. See “Replace the VMware Directory Service
Certificate,” on page 115.
These steps are essentially the same as the steps for replacing with a certificate that uses VMCA as the
certificate authority. However, in this case, VMCA signs all certificates with the full chain.
Each machine must have a machine SSL certificate for secure communication with other services. In a multi-
node deployment, you must run the Machine SSL certificate generation commands on each node. Use the --
server parameter to point to the Platform Services Controller from a vCenter Server with external
Platform Services Controller.
Prerequisites
For each machine SSL certificate, the SubjectAltName must contain DNS Name=<Machine FQDN>.
Procedure
1 Make one copy of certool.cfg for each machine that needs a new certificate.
Linux /usr/lib/vmware-vmca/share/config/
2 Edit the custom configuration file for each machine to include that machine's FDQN.
Run NSLookup against the machine’s IP address to see the DNS listing of the name, and use that name for
the Hostname field in the file.
3 Generate a public/private key file pair and a certificate for each machine, passing in the configuration
file that you just customized.
For example:
4 Stop all services and start the services that handle certificate creation, propagation, and storage.
The service names differ on Windows and the vCenter Server Appliance.
All machines need the new certificate in the local certificate store to communicate over SSL. You first
delete the existing entry, then add the new entry.
Country = US
Name = vmca-<PSC-FQDN-example>
Organization = VMware
OrgUnit = VMware Engineering
State = California
Locality = Palo Alto
Hostname = <FQDN>
2 Generate a key pair for the machine SSL certificate. Run this command on each management node and
Platform Services Controller node; it does not require a --server option.
The ssl-key.priv and ssl-key.pub files are created in the current directory.
3 Generate the new machine SSL certificate. This certificate is signed by VMCA. If you replaced the
VMCA root certificate with custom certificate, VMCA signs all certificates with the full chain.
MACHINE_SSL_CERT
TRUSTED_ROOTS
TRUSTED_ROOT_CRLS
machine
5 Replace the Machine SSL certificate in VECS with the new Machine SSL certificate. The --store and --
alias values have to exactly match with the default names.
n On the Platform Services Controller, run the following command to update the Machine SSL
certificate in the MACHINE_SSL_CERT store.
n On each management node or embedded deployment, run the following command to update the
Machine SSL certificate in the MACHINE_SSL_CERT store. You must update the certificate for
each machine separately because each has a different FQDN.
What to do next
You can also replace the certificates for your ESXi hosts. See the vSphere Security publication.
After replacing the root certificate in a multi-node deployment, you must restart services on all
vCenter Server with external Platform Services Controller nodes.
You replace the machine solution user certificate on each management node and on each
Platform Services Controller node. You replace the other solution user certificates only on each management
node. Use the --server parameter to point to the Platform Services Controller when you run commands on
a management node with an external Platform Services Controller.
Note When you list solution user certificates in large deployments, the output of dir-cli list includes all
solution users from all nodes. Run vmafd-cli get-machine-id --server-name localhost to find the local
machine ID for each host. Each solution user name includes the machine ID.
Prerequisites
Each solution user certificate must have a different Subject. Consider, for example, including the solution
user name (such as vpxd) or other unique identifier.
Procedure
1 Make one copy of certool.cfg, remove the Name, IP address, DNS name, and email fields, and rename
the file, for example, to sol_usr.cfg.
You can name the certificates from the command line as part of generation. The other information is not
needed for solution users. If you leave the default information, the certificates that are generated are
potentially confusing.
2 Generate a public/private key file pair and a certificate for each solution user, passing in the
configuration file that you just customized.
For example:
You can use the unique ID that is returned when you replace the certificates. The input and output
might look as follows.
When you list solution user certificates in multi-node deployments, the output of dir-cli list includes
all solution users from all nodes. Run vmafd-cli get-machine-id --server-name localhost to find the
local machine ID for each host. Each solution user name includes the machine ID.
4 Stop all services and start the services that handle certificate creation, propagation, and storage.
The service names differ on Windows and the vCenter Server Appliance.
For solution users, you must add the certificates in that order. For example:
Note Solution users cannot log in to vCenter Single Sign-On if you don't replace the certificate in
vmdir.
a Generate a key pair for the machine solution user of an embedded deployment or for the machine
solution user of the Platform Services Controller.
b (Optional) For deployments with an external Platform Services Controller, generate a key pair for
the machine solution user on each management node.
c Generate a key pair for the vpxd solution user on each management node.
d Generate a key pair for the vpxd-extension solution user on each management node.
e Generate a key pair for the vsphere-webclient solution user on each management node.
2 Generate solution user certificates that are signed by the new VMCA root certificate for the machine
solution user on each Platform Services Controller and each management node and for each additional
solution user (vpxd, vpxd-extension, vsphere-webclient) on each management node.
Note The --Name parameter has to be unique. Including the name of the solution user store, for
example vpxd or vpxd-extension makes it easy to see which certificate maps to which solution user.
a Run the following command on the Platform Services Controller node to generate a solution user
certificate for the machine solution user on that node.
b Generate a certificate for the machine solution user on each management node.
c Generate a certificate for the vpxd solution user on each management node.
d Generate a certificate for the vpxd-extensions solution user on each management node.
e Generate a certificate for the vsphere-webclient solution user on each management node by
running the following command.
3 Replace the solution user certificates in VECS with the new solution user certificates.
Note The --store and --alias parameters have to exactly match the default names for services.
a On the Platform Services Controller node, run the following command to replace the machine
solution user certificate:
4 Update VMware Directory Service (vmdir) with the new solution user certificates. You are prompted
for a vCenter Single Sign-On administrator password.
a Run dir-cli service list to get the unique service ID suffix for each solution user. You can run
this command on a Platform Services Controller or a vCenter Server system.
Note When you list solution user certificates in large deployments, the output of dir-cli list
includes all solution users from all nodes. Run vmafd-cli get-machine-id --server-name
localhost to find the local machine ID for each host. Each solution user name includes the machine
ID.
b Replace the machine certificate in vmdir on the Platform Services Controller. For example, if
machine-29a45d00-60a7-11e4-96ff-00505689639a is the machine solution user on the
Platform Services Controller, run this command:
c Replace the machine certificate in vmdir on each management node. For example, if
machine-6fd7f140-60a9-11e4-9e28-005056895a69 is the machine solution user on the vCenter Server,
run this command:
d Replace the vpxd solution user certificate in vmdir on each management node. For example, if
vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 is the vpxd solution user ID, run this command:
e Replace the vpxd-extension solution user certificate in vmdir on each management node. For
example, if vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 is the vpxd-extension solution
user ID, run this command:
f Replace the vsphere-webclient solution user certificate on each management node. For example, if
vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 is the vsphere-webclient solution user
ID, run this command:
If you unpublish the VMCA root certificate, you must replace the SSL Signing Certificate that is used by
vCenter Single Sign-On. See “Refresh the Security Token Service Certificate,” on page 50. You must also
replace the VMware Directory Service (vmdir) certificate.
Prerequisites
Request a certificate for vmdir for your third-party or enterprise CA.
Procedure
1 Stop vmdir.
2 Copy the certificate and key that you just generated to the vmdir location.
3 Restart vmdir from the vSphere Web Client or using the service-control command.
The VMware Directory Service SSL certificate is used by vmdir to perform handshakes between
Platform Services Controller nodes that perform vCenter Single Sign-On replication.
These steps are not required for a mixed mode environment that includes vSphere 6.0 and vSphere 6.5
nodes. These steps are required only if:
n Your environment includes both vCenter Single Sign-On 5.5 and vCenter Single Sign-On 6.x services.
n The vCenter Single Sign-On services are set up to replicate vmdir data.
n You plan to replace the default VMCA-signed certificates with custom certificates for the node on which
the vCenter Single Sign-On 6.x service runs.
Note Upgrading the complete environment before restarting the services is best practice. Replacing the
VMware Directory Service certificate is not usually recommended.
Procedure
1 On the node on which the vCenter Single Sign-On 6.x service runs, replace the vmdird SSL certificate
and key.
2 On the node on which the vCenter Single Sign-On 5.5 service runs, set up the environment so the
vCenter Single Sign-On 6.x service is known.
b Make a copy of the vmdircert.pem file on the 6.x node, and rename it to
<sso_node2.domain.com>.pem, where <sso_node2.domain.com> is the FQDN of the 6.x node.
3 Restart the VMware Directory Service on all machines where you replaced certificates.
You can restart the service from the vSphere Web Client or use the service-control command.
You can replace all certificates or use a hybrid solution. For example, consider replacing all certificates that
are used for network traffic but leaving VMCA-signed solution user certificates. Solution user certificates are
used only for authentication to vCenter Single Sign-On, in place.
Note If you do not want to use VMCA, you are responsible for replacing all certificates yourself, for
provisioning new components with certificates, and for keeping track of certificate expiration.
Procedure
1 Request Certificates and Import a Custom Root Certificate on page 117
If company policy does not allow an intermediate CA, VMCA cannot generate the certificates for you.
You use custom certificates from an enterprise or third-party CA.
5 Replace the VMware Directory Service Certificate in Mixed Mode Environments on page 122
During upgrade, your environment might temporarily include both vCenter Single Sign-On version
5.5 and vCenter Single Sign-On version 6.x. For that case, you have to perform additional steps to
replace the VMware Directory Service SSL certificate if you replace the SSL certificate of the node on
which the vCenter Single Sign-On service is running.
Prerequisites
The certificate must meet the following requirements:
n PEM format. VMware supports PKCS8 and PKCS1 (RSA keys). When keys are added to VECS, they are
converted to PKCS8
n x509 version 3
n For root certificates, the CA extension must be set to true, and the cert sign must be in the list of
requirements.
n CRT format
n Contains the following Key Usages: Digital Signature, Non Repudiation, Key Encipherment
n CN (and SubjectAltName) set to the host name (or IP address) that the ESXi host has in the
vCenter Server inventory.
Procedure
1 Send CSRs for the following certificates to your enterprise or third-party certificate provider.
n A machine SSL certificate for each machine. For the machine SSL certificate, the SubjectAltName
field must contain the fully qualified domain name (DNS NAME=machine_FQDN)
n Optionally, four solution user certificates for each embedded system or management node. Solution
user certificates should not include IP address, host name, or email address. Each certificate must
have a different certificate Subject.
Typically, the result is a PEM file for the trusted chain, plus the signed SSL certificates for each
Platform Services Controller or management node.
a Ensure that the current root certificate and all machine SSL certificates are signed by VMCA.
c (Optional) With a Web browser, open a HTTPS connection to a node where the certificate will be
replaced, check the certificate information, and ensure that it matches the machine SSL certificate.
3 Stop all services and start the services that handle certificate creation, propagation, and storage.
The service names differ on Windows and the vCenter Server Appliance.
4 Publish the custom root certificat, which is the signing certificate from the third-party CA.
If you do not specify a user name and password on the command line, you are prompted.
What to do next
You can remove the original VMCA root certificate from the certificate store if company policy requires it. If
you do, you have to refresh these internal certificates:
n Replace the vCenter Single Sign-On Signing certificate. See “Refresh the Security Token Service
Certificate,” on page 50.
n Replace the VMware Directory Service certificate. See “Replace the VMware Directory Service
Certificate,” on page 115.
Each machine must have a machine SSL certificate for secure communication with other services. In a multi-
node deployment, you must run the Machine SSL certificate generation commands on each node. Use the --
server parameter to point to the Platform Services Controller from a vCenter Server with external
Platform Services Controller.
You must have the following information before you can start replacing the certificates:
n If you are running the command on a vCenter Server with external Platform Services Controller in a
multi-node deployment, IP address of the Platform Services Controller.
Prerequisites
You must have received a certificate for each machine from your third-party or enterprise Certificate
Authority.
n CRT format
n x509 version 3
n Contains the following Key Usages: Digital Signature, Non Repudiation, Key Encipherment
Procedure
1 Stop all services and start the services that handle certificate creation, propagation, and storage.
The service names differ on Windows and the vCenter Server Appliance.
2 Log in to each node and add the new machine certificates that you received from the CA to VECS.
All machines need the new certificate in the local certificate store to communicate over SSL.
What to do next
You can also replace the certificates for your ESXi hosts. See the vSphere Security publication.
After replacing the root certificate in a multi-node deployment, you must restart services on all
vCenter Server with external Platform Services Controller nodes.
Solution users use certificates only to authenticate to vCenter Single Sign-On. If the certificate is valid,
vCenter Single Sign-On assigns a SAML token to the solution user, and the solution user uses the SAML
token to authenticate to other vCenter components.
Consider whether replacement of solution user certificates is necessary in your environment. Because
solution users are located behind a proxy server and the machine SSL certificate is used to secure SSL traffic,
the solution user certificates might be less of a security concern.
You replace the machine solution user certificate on each management node and on each
Platform Services Controller node. You replace the other solution user certificates only on each management
node. Use the --server parameter to point to the Platform Services Controller when you run commands on
a management node with an external Platform Services Controller.
Note When you list solution user certificates in large deployments, the output of dir-cli list includes all
solution users from all nodes. Run vmafd-cli get-machine-id --server-name localhost to find the local
machine ID for each host. Each solution user name includes the machine ID.
Prerequisites
n Key size: 2048 bits or more (PEM encoded)
n CRT format
n x509 version 3
n Each solution user certificate must have a different Subject. Consider, for example, including the
solution user name (such as vpxd) or other unique identifier.
n Contains the following Key Usages: Digital Signature, Non Repudiation, Key Encipherment
Procedure
1 Stop all services and start the services that handle certificate creation, propagation, and storage.
You can use the unique ID that is returned when you replace the certificates. The input and output
might look as follows.
When you list solution user certificates in multi-node deployments, the output of dir-cli list includes
all solution users from all nodes. Run vmafd-cli get-machine-id --server-name localhost to find the
local machine ID for each host. Each solution user name includes the machine ID.
3 For each solution user, replace the existing certificate in VECS and then in vmdir.
Note Solution users cannot authenticate to vCenter Single Sign-On if you do not replace the certificate
in vmdir.
If you unpublish the VMCA root certificate, you must replace the SSL Signing Certificate that is used by
vCenter Single Sign-On. See “Refresh the Security Token Service Certificate,” on page 50. You must also
replace the VMware Directory Service (vmdir) certificate.
Prerequisites
Request a certificate for vmdir for your third-party or enterprise CA.
Procedure
1 Stop vmdir.
2 Copy the certificate and key that you just generated to the vmdir location.
3 Restart vmdir from the vSphere Web Client or using the service-control command.
The VMware Directory Service SSL certificate is used by vmdir to perform handshakes between
Platform Services Controller nodes that perform vCenter Single Sign-On replication.
These steps are not required for a mixed mode environment that includes vSphere 6.0 and vSphere 6.5
nodes. These steps are required only if:
n Your environment includes both vCenter Single Sign-On 5.5 and vCenter Single Sign-On 6.x services.
n The vCenter Single Sign-On services are set up to replicate vmdir data.
n You plan to replace the default VMCA-signed certificates with custom certificates for the node on which
the vCenter Single Sign-On 6.x service runs.
Note Upgrading the complete environment before restarting the services is best practice. Replacing the
VMware Directory Service certificate is not usually recommended.
Procedure
1 On the node on which the vCenter Single Sign-On 6.x service runs, replace the vmdird SSL certificate
and key.
2 On the node on which the vCenter Single Sign-On 5.5 service runs, set up the environment so the
vCenter Single Sign-On 6.x service is known.
b Make a copy of the vmdircert.pem file on the 6.x node, and rename it to
<sso_node2.domain.com>.pem, where <sso_node2.domain.com> is the FQDN of the 6.x node.
3 Restart the VMware Directory Service on all machines where you replaced certificates.
You can restart the service from the vSphere Web Client or use the service-control command.
Table 3‑5. CLI Tools for Managing Certificates and Associated Services
CLI Description See
Table 3‑5. CLI Tools for Managing Certificates and Associated Services (Continued)
CLI Description See
VCENTER_INSTALL_PATH\bin\service-control
Linux /usr/lib/vmware-vmafd/bin/vecs-cli
/usr/lib/vmware-vmafd/bin/dir-cli
/usr/lib/vmware-vmca/bin/certool
On Linux, the service-control command does not require that you specify
the path.
If you run commands from a management node with an external Platform Services Controller, you can
specify the Platform Services Controller with the --server parameter.
If you run the vCenter Certificate Manager utility, you are prompted for the password of
[email protected]. If you replace certificates manually, different options for the different
certificate management CLIs require different privileges.
dir-cli You must be a member of the CAAdmins group in the vsphere.local domain.
You are prompted for a user name and password each time you run a dir-
cli command.
vecs-cli Initially, only the store owner has access to a store. The store owner is the
Administrator user on Windows systems and the root user on Linux systems.
The store owner can provide access to other users.
The MACHINE_SSL_CERT and TRUSTED_ROOTS stores are special stores.
Only the root user or administrator user, depending on the type of
installation, has complete access.
certool Most of the certool commands require that the user is in the CAAdmins
group. The [email protected] user is in the CAAdmins group. All
users can run the following commands:
n genselfcacert
n initscr
n getdc
n waitVMDIR
n waitVMCA
n genkey
n viewcert
For certificate management for ESXi hosts, you must have the Certificates. Manage Certificates privilege.
You can set that privilege from the vSphere Web Client.
The configuration file has several fields with the following default values:
Country = US
Name= Acme
Organization = AcmeOrg
OrgUnit = AcmeOrg Engineering
State = California
Locality = Palo Alto
IPAddress = 127.0.0.1
Email = [email protected]
Hostname = server.acme.com
n Create a backup of the configuration file and then edit the file. If you are using the default configuration
file, you do not have to specify it. Otherwise, for example, if you changed the configuration file name,
use the --config command-line option.
n Override the configuration file value on the command line. For example, to override Locality, run this
command:
Specify --Name to replace the CN field of the Subject name of the certificate.
n For solution user certificates, the name is <sol_user name>@<domain> by convention, but you can
change the name if a different convention is used in your environment.
n For machine SSL certificates, the FQDN of the machine is used because the SSL client checks the CN
field of the Subject name of the certificate when verifying the machine's host name. Because a machine
can have more than one alias, certificates have the Subject Alternative Name field extension where you
can specify other names (DNS names, IP addresses, and so on). However, VMCA allows only one
DNSName (in the Hostname field) and no other Alias options. If the IP address is specified by the user, it
is stored in SubAltName as well.
In many cases, you pass a configuration file in to a certool command. See “Changing certool Configuration,”
on page 124. See “Replace Existing VMCA-Signed Certificates With New VMCA-Signed Certificates,” on
page 96 for some usage examples.
certool --initcsr
Generates a Certificate Signing Request (CSR). The command generates a PKCS10 file and a private key.
Option Description
--csrfile <csr_file> File name for the CSR file to be sent to the CA provider.
Example:
certool --selfca
Creates a self-signed certificate and provisions the VMCA server with a self-signed root CA. Using this
option is one of the simplest ways to provision the VMCA server. You can instead provision the VMCA
server with a third-party root certificate so that VMCA is an intermediate CA. See “Use VMCA as an
Intermediate Certificate Authority,” on page 106.
This command generates a certificate that is predated by three days to avoid time zone conflicts.
Option Description
--predate <number_of_minutes> Allows you to set the Valid Not Before field of the root
certificate to the specified number of minutes before the
current time. This option can be helpful to account for
potential time zone issues. The maximum is three days.
Example:
certool --rootca
Imports a root certificate. Adds the specified certificate and private key to VMCA. VMCA always uses the
most recent root certificate for signing, but other root certificates remain available. That means you can
update your infrastructure one step at a time, and finally delete certificates that you no longer use.
Option Description
--privkey <key_file> Name of the private key file. This file must be in PEM
encoded format.
Example:
certool --getdc
Returns the default domain name that is used by vmdir.
Option Description
Example:
certool --getdc
certool --waitVMDIR
Wait until the VMware Directory Service is running or until the timeout specified by --wait has elapsed.
Use this option in conjunction with other options to schedule certain tasks, for example returning the default
domain name.
Option Description
Example:
certool --waitVMCA
Wait until the VMCA service is running or until the specified timeout has elapsed. Use this option in
conjunction with other options to schedule certain tasks, for example, generating a certificate.
Option Description
Example:
certool --publish-roots
Forces an update of root certificates. This command requires administrative privileges.
Option Description
Example:
certool --publish-roots
certool --genkey
Generates a private and public key pair. Those files can then be used to generate a certificate that is signed
by VMCA. You can use the certificate to provision machines or solution users.
Option Description
Example:
certool --gencert
Generates a certificate from the VMCA server. This command uses the information in certool.cfg or in the
specified configuration file.
Option Description
--cert <certfile> Name of the certificate file. This file must be in PEM
encoded format.
--privkey <keyfile> Name of the private key file. This file must be in PEM
encoded format.
Option Description
Example:
certool --getrootca
Prints the current root CA certificate in human-readable form. If you are running this command from a
management node, use the machine name of the Platform Services Controller node to retrieve the root CA.
This output is not usable as a certificate, it is changed to be human readable.
Option Description
Example:
certool --viewcert
Print all the fields in a certificate in human-readable form.
Option Description
Example:
certool --enumcert
List all certificates that the VMCA server knows about. The required filter option lets you list all
certificates or only revoked, active, or expired certificates.
Option Description
--filter [all | active] Required filter. Specify all or active. The revoked and
expired options are not currently supported.
Example:
certool --status
Sends a specified certificate to the VMCA server to check whether the certificate has been revoked. Prints
Certificate: REVOKED if the certificate is revoked, and Certificate: ACTIVE otherwise.
Option Description
Example:
certool --genselfcacert
Generates a self-signed certificate based on the values in the configuration file. This command generates a
certificate that is predated by three days to avoid time zone conflicts.
Option Description
--outcert <cert_file> Name of the certificate file. This file must be in PEM
encoded format.
--outprivkey <key_file> Name of the private key file. This file must be in PEM
encoded format.
Example:
Option Description
Example:
Option Description
Example:
Machine SSL store (MACHINE_SSL_CERT) n Used by the reverse proxy service on every vSphere
node.
n Used by the VMware Directory Service (vmdir) on
embedded deployments and on each
Platform Services Controller node.
All services in vSphere 6.0 communicate through a reverse
proxy, which uses the machine SSL certificate. For
backward compatibility, the 5.x services still use specific
ports. As a result, some services such as vpxd still have
their own port open.
Solution user stores VECS includes one store for each solution user. The subject
n machine of each solution user certificate must be unique, for
example, the machine certificate cannot have the same
n vpxd
subject as the vpxd certificate.
n vpxd-extensions
Solution user certificates are used for authentication with
n vsphere-webclient
vCenter Single Sign-On. vCenter Single Sign-On checks
that the certificate is valid, but does not check other
certificate attributes. In an embedded deployment, all
solution user certificates are on the same system.
The following solution user certificate stores are included
in VECS on each management node and each embedded
deployment:
n machine: Used by component manager, license server,
and the logging service.
Note The machine solution user certificate has
nothing to do with the machine SSL certificate. The
machine solution user certificate is used for the SAML
token exchange; the machine SSL certificate is used for
secure SSL connections for a machine.
n vpxd: vCenter service daemon (vpxd) store on
management nodes and embedded deployments. vpxd
uses the solution user certificate that is stored in this
store to authenticate to vCenter Single Sign-On.
n vpxd-extensions: vCenter extensions store. Includes
the Auto Deploy service, inventory service, and other
services that are not part of other solution users.
n vsphere-webclient: vSphere Web Client store. Also
includes some additional services such as the
performance chart service.
The machine store is also included on each
Platform Services Controller node.
vSphere Certificate Manager Utility backup store Used by VMCA (VMware Certificate Manager) to support
(BACKUP_STORE) certificate revert. Only the most recent state is stored as a
backup, you cannot go back more than one step.
Other stores Other stores might be added by solutions. For example, the
Virtual Volumes solution adds an SMS store. Do not
modify the certificates in those stores unless VMware
documentation or a VMware Knowledge Base artoc;e
instructs you to do so.
Note CRLS are not supported in vSphere 6.0
Nevertheless, deleting the TRUSTED_ROOTS_CRLS store
can damage your certificate infrastructure. Do not delete or
modify the TRUSTED_ROOTS_CRLS store.
Example:
The owner of the store has all control of its store, including granting and revoking permissions. The
administrator has all privileges on all stores, including granting and revoking permissions.
You can use vecs-cli get-permissions --name <store-name> to retrieve the current settings for the store.
Option Description
Option Description
--alias <Alias> Optional alias for the certificate. This option is ignored for
the trusted root store.
--key <key-file-path> Full path of the key that corresponds to the certificate.
Optional.
Option Description
Option Description
Option Description
Option Description
vecs-cli force-refresh
Forces a refresh of vecs-cli. When that happens, vecs-cli is updated to use the most recent information in
vmdir. By default, VECS polls vmdir for new root certificate files every 5 minutes. Use this command for an
immediate update of VECS from vmdir.
Option Description
--cert <cert file> Path to the certificate file. This can be a certificate signed by
VMCA or a third-party certificate.
Option Description
Option Description
Option Description
Option Description
Option Description
Option Description
Option Description
--name <name> Optional name of the group in vmdir. This option allows
you to check whether a group exists.
Option Description
Option Description
--crl <file> Path to the CRL file associated with this certificate. Not
currently used.
Option Description
Option Description
--outcrl <path> Path to write the CRL file to. Not currently used.
Option Description
Option Description
Option Description
You view certificates associated with the VMCA instance that is included with your embedded deployment
or with the Platform Services Controller. Certificate information is replicated across instances of VMware
Directory Service (vmdir).
When you attempt to view certificates in the vSphere Web Client, you are prompted for a user name and
password. Specify the user name and password of a user with privileges for VMware Certificate Authority,
that is, a user in the CAAdmins vCenter Single Sign-On group.
Procedure
1 Log in to vCenter Server as [email protected] or another user of the CAAdmins vCenter
Single Sign-On group.
3 Click Nodes, and select the node for which you want to view or manage certificates.
5 Click the certificate type for which you want to view certificate information.
Option Description
Active Certificates Displays active certificates, including their validation information. The
green Valid To icon changes when certificate expiration is approaching.
Revoked Certificates Displays the list of revoked certificates. Not supported in this release.
Expired Certificates Lists expired certificates.
Root Certificates Displays the root certificates available to this instance of vCenter
Certificate Authority.
6 Select a certificate and click the Show Certificate Details button to view certificate details.
Procedure
1 Log in to the vSphere Web Client.
2 Select the vCenter Server object, the select the Manage tab and the Settings subtab.
4 Change the setting of vpxd.cert.threshold to the desired value and click OK.
vCenter Server allows fine-grained control over authorization with permissions and roles. When you assign
a permission to an object in the vCenter Server object hierarchy, you specify which user or group has which
privileges on that object. To specify the privileges, you use roles, which are sets of privileges.
Initially, only the user [email protected] is authorized to log in to the vCenter Server system. That
user can then proceed as follows:
1 Add an identity source in which additional users and groups are defined to vCenter Single Sign-On. See
“Add a vCenter Single Sign-On Identity Source,” on page 31.
2 Give privileges to a user or group by selecting an object such as a virtual machine or a vCenter Server
system and assigning a role on that object to the user or group.
vSphere 6.0 and later allows privileged users to give other users permissions to perform tasks in the
following ways. These approaches are, for the most part, mutually exclusive; however, you can assign use
global permissions to authorize certain users for all solution, and local vCenter Server permissions to
authorize other users for individual vCenter Server systems.
vCenter Server The permission model for vCenter Server systems relies on assigning
Permissions permissions to objects in the object hierarchy of that vCenter Server. Each
permission gives one user or group a set of privileges, that is, a role for a
selected object. For example, you can select an ESXi host and assign a role to
a group of users to give those users the corresponding privileges on that
host.
Global Permissions Global permissions are applied to a global root object that spans solutions.
For example, if both vCenter Server and vCenter Orchestrator are installed,
you can give permissions to all objects in both object hierarchies using global
permissions.
Global permissions are replicated across the vsphere.local domain. Global
permissions do not provide authorization for services managed through
vsphere.local groups. See “Global Permissions,” on page 149.
Group Membership in The user [email protected] can perform tasks that are associated
vsphere.local Groups with services included with the Platform Services Controller. In addition,
members of a vsphere.local group can perform the corresponding task. For
example, you can perform license management if you are a member of the
LicenseService.Administrators group. See “Groups in the vsphere.local
Domain,” on page 27.
ESXi Local Host If you are managing a standalone ESXi host that is not managed by a
Permissions vCenter Server system, you can assign one of the predefined roles to users.
See the vSphere Administration with the vSphere Client documentation.
Permissions Each object in the vCenter Server object hierarchy has associated
permissions. Each permission specifies for one group or user which
privileges that group or user has on the object.
Users and Groups On vCenter Server systems, you can assign privileges only to authenticated
users or groups of authenticated users. Users are authenticated through
vCenter Single Sign-On. The users and groups must be defined in the
identity source that vCenter Single Sign-On is using to authenticate. Define
users and groups using the tools in your identity source, for example, Active
Directory.
Roles Roles allow you to assign permissions on an object based on a typical set of
tasks that users perform. Default roles, such as Administrator, are predefined
on vCenter Server and cannot be changed. Other roles, such as Resource Pool
Administrator, are predefined sample roles. You can create custom roles
either from scratch or by cloning and modifying sample roles.
Privileges Privileges are fine-grained access controls. You can group those privileges
into roles, that you can then map to users or groups.
Permission
Privilege
Privilege
1 Select the object in the vCenter object hierarchy to which you want to apply the permission.
2 Select the group or user that should have privileges on the object.
3 Select the role, that is the set of privileges, that the group or user should have on the object. By default,
permissions propagate, that is the group or user has the selected role on the selected object and its child
objects.
The permissions model makes it easy to get things done quickly by offering predefined roles. You can also
combine privileges to create custom roles. See Chapter 11, “Defined Privileges,” on page 273 for a reference
to all privileges and the objects to which you can apply the privileges. See “Required Privileges for Common
Tasks,” on page 155 for some examples of the sets of privileges you need to perform these tasks.
In many cases, permissions must be defined on both a source object and a destination object. For example, if
you move a virtual machine, you need some privileges on that virtual machine, but also privileges on the
destination data center.
The permissions model for standalone ESXi hosts is simpler. See “Assigning Permissions for ESXi,” on
page 193
Similarly, if user Smith is removed from the domain, all permissions associated with that user are removed
when the next validation occurs. If a new user Smith is added to the domain before the next validation
occurs, the new user Smith is replaces the old user Smith in permissions on any object.
The figure illustrates the inventory hierarchy and the paths by which permissions can propagate.
Note Global permissions support assigning privileges across solutions from a global root object. See
“Global Permissions,” on page 149.
root object
(global permissions level)
data center
network datastore
VM folder host folder
folder folder
standard
template host VDS datastore
switch
virtual
machine
Most inventory objects inherit permissions from a single parent object in the hierarchy. For example, a
datastore inherits permissions from either its parent datastore folder or parent data center. Virtual machines
inherit permissions from both the parent virtual machine folder and the parent host, cluster, or resource
pool simultaneously.
For example, you can set permissions for a distributed switch and its associated distributed port groups, by
setting permissions on a parent object, such as a folder or data center. You must also select the option to
propagate these permissions to child objects.
n Clusters
n Data centers
n Datastores
n Datastore clusters
n Folders
n Hosts
n Resource pools
n Templates
n Virtual machines
n vSphere vApps
Global entities You cannot modify permissions on entities that derive permissions from the
root vCenter Server system.
n Custom fields
n Licenses
n Roles
n Statistics intervals
n Sessions
If an object inherits permissions from two parent objects, the permissions on one object are added to the
permissions on the other object. For example, if a virtual machine is in a virtual machine folder and also
belongs to a resource pool, that virtual machine inherits all permission settings from both the virtual
machine folder and the resource pool.
Permissions applied on a child object always override permissions that are applied on a parent object. See
“Example 2: Child Permissions Overriding Parent Permissions,” on page 144.
If multiple group permissions are defined on the same object and a user belongs to two or more of those
groups, two situations are possible:
n If no permission is defined for the user on that object, the user is assigned the set of privileges assigned
to the groups for that object.
n If a permission is defined for the user on that object, the user's permission takes precedence over all
group permissions.
In this example, two permissions are assigned on the same object for two different groups.
n Group A is granted Role 1 on VM Folder, with the permission set to propagate to child objects.
n Group B is granted Role 2 on VM Folder, with the permission set to propagate to child objects.
VM B
In this example, permissions are defined on two different objects for two different groups.
n Group A is granted Role 1 on VM Folder, with the permission set to propagate to child objects.
User 1, who belongs to groups A and B, logs on. Because Role 2 is assigned at a lower point in the hierarchy
than Role 1, it overrides Role 1 on VM B. User 1 can power on VM A, but not take snapshots. User 1 can take
snapshots of VM B, but not power it on.
In this example, permissions are defined on the same object. One permission associates a group with a role,
the other permission associates an individual user with a role. The user is a member of the group.
group A + role 1
VM Folder
user 1 + no access
user 1 has no access to the folder
VM A
or the virtual machines
VM B
By assigning a different role to a group of users on different objects, you control the tasks that those users
can perform in your vSphere environment. For example, to allow a group to configure memory for the host,
select that host and add a permission that grants a role to that group that includes the
Host.Configuration.Memory Configuration privilege.
To manage permissions from the vSphere Web Client, you need to understand the following concepts:
Permissions Each object in the vCenter Server object hierarchy has associated
permissions. Each permission specifies for one group or user which
privileges that group or user has on the object.
Users and Groups On vCenter Server systems, you can assign privileges only to authenticated
users or groups of authenticated users. Users are authenticated through
vCenter Single Sign-On. The users and groups must be defined in the
identity source that vCenter Single Sign-On is using to authenticate. Define
users and groups using the tools in your identity source, for example, Active
Directory.
Roles Roles allow you to assign permissions on an object based on a typical set of
tasks that users perform. Default roles, such as Administrator, are predefined
on vCenter Server and cannot be changed. Other roles, such as Resource Pool
Administrator, are predefined sample roles. You can create custom roles
either from scratch or by cloning and modifying sample roles.
Privileges Privileges are fine-grained access controls. You can group those privileges
into roles, that you can then map to users or groups.
You can assign permissions to objects at different levels of the hierarchy, for example, you can assign
permissions to a host object or to a folder object that includes all host objects. See “Hierarchical Inheritance
of Permissions,” on page 142. You can also assign permissions to a global root object to apply the
permissions to all object in all solutions. See “Global Permissions,” on page 149.
When you assign permissions from the vSphere Web Client, user and group names must match Active
Directory precisely, including case. If you upgraded from earlier versions of vSphere, check for case
inconsistencies if you experience problems with groups.
Prerequisites
On the object whose permissions you want to modify, you must have a role that includes the
Permissions.Modify permission privilege.
Procedure
1 Browse to the object for which you want to assign permissions in the vSphere Web Client object
navigator.
4 Identify the user or group that will have the privileges defined by the selected role.
a From the Domain drop-down menu, select the domain where the user or group is located.
b Type a name in the Search box or select a name from the list.
d (Optional) Click Check Names to verify that the user or group exists in the identity source.
e Click OK.
The roles that are assigned to the object appear in the menu. The privileges contained in the role are
listed in the section below the role title.
6 (Optional) To limit propagation, deselect the Propagate to Child Objects check box.
The role is applied only to the selected object and does not propagate to the child objects.
Change Permissions
After a user or group and role pair is set for an inventory object, you can change the role paired with the
user or group or change the setting of the Propagate check box. You can also remove the permission setting.
Procedure
1 Browse to the object in the vSphere Web Client object navigator.
5 Select a role for the user or group from the Assigned Role drop-down menu.
6 To propagate the privileges to the children of the assigned inventory object, click the Propagate check
box and click OK.
Remove Permissions
You can remove permissions on an object in the object hierarchy for individual users or for groups. When
you do, the user no longer has the privileges associated with the role on the object.
Procedure
1 Browse to the object in the vSphere Web Client object navigator.
For vCenter Server versions before vCenter Server 5.0, these settings apply to an Active Directory associated
with vCenter Server. For vCenter Server 5.0 and later, these settings apply to vCenter Single Sign-On
identity sources.
Note This procedure applies only to vCenter Server user lists. ESXi user lists cannot be searched in the
same way.
Procedure
1 Browse to the vCenter Server system in the vSphere Web Client object navigator.
2 Select the Manage tab and click Settings.
Option Description
User directory timeout Timeout interval in seconds for connecting to the Active Directory server.
This value specifies the maximum amount of time vCenter Server allows a
search to run on the selected domain. Searching large domains can take a
long time.
Query limit Select the checkbox to set a maximum number of users and groups that
vCenter Server displays.
Query limit size Specifies the maximum number of users and groups that vCenter Server
displays from the selected domain in the Select Users or Groups dialog
box. If you enter 0 (zero), all users and groups appear.
Validation Deselect the check box to disable validation
Validation Period Specifies how often vCenter Server validates permissions, in minutes.
6 Click OK.
Global Permissions
Global permissions are applied to a global root object that spans solutions, for example, both vCenter Server
and vCenter Orchestrator. Use global permissions to give a user or group privileges for all objects in all
object hierarchies.
Each solution has a root object in its own object hierarchy. The global root object acts as a parent object to
each solution object. You can assign global permissions to users or groups, and decide on the role for each
user or group. The role determines the set of privileges. You can assign a predefined role or create custom
roles. See “Using Roles to Assign Privileges,” on page 151. It is important to distinguish between
vCenter Server permissions and global permissions.
vCenter Server In most cases, you apply a permission to a vCenter Server inventory object
permissions such as an ESXi host or a virtual machine. When you do, you specify that a
user or group has a set of privileges, called a role, on the object.
Global permissions Global permissions give a user or group privileges to view or manage all
objects in each of the inventory hierarchies in your deployment.
If you assign a global and do not select Propagate, the users or groups
associated with this permission do not have access to the objects in the
hierarchy. They only have access to some global functionality such as
creating roles.
Important Use global permissions with care. Verify that you really want to assign permissions to all
objects in all inventory hierarchies.
Use global permissions with care. Verify that you really want to assign permissions to all objects in all
inventory hierarchies.
Prerequisites
To perform this task, you must have .Permissions.Modify permission privileges on the root object for all
inventory hierarchies.
Procedure
1 Click Administration and select Global Permissions in the Access Control area.
3 Identify the user or group that will have the privileges defined by the selected role.
a From the Domain drop-down menu, select the domain where the user or group is located.
b Type a name in the Search box or select a name from the list.
d (Optional) Click Check Names to verify that the user or group exists in the identity source.
e Click OK.
The roles that are assigned to the object appear in the menu. The privileges contained in the role are
listed in the section below the role title.
6 Click OK.
Table 4‑1. How Global Permissions and Tag Object Permissions Affect What Users Can Do
vCenter Server Object-
Global Permission Tag-Level Permission Level Permission Effective Permission
No tagging privileges Dana has Assign or Dana has Delete vSphere Dana has Assign or
assigned Unassign vSphere Tag Tag privileges on ESXi host Unassign vSphere Tag
privileges for the tag. TPA privileges for the tag.
Dana has Assign or No privileges assigned for Dana has Delete vSphere Dana has Assign or
Unassign vSphere Tag the tag. Tag privileges on ESXi host Unassign vSphere Tag
privileges. TPA global privileges. That
includes privileges at the tag
level.
No tagging privileges No privileges assigned for Dana has Assign or Dana does not have tagging
assigned the tag. Unassign vSphere Tag privileges on any object,
privileges on ESXi host including host TPA.
TPA
For example, assume that you assign the Delete vSphere Tag privilege to user Robin at the root level, that is,
by using Global permissions. For the tag Production, you do not assign the Delete vSphere Tag privilege to
Robin. In that case, Robin has the privilege, even for the tag Production because Robin has the Global
permission. You cannot restrict privileges unless you modify the global permission.
Robin has Delete vSphere Tag Robin does not have Delete Robin has Delete vSphere Tag privileges.
privileges vSphere Tag privileges for the
tag.
No tagging privileges assigned Robin does not have Delete Robin does not have Delete vSphere Tag
vSphere Tag privileges privileges
assigned for the tag.
Lee has Assign or Unassign Lee has Delete vSphere Tag Lee has the Assign vSphere Tag privilege and the
vSphere Tag privilege. privilege. Delete vSphere Tag privilege for the tag.
No tagging privileges assigned. Lee has Delete vSphere Tag Lee has the Delete vSphere Tag privilege for the
privilege assigned for the tag. tag.
When you assign permissions, you pair a user or group with a role and associate that pairing with an
inventory object. A single user or group can have different roles for different objects in the inventory.
For example, if you have two resource pools in your inventory, Pool A and Pool B, you can assign a
particular user the Virtual Machine User role on Pool A and the Read Only role on Pool B. These
assignments allow that user to turn on virtual machines in Pool A, but to only view virtual machines in Pool
B.
System roles System roles are permanent. You cannot edit the privileges associated with
these roles.
Sample roles VMware provides sample roles for certain frequently performed
combination of tasks. You can clone, modify or remove these roles.
Note To avoid losing the predefined settings in a sample role, clone the role
first and make modifications to the clone. You cannot reset the sample to its
default settings.
Users can schedule only tasks if they have a role that includes privileges to perform that task at the time the
tasks are created.
Note Changes to roles and privileges take effect immediately, even if the users involved are logged in. The
exception is searches, where changes take effect after the user has logged out and logged back in.
vCenter Server Custom Create custom roles by using the role-editing facilities in the
Roles (Recommended) vSphere Web Client to create privilege sets that match your needs.
ESXi Custom Roles You can create custom roles for individual hosts by using a CLI or the
vSphere Client. See the vSphere Administration with the vSphere Client
documentation. Custom host roles are not accessible from vCenter Server.
If you manage ESXi hosts through vCenter Server, maintaining custom roles
in both the host and vCenter Server can result in confusion and misuse. In
most cases, defining vCenter Server roles is recommended.
When you manage a host using vCenter Server, the permissions associated with that host are created
through vCenter Server and stored on vCenter Server. If you connect directly to a host, only the roles that
are created directly on the host are available.
Note When you add a custom role and do not assign any privileges to it, the role is created as a Read Only
role with three system-defined privileges: System.Anonymous, System.View, and System.Read.
Administrator Role Users assigned the Administrator role for an object are allowed to view and
perform all actions on the object. This role also includes all privileges
inherent in the Read Only role. If you are acting in the Administrator role on
an object, you can assign privileges to individual users and groups. If you are
acting in the Administrator role in vCenter Server, you can assign privileges
to users and groups in the default vCenter Single Sign-On identity source.
Supported identity services include Windows Active Directory and
OpenLDAP 2.4.
By default, the [email protected] user has the Administrator role
on both vCenter Single Sign-On and vCenter Server after installation. That
user can then associate other users with the Administrator role on
vCenter Server.
No Access Role Users assigned the No Access role for an object cannot view or change the
object in any way. New users and groups are assigned this role by default.
You can change the role on an object-by-object basis.
The [email protected] user, the root user, and vpxuser are the only
users not assigned the No Access role by default. Instead, they are assigned
the Administrator role. You can remove the root user from any permissions
or change its role to No Access as long as you first create a replacement
permission at the root level with the Administrator role and associate this
permission with a different user.
Read Only Role Users assigned the Read Only role for an object are allowed to view the state
of the object and details about the object. With this role, a user can view
virtual machine, host, and resource pool attributes. The user cannot view the
remote console for a host. All actions through the menus and toolbars are
disallowed.
If you create or edit a role on a vCenter Server system that is part of the same vCenter Single Sign-On
domain as other vCenter Server systems, the VMware Directory Service (vmdir) propagates the changes that
you make to all other vCenter Server systems in the group. Assignments of roles to specific users and objects
are not shared across vCenter Server systems.
Prerequisites
Verify that you are logged in as a user with Administrator privileges.
Procedure
1 Log in to vCenter Server with the vSphere Web Client.
Clone a Role
You can make a copy of an existing role, rename it, and edit it. When you make a copy, the new role is not
applied to any users or groups and objects. You must assign the role to users or groups and objects.
If you create or edit a role on a vCenter Server system that is part of the same vCenter Single Sign-On
domain as other vCenter Server systems, the VMware Directory Service (vmdir) propagates the changes that
you make to all other vCenter Server systems in the group. Assignments of roles to specific users and objects
are not shared across vCenter Server systems.
Prerequisites
Verify that you are logged in as a user with Administrator privileges.
Procedure
1 Log in to vCenter Server with the vSphere Web Client.
Edit a Role
When you edit a role, you can change the privileges selected for that role. When completed, these privileges
are applied to any user or group that is assigned the edited role.
If you create or edit a role on a vCenter Server system that is part of the same vCenter Single Sign-On
domain as other vCenter Server systems, the VMware Directory Service (vmdir) propagates the changes that
you make to all other vCenter Server systems in the group. Assignments of roles to specific users and objects
are not shared across vCenter Server systems.
Prerequisites
Verify that you are logged in as a user with Administrator privileges.
Procedure
1 Log in to vCenter Server with the vSphere Web Client.
VMware recommends the following best practices when configuring roles and permissions in your
vCenter Server environment:
n Where possible, assign a role to a group rather than individual users to grant privileges to that group.
n Grant permissions only on the objects where they are needed, and assign privileges only to users or
groups that must have them. Using the minimum number of permissions makes it easier to understand
and manage your permissions structure.
n If you assign a restrictive role to a group, check that the group does not contain the Administrator user
or other users with administrative privileges. Otherwise, you could unintentionally restrict
administrators' privileges in parts of the inventory hierarchy where you have assigned that group the
restrictive role.
n Use folders to group objects. For example, if you want to grant modify permission on one set of hosts
and view permission on another set of hosts, place each set of hosts in a folder.
n Use caution when adding a permission to the root vCenter Server objects. Users with privileges at the
root level have access to global data on vCenter Server, such as roles, custom attributes, vCenter Server
settings.
n In most cases, enable propagation when you assign permissions to an object. This ensures that when
new objects are inserted in to the inventory hierarchy, they inherit permissions and are accessible to
users.
n Use the No Access role to mask specific areas of the hierarchy if you do not want for certain users or
groups to have access to the objects in that part of the object hierarchy.
n Changes to licenses propagate to all vCenter Server systems that are linked to the same
Platform Services Controller or to Platform Services Controllers in the same vCenter Single Sign-On
domain, even if the user does not have privileges on all of the vCenter Server systems.
The table below lists common tasks that require more than one privilege. You can add permissions to
inventory objects by pairing a user with one of the predefined roles, or you can create custom roles with the
set of privileges that you expect to use multiple times.
If the task that you want to perform is not in this table, the following rules can help you determine where
you must assign permissions to allow particular operations:
n Any operation that consumes storage space, such as creating a virtual disk or taking a snapshot,
requires the Datastore.Allocate Space privilege on the target datastore, as well as the privilege to
perform the operation itself.
n Moving an object in the inventory hierarchy requires appropriate privileges on the object itself, the
source parent object (such as a folder or cluster), and the destination parent object.
n Each host and cluster has its own implicit resource pool that contains all the resources of that host or
cluster. Deploying a virtual machine directly to a host or cluster requires the Resource.Assign Virtual
Machine to Resource Pool privilege.
On the network that the virtual machine will be assigned to: Network
Network.Assign network Consumer or
Administrator
On the network that the virtual machine will be assigned to: Network
Network.Assign network Consumer or
Administrator
Take a virtual machine On the virtual machine or a folder of virtual machines: Virtual Machine
snapshot Virtual machine.Snapshot management. Create snapshot Power User or
Administrator
Move a virtual machine into On the virtual machine or folder of virtual machines: Administrator
a resource pool n Resource.Assign virtual machine to resource pool
n Virtual machine.Inventory.Move
Install a guest operating On the virtual machine or folder of virtual machines: Virtual Machine
system on a virtual machine n Virtual machine.Interaction.Answer question Power User or
Administrator
n Virtual machine.Interaction.Console interaction
n Virtual machine.Interaction.Device connection
n Virtual machine.Interaction.Power Off
n Virtual machine.Interaction.Power On
n Virtual machine.Interaction.Reset
n Virtual machine.Interaction.Configure CD media (if installing
from a CD)
n Virtual machine.Interaction.Configure floppy media (if
installing from a floppy disk)
n Virtual machine.Interaction.VMware Tools install
Migrate a virtual machine On the virtual machine or folder of virtual machines: Resource Pool
with vMotion n Resource.Migrate powered on virtual machine Administrator or
Administrator
n Resource.Assign Virtual Machine to Resource Pool (if
destination is a different resource pool from the source)
On the destination host, cluster, or resource pool (if different from the Resource Pool
source): Administrator or
Resource.Assign virtual machine to resource pool Administrator
Cold migrate (relocate) a On the virtual machine or folder of virtual machines: Resource Pool
virtual machine n Resource.Migrate powered off virtual machine Administrator or
Administrator
n Resource.Assign virtual machine to resource pool (if destination
is a different resource pool from the source)
On the destination host, cluster, or resource pool (if different from the Resource Pool
source): Administrator or
Resource.Assign virtual machine to resource pool Administrator
Migrate a virtual machine On the virtual machine or folder of virtual machines: Resource Pool
with Storage vMotion Resource.Migrate powered on virtual machine Administrator or
Administrator
An ESXi host is also protected with a firewall. You can open ports for incoming and outgoing traffic as
needed, but should restrict access to services and ports. Using the ESXi lockdown mode and limiting access
to the ESXi Shell can further contribute to a more secure environment. Starting with vSphere 6.0, ESXi hosts
participate in the certificate infrastructure. Hosts are provisioned with certificate that are signed by the
VMware Certificate Authority (VMCA) by default.
See the VMware white paper Security of the VMware vSphere Hypervisor for additional information on ESXi
security.
vSphere includes several scripting languages for host management. See the vSphere Command-Line
Documentation and the vSphere API/SDK Documentation for reference information and programming tips and
VMware Communities for additional tips about scripted management. The vSphere Administrator
documentation focuses on using the vSphere Web Client for management.
vSphere PowerCLI includes more than 200 cmdlets, a set of sample scripts,
and a function library for management and automation. See the vSphere
PowerCLI Documentation.
vSphere Command-Line vCLI includes a set of commands for managing ESXi hosts and virtual
Interface (vCLI) machines. The installer, which also installs the vSphere SDK for Perl, runs
Windows or Linux systems and installs ESXCLI commands, vicfg-
commands, and a set of other vCLI commands. See vSphere Command-Line
Interface Documentation.
Starting with vSphere 6.0, you can also use one of the scripting interfaces to the vCloud Suite SDK such as
the vCloud Suite SDK for Python.
Procedure
1 Create a custom role that has limited privileges.
For example, consider creating a role that has a set of privileges for managing hosts but no privileges
for managing virtual machines, storage, or networking. If the script you want to use only extracts
information, you can create a role with read-only privileges for the host.
2 From the vSphere Web Client, create a service account and assign it the custom role.
You can create multiple custom roles with different levels of access if you want access to certain hosts to
be fairly limited.
For example, you can check or set the shell interactive timeout of a host as follows:
Language Commands
vCLI (ESXCLI) esxcli <conn_options> system settings advanced
get /UserVars/ESXiShellTimeOut
esxcli --formatter=csv --format-param=fields="Path,Int
Value"
system settings advanced list |
grep /UserVars/ESXiShellTimeOut
PowerCLI #List UserVars.ESXiShellInteractiveTimeOut for each host
Get-VMHost | Select Name,
@{N="UserVars.ESXiShellInteractiveTimeOut";E={$_
| Get-AdvancedSetting -Name
UserVars.ESXiShellInteractiveTimeOut
| Select -ExpandProperty Value}}
4 In large environments, create roles with different access privileges and group hosts into folders
according to the tasks that you want to perform. You can then run scripts over different folders from
different service accounts.
5 Verify that the changes happened after you run the command.
You can configure host profiles for a reference host from the vSphere Web Client and apply the host profile
to all hosts that share the characteristics of the reference host. You can also use host profiles to monitor hosts
for host configuration changes. See the vSphere Host Profiles documentation.
You can attach the host profile to a cluster to apply it to all hosts in the cluster.
Procedure
1 Set up the reference host to specification and create a host profile.
3 Apply the host profile of the reference host to other hosts or clusters.
n Only a limited number of firewall ports are open by default. You can explicitly open additional firewall
ports that are associated with specific services.
n ESXi runs only services that are essential to managing its functions. The distribution is limited to the
features required to run ESXi.
n By default, all ports not specifically required for management access to the host are closed. You must
specifically open ports if you need additional services.
n By default, weak ciphers are disabled and communications from clients are secured by SSL. The exact
algorithms used for securing the channel depend on the SSL handshake. Default certificates created on
ESXi use PKCS#1 SHA-256 With RSA encryption as the signature algorithm.
n The Tomcat Web service, used internally by ESXi to support access by Web clients, has been modified to
run only those functions required for administration and monitoring by a Web client. As a result, ESXi
is not vulnerable to the Tomcat security issues reported in broader use.
n VMware monitors all security alerts that could affect ESXi security and issues a security patch if
needed.
n Insecure services such as FTP and Telnet are not installed, and the ports for these services are closed by
default. Because more secure services such as SSH and SFTP are easily available, avoid using these
insecure services in favor of their safer alternatives. For example, use Telnet with SSL to access virtual
serial ports if SSH is unavailable and you must use Telnet.
If you must use insecure services and have implemented sufficient protection for the host, you can
explicitly open ports to support them.
Limit access If you decide to enable access to the Direct Console User Interface (DCUI) the
ESXi Shell, or SSH, enforce strict access security policies.
The ESXi Shell has privileged access to certain parts of the host. Provide only
trusted users with ESXi Shell login access.
Do not access managed Use the vSphere Web Client to administer ESXi hosts that are managed by a
hosts directly vCenter Server. Do not access managed hosts directly with the vSphere
Client, and do not make changes to managed hosts from the host's DCUI.
If you manage hosts with a scripting interface or API, do not target the host
directly. Instead, target the vCenter Server system that manages the host and
specify the host name.
Use the vSphere Client Use the vSphere Client, one of the VMware CLIs or APIs to administer your
or VMware CLIs or APIs ESXi hosts. Access the host from the DCUI or the ESXi Shell as the root user
to administer only for troubleshooting. If you decide to use the ESXi Shell, limit the
standalone ESXi hosts accounts with access and set timeouts.
Use only VMware The host runs a variety of third-party packages to support management
sources to upgrade interfaces or tasks that you must perform. VMware does not support
ESXi components. upgrading these packages from anything other than a VMware source. If you
use a download or patch from another source, you might compromise
management interface security or functions. Regularly check third-party
vendor sites and the VMware knowledge base for security alerts.
ESXi uses the Linux PAM module pam_passwdqc for password management and control. See the manpage
for pam_passwdqc for detailed information.
Note The default requirements for ESXi passwords can change from one release to the next. You can check
and change the default password restrictions using the Security.PasswordQualityControl advanced
option.
ESXi Passwords
ESXi enforces password requirements for access from the Direct Console User Interface, the ESXi Shell, SSH,
or the vSphere Client. By default, you have to include a mix of characters from four character classes:
lowercase letters, uppercase letters, numbers, and special characters such as underscore or dash when you
create a password.
Note An uppercase character that begins a password does not count toward the number of character
classes used. A number that ends a password does not count toward the number of character classes used.
retry=3 min=disabled,disabled,disabled,7,7
With this setting, passwords with one or two character classes and pass phases are not allowed, because the
first three items are disabled. Passwords from three- and four-character classes require seven characters. See
the pam_passwdqc manpage for details.
n Xqat3hi: Begins with an uppercase character, reducing the effective number of character classes to two.
The minimum number of required character classes is three.
n xQaTEh2: Ends with a number, reducing the effective number of character classes to two. The minimum
number of required character classes is three.
retry=3 min=disabled,disabled,16,7,7
This example allows pass phrases of at least 16 characters and at least 3 words, separated by spaces.
For legacy hosts, changing the /etc/pamd/passwd file is still supported, but changing the file is deprecated
for future releases. Use the Security.PasswordQualityControl advanced option instead.
You can change the default, for example, to require a minimum of 15 characters and a minimum number of
four words, as follows:
Note Not all possible combinations of the options for pam_passwdqc have been tested. Perform additional
testing after you change the default password settings.
See the vCenter Server and Host Management documentation for information on setting ESXi advanced
options.
Your ESXi host uses several networks. Use appropriate security measures for each network, and isolate
traffic for specific applications and functions. For example, ensure that vSphere vMotion traffic does not
travel over networks where virtual machines are located. Isolation prevents snooping. Having separate
networks also is recommended for performance reasons.
®
n vSphere infrastructure networks are used for features such as VMware vSphere vMotion , VMware
vSphere Fault Tolerance, and storage. These networks are considered to be isolated for their specific
functions and often are not routed outside a single physical set of server racks.
n A management network isolates client traffic, command-line interface (CLI) or API traffic, and third-
party software traffic from normal traffic. This network should be accessible only by system, network,
and security administrators. Use jump box or virtual private network (VPN) to secure access to the
management network. Strictly control access within this network to potential sources of malware.
n Virtual machine traffic can flow over one or many networks. You can enhance the isolation of virtual
machines by using virtual firewall solutions that set firewall rules at the virtual network controller.
These settings travel with a virtual machine as it migrates from host to host within your vSphere
environment.
Starting with vSphere 6.0, the MOB is disabled by default. However, for certain tasks, for example when
extracting the old certificate from a system, you have to use the MOB.
Procedure
1 Select the host in the vSphere Web Client and go to Advanced System Settings.
A user is considered trusted if their public key is in the /etc/ssh/keys-root/authorized_keys file on a host.
Trusted remote users are allowed to access the host without providing a password.
Procedure
n For day-to-day operations, disable SSH on ESXi hosts.
n Monitor the /etc/ssh/keys-root/authorized_keys file to verify that it is empty and no SSH keys have
been added to the file.
n If you find that the /etc/ssh/keys-root/authorized_keys file is not empty, remove any keys.
Disabling remote access with authorized keys might limit your ability to run commands remotely on a host
without providing a valid login. For example, this can prevent you from running an unattended remote
script.
You can view and manage these certificates from the vSphere Web Client and by using the
vim.CertificateManager API in the vSphere Web Services SDK. You cannot view or manage ESXi certificates
by using certificate managment CLIs that are available for managing vCenter Server certificates.
In vSphere 5.5 and earlier, the SSL endpoints are secured only by a combination of user name, password,
and thumbprint. Users can replace the corresponding self-signed certificates with their own certificates. See
the vSphere 5.5 Documentation Center.
In vSphere 6.0 and later, vCenter Server supports the following certificate modes for ESXi hosts.
VMware Certificate Authority (default) Use this mode if VMCA provisions all ESXi hosts, either as
the top-level CA or as an intermediary CA.
By default, VMCA provisions ESXi hosts with certificates.
In this mode, you can refresh and renew certificates from
the vSphere Web Client.
Custom Certificate Authority Use this mode if you want to use only custom certificates
that are signed by a third-party CA.
In this mode, you are responsible for managing the
certificates. You cannot refresh and renew certificates from
the vSphere Web Client.
Note Unless you change the certificate mode to Custom
Certificate Authority, VMCA might replace custom
certificates, for example, when you select Renew in the
vSphere Web Client.
Thumbprint Mode vSphere 5.5 used thumbprint mode, and this mode is still
available as a fallback option for vSphere 6.0. In this mode,
vCenter Server checks that the certificate is formatted
correctly, but does not check the validity of the certificate.
Even expired certificates are accepted.
Do not use this mode unless you encounter problems that
you cannot resolve with one of the other two modes. Some
vCenter 6.0 and later services might not work correctly in
thumbprint mode.
Certificate Expiration
Starting with vSphere 6.0, you can view information about certificate expiration for certificates that are
signed by VMCA or a third-party CA in the vSphere Web Client. You can view the information for all hosts
that are managed by a vCenter Server or for individual hosts. A yellow alarm is raised if the certificate is in
the Expiring Shortly state (less than 8 months). A red alarm is raised if the certificate is in the Expiration
Imminent state (less than 2 months).
The process is similar for hosts that are provisioned with Auto Deploy. However, because those host do not
store any state, the signed certificate is stored by the Auto Deploy server in its local certificate store. The
certificate is reused upon subsequent boots of the ESXi hosts. An Auto Deploy server is part of any
embedded deployment or management node.
If VMCA is not available when an Auto Deploy host boots the first time, the host first attempts to connect,
and then cycles through shut down and reboot until VMCA becomes available and the host can be
provisioned with a signed certificate.
Table 5‑2. When Host Name or IP Address Changes Require Manual Intervention
Host added to vCenter Server
using... Host name changes IP address changes
Host Provisioned with If your host is currently using thumbprint certificates, it is automatically
Thumbprint Certificates assigned VMCA certificates as part of the upgrade process.
Note You cannot provision legacy hosts with VMCA certificates. You must
upgrade to ESXi 6.0 or later.
Host Provisioned with If your host is provisioned with custom certificates, usually third-party CA-
Custom Certificates signed certificates, those certificates remain in place. Change the certificate
mode to Custom to ensure that the certificates are not replaced accidentally.
If you decide not to upgrade your hosts to vSphere 6.0 or later, the hosts retain the certificates that they are
currently using even if the host is managed by a vCenter Server system that uses VMCA certificates.
Hosts that are being provisioned by Auto Deploy are always assigned new certificates when they are first
booted with ESXi 6.0 software. When you upgrade a host that is provisioned by Auto Deploy, the Auto
Deploy server generates a certificate signing request (CSR) for the host and submits it to VMCA. VMCA
stores the signed certificate for the host. When the Auto Deploy server provisions the host, it retrieves the
certificate from VMCA and includes it as part of the provisioning process.
Consider changing the organization, and location information. You can change many of the default settings
using the vSphere Web Client. See “Change Certificate Default Settings,” on page 171.
You can view certificate status information for hosts that are using VMCA mode and for hosts that are using
custom mode in the vSphere Web Client. You cannot view certificate status information for hosts in
thumbprint mode.
Procedure
1 Browse to the host in the vSphere Web Client inventory hierarchy.
By default, the Hosts display does not include the certificate status.
3 Select Certificate Valid To, click OK, and scroll to the right if necessary.
If a host is added to vCenter Server or reconnected after a disconnect, vCenter Server renews the
certificate if the status is Expired, Expiring, Expiring shortly, or Expiration imminent. The status is
Expiring if the certificate is valid for less than eight months, Expiring shortly if the certificate is valid for
less than two months, and Expiration imminent if the certificate is valid for less than one month.
4 (Optional) Deselect other columns to make it easier to see what you are interested in.
What to do next
Renew the certificates that are about to expire. See “Renew or Refresh ESXi Certificates,” on page 170.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
You can examine the following information. This information is available only in the single-host view.
Field Description
Subject The subject used during certificate generation.
Issuer The issuer of the certificate.
Valid From Date on which the certificate was generated.
Valid To Date on which the certificate expires.
Status Status of the certificate, one of the following.
You can renew your certificates when they are about to expire, or if you want to provision the host with a
new certificate for other reasons. If the certificate is already expired, you must disconnect the host and
reconnect it.
By default, vCenter Server renews the certificates of a host with status Expired, Expiring immediately, or
Expiring each time the host is added to the inventory, or reconnected.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
Option Description
Renew Retrieves a fresh signed certificate for the host from VMCA.
Refresh CA Certificates Pushes all certificates in the TRUSTED_ROOTS store in the vCenter Server
VECS store to the host.
Change company-specific default certificate settings. See “ESXi Certificate Default Settings,” on page 168 for
a complete list of default settings. Some of the defaults cannot be changed.
Procedure
1 In the vSphere Web Client, select the vCenter Server system that manages the hosts.
4 In the Filter box, enter certmgmt to display only certificate management parameters.
5 Change the value of the existing parameters to follow company policy and click OK.
The next time you add a host to vCenter Server, the new settings are used in the CSR that
vCenter Server sends to VMCA and in the certificate that is assigned to the host.
What to do next
Changes to certificate metadata only affect new certificates. If you want to change the certificates of hosts
that are already managed by the vCenter Server system, you can disconnect and reconnect the hosts.
In vSphere 6.0 and later, vCenter Server supports the following certificate modes for ESXi hosts.
VMware Certificate Authority (default) By default, the VMware Certificate Authority is used as the
CA for ESXi host certificates. VMCA is the root CA by
default, but it can be set up as the intermediary CA to
another CA. In this mode, users can manage certificates
from the vSphere Web Client. Also used if VMCA is a
subordinate certificate.
Custom Certificate Authority Some customers might prefer to manage their own external
certificate authority. In this mode, customers are
responsible for managing the certificates and cannot
manage them from the vSphere Web Client.
Thumbprint Mode vSphere 5.5 used thumbprint mode, and this mode is still
available as a fallback option for vSphere 6.0. Do not use
this mode unless you encounter problems with one of the
other two modes that you cannot resolve. Some vCenter 6.0
and later services might not work correctly in thumbprint
mode.
2 Place the host or hosts into maintenance mode and disconnect them from vCenter Server.
4 Deploy the custom CA certificates to each host and restart services on that host.
5 Switch to Custom CA mode. See “Change the Certificate Mode,” on page 173.
2 On the vCenter Server system, remove the third-party CA's root certificate from VECS.
3 Switch to VMCA mode. See “Change the Certificate Mode,” on page 173.
Note Any other workflow for this mode switch might result in unpredictable behavior.
2 Switch to VMCA certificate mode. See “Change the Certificate Mode,” on page 173.
Note Any other workflow for this mode switch might result in unpredictable behavior.
2 Add the custom CA root certificate to TRUSTED_ROOTS store on VECS on the vCenter Server system.
See “Update the vCenter Server TRUSTED_ROOTS Store (Custom Certificates),” on page 176.
4 Switch to custom mode. See “Change the Certificate Mode,” on page 173.
You can use the vCenter Server advanced settings to change to thumbprint mode or to custom CA mode.
Use thumbprint mode only as a fallback option.
Procedure
1 Select the vCenter Server that manages the hosts and click Settings.
3 In the Filter box, enter certmgmt to display only certificate management keys.
4 Change the value of vpxd.certmgmt.mode to custom if you intend to manage your own certificates, and
to thumbprint if you temporarily want to use thumbprint mode, and click OK.
By default, vSphere components use the VMCA-signed certificate and key that are created during
installation. If you accidentally delete the VMCA-signed certificate, remove the host from its vCenter Server
system, and add it back. When you add the host, vCenter Server requests a new certificate from VMCA and
provisions the host with it.
Replace VMCA-signed certificates with certificates from a trusted CA, either a commercial CA or an
organizational CA, if company policy requires it.
The default certificates are in the same location as the vSphere 5.5 certificates. You can replace the default
certificates with trusted certificates in a number of ways.
Note You can also use the vim.CertificateManager and vim.host.CertificateManager managed objects in
the vSphere Web Services SDK. See the vSphere Web Services SDK documentation.
After you replace the certificate, you have to update the TRUSTED_ROOTS store in VECS on the
vCenter Server system that manages the host to ensure that the vCenter Server and the ESXi host have a
trust relationship.
n Replace the Default Certificate and Key from the ESXi Shell on page 175
You can replace the default VMCA-signed ESXi certificates from the ESXi Shell.
n Replace a Default Certificate and Key With the vifs Command on page 175
You can replace the default VMCA-signed ESXi certificates with the vifs command.
n Update the vCenter Server TRUSTED_ROOTS Store (Custom Certificates) on page 176
If you set up your ESXi hosts to use custom certificates, you have to update the TRUSTED_ROOTS store on
the vCenter Server system that manages the hosts.
n 2048 bits
n PKCS1
n No wildcards
n CN (and SubjectAltName) set to the host name (or IP address) that the ESXi host has in the
vCenter Server inventory.
Replace the Default Certificate and Key from the ESXi Shell
You can replace the default VMCA-signed ESXi certificates from the ESXi Shell.
Prerequisites
n If you want to use third-party CA-signed certificates, generate the certificate request, send it to the
certificate authority, and store the certificates on each ESXi host.
n If necessary, enable the ESXi Shell or enable SSH traffic from the vSphere Web Client. See the vSphere
Security publication for information on enabling access to the ESXi Shell.
n All file transfers and other communications occur over a secure HTTPS session. The user who is used to
authenticate the session must have the privilege Host.Config.AdvancedConfig on the host. See the
vSphere Security publication for information on assigning privileges through roles.
Procedure
1 Log in to the ESXi Shell, either directly from the DCUI or from an SSH client, as a user with
administrator privileges.
2 In the directory /etc/vmware/ssl, rename the existing certificates using the following commands.
mv rui.crt orig.rui.crt
mv rui.key orig.rui.key
Alternatively, you can put the host into maintenance mode, install the new certificate, use the Direct
Console User Interface (DCUI) to restart the management agents, and set the host to exit maintenance
mode.
What to do next
Update the vCenter Server TRUSTED_ROOTS store. See “Update the vCenter Server TRUSTED_ROOTS
Store (Custom Certificates),” on page 176.
Prerequisites
n If you want to use third-party CA-signed certificates, generate the certificate request, send it to the
certificate authority, and store the certificates on each ESXi host.
n If necessary, enable the ESXi Shell or enable SSH traffic from the vSphere Web Client. See the vSphere
Security publication for information on enabling access to the ESXi Shell.
n All file transfers and other communications occur over a secure HTTPS session. The user who is used to
authenticate the session must have the privilege Host.Config.AdvancedConfig on the host. See the
vSphere Security publication for information on assigning privileges through roles.
Procedure
1 Back up the existing certificates.
2 Generate a certificate request following the instructions from the certificate authority.
3 When you have the certificate, use the vifs command to upload the certificate to the appropriate
location on the host from an SSH connection to the host.
What to do next
Update the vCenter Server TRUSTED_ROOTS store. See “Update the vCenter Server TRUSTED_ROOTS
Store (Custom Certificates),” on page 176.
Prerequisites
n If you want to use third-party CA-signed certificates, generate the certificate request, send it to the
certificate authority, and store the certificates on each ESXi host.
n If necessary, enable the ESXi Shell or enable SSH traffic from the vSphere Web Client. See the vSphere
Security publication for information on enabling access to the ESXi Shell.
n All file transfers and other communications occur over a secure HTTPS session. The user who is used to
authenticate the session must have the privilege Host.Config.AdvancedConfig on the host. See the
vSphere Security publication for information on assigning privileges through roles.
Procedure
1 Back up the existing certificates.
Option Description
Certificates https://hostname/host/ssl_cert
Keys https://hostname/host/ssl_key
The location /host/ssl_cert and host/ssl_key link to the certificate files in /etc/vmware/ssl.
What to do next
Update the vCenter Server TRUSTED_ROOTS store. See “Update the vCenter Server TRUSTED_ROOTS
Store (Custom Certificates),” on page 176.
Prerequisites
Replace the certificates on each host with custom certificates.
Procedure
1 Log in to the vCenter Server system that manages the ESXi hosts.
Log in to the Windows system on which you installed the software, or log in to the
vCenter Server Appliance shell.
2 Run vecs-cli to add the new certificates to the TRUSTED_ROOTS store, for example:
Option Description
Linux /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store
TRUSTED_ROOTS --alias custom1.crt --
cert /etc/vmware/ssl/custom1.crt
Windows C:\Program Files\VMware\vCenter Server\vmafdd\vecs-cli
entry create --store TRUSTED_ROOTS --alias custom1.crt --
cert c:\ssl\custom1.crt
What to do next
Set certificate mode to Custom. If certificate mode is VMCA, the default, and you perform a certificate
refresh, your custom certificates are replaced with VMCA-signed certificates. See “Change the Certificate
Mode,” on page 173.
Prerequisites
n Request a certificate that meets your requirements from your CA.
n PEM format. VMware supports PKCS8 and PKCS1 (RSA keys). When keys are added to VECS,
they are converted to PKCS8
n x509 version 3
n For root certificates, the CA extension must be set to true, and the cert sign must be in the list of
requirements.
n CRT format
n Contains the following Key Usages: Digital Signature, Non Repudiation, Key Encipherment
n CN (and SubjectAltName) set to the host name (or IP address) that the ESXi host has in the
vCenter Server inventory.
Procedure
1 Back up the default ESXi certificates.
2 From the vSphere Web Client, stop the Auto Deploy service.
b Click Services.
4 On the system where the Auto Deploy service runs, update the TRUSTED_ROOTS store in VECS to use
your new certificates.
Linux /usr/lib/vmware-vmafd/bin/vecs-cli
5 Create a castore.pem file that contains what's in TRUSTED_ROOTS and place the file in
the /etc/vmware-rbd/ssl/ directory.
6 Change the certificate mode for the vCenter Server system to custom.
7 Restart the vCenter Server service and start the Auto Deploy service.
The next time you provision a host that is set up to use Auto Deploy, the Auto Deploy server generates a
certificate using the root certificate that you just added to the TRUSTED_ROOTS store.
The host certificate and key are located in /etc/vmware/ssl/rui.crt and /etc/vmware/ssl/rui.key. When
you replace a host certificate and key by using the vSphere Web Services SDK vim.CertificateManager
managed object, the previous key and certificate are appended to the file /etc/vmware/ssl/rui.bak.
Note If you replace the certificate by using HTTP PUT, vifs, or from the ESXi Shell, the existing certificates
are not appended to the .bak file.
Procedure
1 On the ESXi host, locate the file /etc/vmware/ssl/rui.bak.
#
# Host private key and certificate backup from 2014-06-20 08:02:49.961
#
-----BEGIN CERTIFICATE-----
previous cert
-----END CERTIFICATE-----
2 Copy the text starting with -----BEGIN PRIVATE KEY----- and ending with -----END PRIVATE KEY-----
into the /etc/vmware/ssl/rui.key file.
3 Copy the text between -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- into
the /etc/vmware/ssl/rui.crt file.
4 Restart the host or send ssl_reset events to all services that use the keys.
At installation time, the ESXi firewall is configured to block incoming and outgoing traffic, except traffic for
services that are enabled in the host's security profile.
As you open ports on the firewall, consider that unrestricted access to services running on an ESXi host can
expose a host to outside attacks and unauthorized access. Reduce the risk by configuring the ESXi firewall to
allow access only from authorized networks.
Note The firewall also allows Internet Control Message Protocol (ICMP) pings and communication with
DHCP and DNS (UDP only) clients.
n Use the security profile for each host in the vSphere Web Client. See “Manage ESXi Firewall Settings,”
on page 180
n Use ESXCLI commands from the command line or in scripts. See “ESXi ESXCLI Firewall Commands,”
on page 184.
n Use a custom VIB if the port you want to open is not included in the security profile.
You create custom VIBs with the vibauthor tool available from VMware Labs. To install the custom VIB,
you have to change the acceptance level of the ESXi host to CommunitySupported. See VMware
Knowledge Base Article 2007381.
Note If you engage VMware Technical Support to investigate a problem on an ESXi host with a
CommunitySupported VIB installed, VMware Support might request that this CommunitySupported
VIB be uninstalled as a troubleshooting step to determine if that VIB is related to the problem being
investigated.
The behavior of the NFS Client rule set (nfsClient) is different from other rule sets. When the NFS Client
rule set is enabled, all outbound TCP ports are open for the destination hosts in the list of allowed IP
addresses. See “NFS Client Firewall Behavior,” on page 183 for more information.
Note If different services have overlapping port rules, enabling one service might implicitly enable other
services. You can specify which IP addresses are allowed to access each service on the host to avoid this
problem.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
The vSphere Web Client displays a list of active incoming and outgoing connections with the
corresponding firewall ports.
The display shows firewall rule sets, which include the name of the rule and the associated information.
5 Select the rule sets to enable, or deselect the rule sets to disable.
Column Description
Incoming Ports and Outgoing Ports The ports that the vSphere Web Client opens for the service
Protocol Protocol that a service uses.
Daemon Status of daemons associated with the service
n Use the Start, Stop, or Restart buttons to change the status of a service temporarily.
n Change the Startup Policy to have the service start with the host or with port usage.
7 For some services, you can explicitly specify IP addresses from which connections are allowed.
8 Click OK.
You can use the vSphere Web Client, vCLI, or PowerCLI to update the Allowed IP list for a service. By
default, all IP addresses are allowed for a service.
Adding Allowed IP Addresses to the ESXi Firewall
(http://link.brightcove.com/services/player/bcpid2296383276001?
bctid=ref:video_adding_allowed_IP_to_esxi_firewall)
Procedure
1 Browse to the host in the vSphere Web Client inventory.
5 In the Allowed IP Addresses section, deselect Allow connections from any IP address and enter the IP
addresses of networks that are allowed to connect to the host.
Separate IP addresses with commas. You can use the following address formats:
n 192.168.0.0/24
n 192.168.1.2, 2001::1/64
n fd3e:29a6:0a81:e478::/64
6 Click OK.
CIM Server 5988 (TCP) Server for CIM (Common Information Model).
CIM SLP 427 (TCP, UDP) The CIM client uses the Service Location Protocol,
version 2 (SLPv2) to find CIM servers.
DVSSync 8301, 8302 (UDP) DVSSync ports are used for synchronizing states
of distributed virtual ports between hosts that
have VMware FT record/replay enabled. Only
hosts that run primary or backup virtual machines
must have these ports open. On hosts that are not
using VMware FT these ports do not have to be
open.
Virtual SAN Clustering Service 12345, 23451 (UDP) Virtual SAN Cluster Monitoring and Membership
Directory Service. Uses UDP-based IP multicast to
establish cluster members and distribute Virtual
SAN metadata to all cluster members. If disabled,
Virtual SAN does not work.
Fault Tolerance 8200, 8100, 8300 (TCP, UDP) Traffic between hosts for vSphere Fault Tolerance
(FT).
NSX Distributed Logical Router 6999 (UDP) NSX Virtual Distributed Router service. The
Service firewall port associated with this service is opened
when NSX VIBs are installed and the VDR module
is created. If no VDR instances are associated with
the host, the port does not have to be open.
This service was called NSX Distributed Logical
Router in earlier versions of the product.
Virtual SAN Transport 2233 (TCP) Virtual SAN reliable datagram transport. Uses
TCP and is used for Virtual SAN storage IO. If
disabled, Virtual SAN does not work.
SNMP Server 161 (UDP) Allows the host to connect to an SNMP server.
vSphere Web Access 80 (TCP) Welcome page, with download links for different
interfaces.
CIM SLP 427 (TCP, UDP) The CIM client uses the Service Location Protocol,
version 2 (SLPv2) to find CIM servers.
DVSSync 8301, 8302 (UDP) DVSSync ports are used for synchronizing states
of distributed virtual ports between hosts that
have VMware FT record/replay enabled. Only
hosts that run primary or backup virtual machines
must have these ports open. On hosts that are not
using VMware FT these ports do not have to be
open.
HBR 44046, 31031 (TCP) Used for ongoing replication traffic by vSphere
Replication and VMware Site Recovery Manager.
Virtual SAN Clustering Service 12345 23451 (UDP) Cluster Monitoring, Membership, and Directory
Service used by Virtual SAN.
Fault Tolerance 80, 8200, 8100, 8300 (TCP, UDP) Supports VMware Fault Tolerance.
NSX Distributed Logical Router 6999 (UDP) The firewall port associated with this service is
Service opened when NSX VIBs are installed and the VDR
module is created. If no VDR instances are
associated with the host, the port does not have to
be open.
rabbitmqproxy 5671 (TCP) A proxy running on the ESXi host that allows
applications running inside virtual machines to
communicate to the AMQP brokers running in the
vCenter network domain. The virtual machine
does not have to be on the network, that is, no NIC
is required. The proxy connects to the brokers in
the vCenter network domain. Therefore, the
outgoing connection IP addresses should at least
include the current brokers in use or future
brokers. Brokers can be added if customer would
like to scale up.
Virtual SAN Transport 2233 (TCP) Used for RDT traffic (Unicast peer to peer
communication) between Virtual SAN nodes.
vsanvp 8080 (TCP) Used for Virtual SAN Vendor Provider traffic.
When you add, mount, or unmount an NFS datastore, the resulting behavior depends on the version of
NFS.
n If the nfsClient rule set is disabled, ESXi enables the rule set and disables the Allow All IP Addresses
policy by setting the allowedAll flag to FALSE. The IP address of the NFS server is added to the allowed
list of outgoing IP addresses.
n If the nfsClient rule set is enabled, the state of the rule set and the allowed IP address policy are not
changed. The IP address of the NFS server is added to the allowed list of outgoing IP addresses.
Note If you manually enable the nfsClient rule set or manually set the Allow All IP Addresses policy,
either before or after you add an NFS v3 datastore to the system, your settings are overridden when the last
NFS v3 datastore is unmounted. The nfsClient rule set is disabled when all NFS v3 datastores are
unmounted.
When you remove or unmount an NFS v3 datastore, ESXi performs one of the following actions.
n If none of the remaining NFS v3 datastores are mounted from the server of the datastore being
unmounted, ESXi removes the server's IP address from the list of outgoing IP addresses.
n If no mounted NFS v3 datastores remain after the unmount operation, ESXi disables the nfsClient
firewall rule set.
You can use the ESXi Shell or vSphere CLI commands to configure ESXi at the command line to automate
firewall configuration. See Getting Started with vSphere Command-Line Interfaces for an introduction, and
vSphere Command-Line Interface Concepts and Examples for examples of using ESXCLI to manipulate firewalls
and firewall rules.
esxcli network firewall get Return the enabled or disabled status of the firewall and
lists default actions.
esxcli network firewall set --default-action Set to true to set the default action to pass, set to fals to set
the default action to drop.
esxcli network firewall set --enabled Enable or disable the ESXi firewall.
esxcli network firewall load Load the firewall module and rule set configuration files.
esxcli network firewall refresh Refresh the firewall configuration by reading the rule set
files if the firewall module is loaded.
esxcli network firewall unload Destroy filters and unload the firewall module.
esxcli network firewall ruleset set --allowed- Set to true to allow all access to all IPs, set to false to use a
all list of allowed IP addresses.
esxcli network firewall ruleset set --enabled Set enabled to true or false to enable or disable the
--ruleset-id=<string> specified ruleset.
esxcli network firewall ruleset allowedip list List the allowed IP addresses of the specified rule set.
esxcli network firewall ruleset allowedip add Allow access to the rule set from the specified IP address or
range of IP addresses.
esxcli network firewall ruleset allowedip Remove access to the rule set from the specified IP address
remove or range of IP addresses.
esxcli network firewall ruleset rule list List the rules of each ruleset in the firewall.
“Use the vSphere Web Client to Enable Access to the ESXi Shell,” on page 208 is an example of how to
enable a service.
Note Enabling services affects the security of your host. Do not enable a service unless strictly necessary.
Available services depend on the VIBs that are installed on the ESXi host. You cannot add services without
installing a VIB. Some VMware products, for example, vSphere HA, install VIBs on hosts and make services
and the corresponding firewall ports available.
In a default installation, you can modify the status of the following services from the vSphere Web Client.
Direct Console UI Running The Direct Console User Interface (DCUI) service
allows you to interact with an ESXi host from the local
console host using text-based menus.
ESXi Shell Stopped The ESXi Shell is available from the Direct Console
User Interface and includes a set of fully supported
commands and a set of commands for troubleshooting
and remediation. You must enable access to
theESXi Shell from the direct console of each system.
You can enable access to the local ESXi Shell or access
to the ESXi Shell with SSH.
SSH Stopped The host's SSH client service that allows remote
connections through Secure Shell.
Local Security Authentication Stopped Part of Active Directory Service. When you configure
Server (Active Directory Service) ESXi for Active Directory, this service is started.
I/O Redirector (Active Directory Stopped Part of Active Directory Service. When you configure
Service) ESXi for Active Directory, this service is started.
Network Login Server (Active Stopped Part of Active Directory Service. When you configure
Directory Service) ESXi for Active Directory, this service is started.
SNMP Server Stopped SNMP daemon. See vSphere Monitoring and Performance
for information on configuring SNMP v1, v2, and v3.
Syslog Server Stopped Syslog daemon. You can enable syslog from the
Advanced System Settings in the vSphere Web Client.
See vSphere Installation and Setup.
vSphere High Availability Agent Stopped Supports vSphere High Availability functionality.
VMware vCenter Agent Running vCenter Server agent. Allows a vCenter Server to
connect to an ESXi host. Specifically, vpxa is the
communication conduit to the host daemon, which in
turn communicates with the ESXi kernel.
X.Org Server Stopped X.Org Server. This optional feature is used internally
for 3D graphics for virtual machines.
After installation, certain services are running by default, while others are stopped. In some cases,
additional setup is necessary before a service becomes available in the vSphere Web Client UI. For example,
the NTP service is a way of getting accurate time information, but this service only works when required
ports are opened in the firewall.
Prerequisites
Connect to vCenter Server with the vSphere Web Client.
Procedure
1 Browse to a host in the vSphere Web Client inventory, and select a host.
5 In the Service Details pane, select Start, Stop, or Restart for a one-time change to the host's status, or
select from the Startup Policy menu to change the status of the host across reboots.
n Start automatically if any ports are open, and stop when all ports are closed: The default setting
for these services. If any port is open, the client attempts to contact the network resources for the
service. If some ports are open, but the port for a particular service is closed, the attempt fails. If
and when the applicable outgoing port is opened, the service begins completing its startup.
n Start and stop with host: The service starts shortly after the host starts, and closes shortly before
the host shuts down. Much like Start automatically if any ports are open, and stop when all ports
are closed, this option means that the service regularly attempts to complete its tasks, such as
contacting the specified NTP server. If the port was closed but is subsequently opened, the client
begins completing its tasks shortly thereafter.
n Start and stop manually: The host preserves the user-determined service settings, regardless of
whether ports are open or not. When a user starts the NTP service, that service is kept running as
long as the host is powered on. If the service is started and the host is powered off, the service is
stopped as part of the shutdown process, but as soon as the host is powered on, the service is
started again, preserving the user-determined state.
Note These settings apply only to service settings that are configured through the vSphere Web Client
or to applications that are created with the vSphere Web Services SDK. Configurations made through
other means, such as from the ESXi Shell or with configuration files, are not affected by these settings.
Lockdown Mode
To increase the security of your ESXi hosts, you can put them in lockdown mode. In lockdown mode,
operations must be performed through vCenter Server by default.
Starting with vSphere 6.0, you can select normal lockdown mode or strict lockdown mode, which offer
different degrees of lockdown. vSphere 6.0 also introduces the Exception User list. Exception users do not
lose their privileges when the host enters lockdown mode. Use the Exception User list to add the accounts of
third-party solutions and external applications that need to access the host directly when the host is in
lockdown mode. See “Specify Lockdown Mode Exception Users,” on page 192.
Normal Lockdown Mode In normal lockdown mode the DCUI service is not stopped. If the connection
to the vCenter Server system is lost and access through the
vSphere Web Client is no longer available, privileged accounts can log in to
the ESXi host's Direct Console Interface and exit lockdown mode. Only the
following accounts can access the Direct Console User Interface:
n Accounts in the Exception User list for lockdown mode who have
administrative privileges on the host. The Exception Users list is meant
for service accounts that perform very specific tasks. Adding ESXi
administrators to this list defeats the purpose of lockdown mode.
n Users defined in the DCUI.Access advanced option for the host. This
option is for emergency access to the Direct Console Interface in case the
connection to vCenter Server is lost. These users do not require
administrative privileges on the host.
Strict Lockdown Mode In strict lockdown mode, which is new in vSphere 6.0, the DCUI service is
stopped. If the connection to vCenter Server is lost and the
vSphere Web Client is no longer available, the ESXi host becomes unavailable
unless the ESXi Shell and SSH services are enabled and Exception Users are
defined. If you cannot restore the connection to the vCenter Server system,
you have to reinstall the host.
When a host is in lockdown mode, users on the Exception Users list can access the host from the ESXi Shell
and through SSH if they have the Administrator role on the host. This access is possible even in strict
lockdown mode. Leaving the ESXi Shell service and the SSH service disabled is the most secure option.
Note The Exception Users list is meant for service accounts that perform specific tasks such as host
backups, and not for administrators. Adding administrator users to the Exception Users list defeats the
purpose of lockdown mode.
n When using the Add Host wizard to add a host to a vCenter Server system.
n Using the vSphere Web Client. See “Enable Lockdown Mode Using the vSphere Web Client,” on
page 189. You can enable both normal lockdown mode and strict lockdown mode from the
vSphere Web Client.
n Using the Direct Console User Interface (DCUI). See “Enable or Disable Normal Lockdown Mode from
the Direct Console User Interface,” on page 190.
Privileged users can disable lockdown mode from the vSphere Web Client. They can disable normal
lockdown mode from the Direct Console Interface, but they cannot disable strict lockdown mode from the
Direct Console Interface.
Note If you enable or disable lockdown mode using the Direct Console User Interface, permissions for
users and groups on the host are discarded. To preserve these permissions, you can enable and disable
lockdown mode using the vSphere Web Client.
n In strict and normal lockdown mode, privileged users can access the host through vCenter Server,
either from the vSphere Web Client or by using the vSphere Web Services SDK.
n Direct Console Interface behavior differs for strict lockdown mode and normal lockdown mode.
n In strict lockdown mode, the Direct Console User Interface (DCUI) service is disabled.
n In normal lockdown mode, accounts on the Exception User list who have administrator privileges
and users who are specified in the DCUI.Access advanced system setting can access the Direct
Console Interface.
n If the ESXi Shell or SSH are enabled and the host is placed in strict or normal lockdown mode, accounts
on the Exception Users list who have administrator privileges can use these services. For all other users,
ESXi Shell or SSH access is disabled. Starting with vSphere 6.0, ESXi or SSH sessions for users who do
not have administrator privileges are terminated.
All access is logged for both strict and normal lockdown mode.
vSphere Web Services API All users, based on vCenter (vpxuser) vCenter (vpxuser)
permissions Exception users, based Exception users, based on
on permissions permissions
vCloud Director vCloud Director (vslauser, if
(vslauser, if available) available)
Direct Console UI (DCUI) Users with administrator Users defined in the DCUI service is stopped
privileges on the host , DCUI.Access advanced
and users in the option
DCUI.Access advanced Exception users with
option administrator privileges
on the host
ESXi Shell Users with administrator Users defined in the Users defined in the DCUI.Access
(if enabled) privileges on the host DCUI.Access advanced advanced option
option Exception users with administrator
Exception users with privileges on the host
administrator privileges
on the host
SSH Users with administrator Users defined in the Users defined in the DCUI.Access
(if enabled) privileges on the host DCUI.Access advanced advanced option
option Exception users with administrator
Exception users with privileges on the host
administrator privileges
on the host
To completely disallow all direct access to a host, you can select strict lockdown mode. Strict lockdown
mode makes it impossible to access a host if the vCenter Server is unavailable and SSH and the ESXi Shell
are disabled. See “Lockdown Mode Behavior,” on page 188.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
5 Click Lockdown Mode and select one of the lockdown mode options.
Option Description
Normal The host can be accessed through vCenter Server. Only users who are on
the Exception Users list and have administrator privileges can log in to the
Direct Console User Interface. If SSH or the ESXi Shell are enabled, access
might be possible.
Strict The host can only be accessed through vCenter Server. If SSH or the ESXi
Shell are enabled, running sessions for accounts in the DCUI.Access
advanced option and for Exception User accounts that have administrator
privileges remain enabled. All other sessions are terminated.
6 Click OK.
From the Users can disable both normal lockdown mode and strict lockdown mode
vSphere Web Client from the vSphere Web Client.
From the Direct Console Users who can access the Direct Console User Interface on the ESXi host can
User Interface disable normal lockdown mode. In strict lockdown mode, the Direct Console
Interface service is stopped.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
2 Click the Manage tab and click Settings.
The system exits lockdown mode, vCenter Server displays an alarm, and an entry is added to the audit log.
Enable or Disable Normal Lockdown Mode from the Direct Console User Interface
You can enable and disable normal lockdown mode from the Direct Console User Interface (DCUI). You can
enable and disable strict lockdown mode only from the vSphere Web Client.
When the host is in normal lockdown mode, the following accounts can access the Direct Console User
Interface:
n Accounts in the Exception Users list who have administrator privileges on the host. The Exception
Users list is meant for service accounts such as a backup agent.
n Users defined in the DCUI.Access advanced option for the host. This option can be used to enable
access in case of catastrophic failure.
For ESXi 6.0 and later, user permissions are preserved when you enable lockdown mode, and are restored
when you disable lockdown mode from the Direct Console Interface.
Note If you upgrade a host that is in lockdown mode to ESXi version 6.0 without exiting lockdown mode,
and if you exit lockdown mode after the upgrade, all the permissions defined before the host entered
lockdown mode are lost. The system assigns the administrator role to all users who are found in the
DCUI.Access advanced option to guarantee that the host remains accessible.
To retain permissions, disable lockdown mode for the host from the vSphere Web Client before the upgrade.
Procedure
1 At the Direct Console User Interface of the host, press F2 and log in.
2 Scroll to the Configure Lockdown Mode setting and press Enter to toggle the current setting.
3 Press Esc until you return to the main menu of the Direct Console User Interface.
What different accounts can do by default when lockdown mode is enabled, and how you can change the
default behavior, depends on the version of the vSphere environment.
n In versions of vSphere earlier than vSphere 5.1, only the root user can log into the Direct Console User
Interface on an ESXi host that is in lockdown mode.
n In vSphere 5.1 and later, you can add a user to the DCUI.Access advanced system setting for each host.
The option is meant for catastrophic failure of vCenter Server, and the password for the user with this
access is usually locked into a safe. A user in the DCUI.Access list does not need to have full
administrative privileges on the host.
n In vSphere 6.0 and later, the DCUI.Access advanced system setting is still supported. In addition,
vSphere 6.0 and later supports an Exception User list, which is for service accounts that have to log in to
the host directly. Accounts with administrator privileges that are on the Exception Users list can log in
to the ESXi Shell. In addition, those user can log in to a host's DCUI in normal lockdown mode and can
exit lockdown mode.
Note Exception users are host local users or Active Directory users with privileges defined locally for
the ESXihost. Users that are members of an Active Directory group lose their permissions when the host
is in lockdown mode.
Note Users in the DCUI.Access list can change lockdown mode settings regardless of their privileges. This
can impact the security of your host. For service accounts that need direct access to the host, consider adding
users to the Exception Users list instead. Exception user can only perform tasks for which they have
privileges. See “Specify Lockdown Mode Exception Users,” on page 192.
Procedure
1 Browse to the host in the vSphere Web Client object navigator.
By default, the root user is included. Consider removing root from the DCUI.Access, list and specifying
a named account for better auditability.
5 Click OK.
Note The Exception Users list is meant for service accounts that perform very specific tasks, and not for
administrators. Adding administrator users to the Exception Users list defeats the purpose of lockdown
mode.
Exception users are host local users or Active Directory users with privileges defined locally for the ESXi
host. They are not members of an Active Directory group and are not vCenter Server users. These users are
allowed to perform operations on the host based on their privileges. That means, for example, that a read-
only user cannot disable lockdown mode on a host.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
5 Click Exception Users and click the plus icon to add exception users.
You can use ESXCLI commands to set an acceptance level for a host. The host's acceptance level must be the
same or less restrictive than the acceptance level of any VIB you want to add to the host. To protect the
security and integrity of your ESXi hosts, do not allow unsigned (CommunitySupported) VIBs to be
installed on hosts in production systems.
The following acceptance levels are supported.
VMwareCertified The VMwareCertified acceptance level has the most stringent requirements.
VIBs with this level go through thorough testing fully equivalent to VMware
in-house Quality Assurance testing for the same technology. Today, only
IOVP drivers are published at this level. VMware takes support calls for VIBs
with this acceptance level.
VMwareAccepted VIBs with this acceptance level go through verification testing, but the tests
do not fully test every function of the software. The partner runs the tests
and VMware verifies the result. Today, CIM providers and PSA plug-ins are
among the VIBs published at this level. VMware directs support calls for
VIBs with this acceptance level to the partner's support organization.
PartnerSupported VIBs with the PartnerSupported acceptance level are published by a partner
that VMware trusts. The partner performs all testing. VMware does not
verify the results. This level is used for a new or nonmainstream technology
that partners want to enable for VMware systems. Today, driver VIB
technologies such as Infiniband, ATAoE, and SSD are at this level with
nonstandard hardware drivers. VMware directs support calls for VIBs with
this acceptance level to the partner's support organization.
Procedure
1 Connect to each ESXi host and verify that the acceptance level is set to VMwareCertified or
VMwareAccepted by running the following command.
2 If the host acceptance level is not VMwareCertified or VMwareAccepted, determine whether any of the
VIBs are not at the VMwareCertified or VMwareAccepted level by running the following commands.
3 Remove any VIBs that are at the PartnerSupported or CommunitySupported level by running the
following command.
4 Change the acceptance level of the host by running the following command.
You can select the ESXi host object in the vCenter Server object hierarchy and assign the administrator role
to a limited number of users who might perform direct management on the ESXi host. See “Using Roles to
Assign Privileges,” on page 151.
Best practice is to create at least one named user account, assign it full administrative privileges on the host,
and use this account instead of the root account. Set a highly complex password for the root account and
limit the use of the root account. (Do not remove the root account.)
You can add local users and define custom roles from the Management tab of the vSphere Client.
For all versions of ESXi, you can see the list of predefined users in the /etc/passwd file.
Read Only Allows a user to view objects associated with the ESXi host but not to make
any changes to objects.
No Access No access. This is the default. You can override the default as appropriate.
You can manage local users and groups and add local custom roles to an ESXi host using a vSphere Client
connected directly to the ESXi host.
Starting with vSphere 6.0, you can use ESXCLI account management commands for managing ESXi local
user accounts. You can use ESXCLI permission management commands for setting or removing permissions
on both Active Directory accounts (users and groups) and on ESXi local accounts (users only).
Note If you define a user for the ESXi host by connecting to the host directly, and a user with the same
name also exists in vCenter Server, those users are different. If you assign a role to one of the users, the other
user is not assigned the same role.
This common root account can make it easier to break into an ESXi host and make it harder to match actions
to a specific administrator.
Set a highly complex password for the root account and limit the use of the root account, for example, for
use when adding a host to vCenter Server. Do not remove the root account. In vSphere 5.1 and later, only
the root user and no other named user with the Administrator role is permitted to add a host to
vCenter Server.
Best practice is to ensure that any account with the Administrator role on an ESXi host is assigned to a
specific user with a named account. Use ESXi Active Directory capabilities, which allow you to manage
Active Directory credentials if possible.
Important If you remove the access privileges for the root user, you must first create another permission
at the root level that has a different user assigned to the Administrator role.
vpxuser Privileges
vCenter Server uses vpxuser privileges when managing activities for the host.
vCenter Server has Administrator privileges on the host that it manages. For example, vCenter Server can
move virtual machines to and from hosts and perform configuration changes needed to support virtual
machines.
The vCenter Server administrator can perform most of the same tasks on the host as the root user and also
schedule tasks, work with templates, and so forth. However, the vCenter Server administrator cannot
directly create, delete, or edit local users and groups for hosts. These tasks can only be performed by a user
with Administrator permissions directly on each host.
Caution Do not change vpxuser in any way. Do not change its password. Do not change its permissions. If
you do so, you might experience problems when working with hosts through vCenter Server.
This user acts as an agent for the direct console and cannot be modified or used by interactive users.
Creating local user accounts on each host presents challenges with having to synchronize account names
and passwords across multiple hosts. Join ESXi hosts to an Active Directory domain to eliminate the need to
create and maintain local user accounts. Using Active Directory for user authentication simplifies the ESXi
host configuration and reduces the risk for configuration issues that could lead to unauthorized access.
When you use Active Directory, users supply their Active Directory credentials and the domain name of the
Active Directory server when adding a host to a domain.
If an earlier version of the vSphere Authentication Proxy is installed on your system, this procedure
upgrades the vSphere Authentication Proxy to the current version.
You can install vSphere Authentication Proxy on the same machine as the associated vCenter Server, or on a
different machine that has network connection to the vCenter Server. vSphere Authentication Proxy is
supported with vCenter Server versions 5.0 and later.
The vSphere Authentication Proxy service binds to an IPv4 address for communication with vCenter Server,
and does not support IPv6. The vCenter Server instance can be on a host machine in an IPv4-only, IPv4/IPv6
mixed-mode, or IPv6-only network environment, but the machine that connects to the vCenter Server
through the vSphere Web Client must have an IPv4 address for the vSphere Authentication Proxy service to
work.
Prerequisites
n Install Microsoft .NET Framework 3.5 on the machine where you want to install vSphere Authentication
Proxy.
n Verify that the host machine has a supported processor and operating system.
n Verify that the host machine has a valid IPv4 address. You can install vSphere Authentication Proxy on
a machine in an IPv4-only or IPv4/IPv6 mixed-mode network environment, but you cannot install
vSphere Authentication Proxy on a machine in an IPv6-only environment.
n If you are installing vSphere Authentication Proxy on a Windows Server 2008 R2 host machine,
download and install the Windows hotfix described in Windows KB Article 981506 on the
support.microsoft.com Web site. If this hotfix is not installed, the vSphere Authentication Proxy
Adapter fails to initialize. This problem is accompanied by error messages in camadapter.log similar to
Failed to bind CAM website with CTL and Failed to initialize CAMAdapter.
n The location to install vSphere Authentication Proxy, if you are not using the default location.
n The address and credentials for the vCenter Server that vSphere Authentication Proxy will connect to:
IP address or name, HTTP port, user name, and password.
n The host name or IP address to identify vSphere Authentication Proxy on the network.
Procedure
1 Add the host machine where you will install the authentication proxy service to the domain.
3 In the software installer directory, double-click the autorun.exe file to start the installer.
During installation, the authentication service registers with the vCenter Server instance where Auto
Deploy is registered.
When you install the vSphere Authentication Proxy service, the installer creates a domain account with
appropriate privileges to run the authentication proxy service. The account name begins with the prefix CAM-
and has a 32-character, randomly generated password associated with it. The password is set to never
expire. Do not change the account settings.
When you add an ESXi host to Active Directory the DOMAIN group ESX Admins is assigned full
administrative access to the host if it exists. If you do not want to make full administrative access available,
see VMware Knowledge Base article 1025569 for a workaround.
If a host is provisioned with Auto Deploy, Active Directory credentials cannot be stored on the hosts. You
can use the vSphere Authentication Proxy to join the host to an Active Directory domain. Because a trust
chain exists between the vSphere Authentication Proxy and the host, the Authentication Proxy can join the
host to the Active Directory domain. See “Using vSphere Authentication Proxy,” on page 198.
Note When you define user account settings in Active Directory, you can limit the computers that a user
can log in to by the computer name. By default, no equivalent restrictions are set on a user account. If you
set this limitation, LDAP Bind requests for the user account fail with the message LDAP binding not
successful, even if the request is from a listed computer. You can avoid this issue by adding the netBIOS
name for the Active Directory server to the list of computers that the user account can log in to.
Prerequisites
n Verify that you have an Active Directory domain. See your directory server documentation.
n Verify that the host name of ESXi is fully qualified with the domain name of the Active Directory forest.
Procedure
1 Synchronize the time between ESXi and the directory service system using NTP.
See “Synchronize ESXi Clocks with a Network Time Server,” on page 253 or the VMware Knowledge
Base for information about how to synchronize ESXi time with a Microsoft Domain Controller.
2 Ensure that the DNS servers that you configured for the host can resolve the host names for the Active
Directory controllers.
c Click DNS, and verify that the host name and DNS server information for the host are correct.
What to do next
Use the vSphere Web Client to join a directory service domain. For hosts that are provisioned with Auto
Deploy, set up the vSphere Authentication Proxy. See “Using vSphere Authentication Proxy,” on page 198.
n name.tld (for example, domain.com): The account is created under the default container.
To use the vSphere Authentication Proxy service, see “Using vSphere Authentication Proxy,” on page 198.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
5 Enter a domain.
6 Enter the user name and password of a directory service user who has permissions to join the host to
the domain, and click OK.
7 (Optional) If you intend to use an authentication proxy, enter the proxy server IP address.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
The Authentication Services page displays the directory service and domain settings.
vSphere Authentication Proxy is especially helpful when used in conjunction with Auto Deploy. You set up
a reference host that points to Authentication Proxy and set up a rule that applies the reference host's profile
to any ESXi host provisioned with Auto Deploy. Even if you use vSphere Authentication Proxy in an
environment that uses certificates that are provisioned by VMCA or third-party certificates, the process
works seamlessly as long as you follow the instructions for using custom certificates with Auto Deploy. See
“Use Custom Certificates with Auto Deploy,” on page 177.
Note You cannot use vSphere Authentication Proxy in an environment that supports only IPv6.
If an earlier version of the vSphere Authentication Proxy is installed on your system, this procedure
upgrades the vSphere Authentication Proxy to the current version.
You can install vSphere Authentication Proxy on the same machine as the associated vCenter Server, or on a
different machine that has network connection to the vCenter Server. vSphere Authentication Proxy is
supported with vCenter Server versions 5.0 and later.
The vSphere Authentication Proxy service binds to an IPv4 address for communication with vCenter Server,
and does not support IPv6. The vCenter Server instance can be on a host machine in an IPv4-only, IPv4/IPv6
mixed-mode, or IPv6-only network environment, but the machine that connects to the vCenter Server
through the vSphere Web Client must have an IPv4 address for the vSphere Authentication Proxy service to
work.
Prerequisites
n Install Microsoft .NET Framework 3.5 on the machine where you want to install vSphere Authentication
Proxy.
n Verify that the host machine has a supported processor and operating system.
n Verify that the host machine has a valid IPv4 address. You can install vSphere Authentication Proxy on
a machine in an IPv4-only or IPv4/IPv6 mixed-mode network environment, but you cannot install
vSphere Authentication Proxy on a machine in an IPv6-only environment.
n If you are installing vSphere Authentication Proxy on a Windows Server 2008 R2 host machine,
download and install the Windows hotfix described in Windows KB Article 981506 on the
support.microsoft.com Web site. If this hotfix is not installed, the vSphere Authentication Proxy
Adapter fails to initialize. This problem is accompanied by error messages in camadapter.log similar to
Failed to bind CAM website with CTL and Failed to initialize CAMAdapter.
n The location to install vSphere Authentication Proxy, if you are not using the default location.
n The address and credentials for the vCenter Server that vSphere Authentication Proxy will connect to:
IP address or name, HTTP port, user name, and password.
n The host name or IP address to identify vSphere Authentication Proxy on the network.
Procedure
1 Add the host machine where you will install the authentication proxy service to the domain.
3 In the software installer directory, double-click the autorun.exe file to start the installer.
During installation, the authentication service registers with the vCenter Server instance where Auto
Deploy is registered.
When you install the vSphere Authentication Proxy service, the installer creates a domain account with
appropriate privileges to run the authentication proxy service. The account name begins with the prefix CAM-
and has a 32-character, randomly generated password associated with it. The password is set to never
expire. Do not change the account settings.
Prerequisites
Install the vSphere Authentication Proxy service (CAM service) on a host. See “Install or Upgrade vSphere
Authentication Proxy,” on page 195.
Procedure
1 Use the IIS manager on the host to set up the DHCP range.
Setting the range allows hosts that are using DHCP in the management network to use the
authentication proxy service.
Option Action
For IIS 6 a Browse to Computer Account Management Web Site.
b Right-click the virtual directory CAM ISAPI.
c Select Properties > Directory Security > Edit IP Address and Domain
Name Restrictions > Add Group of Computers.
For IIS 7 a Browse to Computer Account Management Web Site.
b Click the CAM ISAPI virtual directory in the left pane and open IPv4
Address and Domain Restrictions.
c Select Add Allow Entry > IPv4 Address Range.
2 If a host is not provisioned by Auto Deploy, change the default SSL certificate to a self-signed certificate
or to a certificate signed by a commercial certificate authority (CA).
Option Description
VMCA certificate If you are using the default VMCA-signed certificates, you have to ensure
that the authentication proxy host trusts the VMCA certificate.
a Manually add the VMCA certificate to the Trusted Root Certificate
Authorities certificate store.
b Add the VMCA-signed certificate (root.cer) to the local trust
certificate store on the system where the authentication proxy service
is installed. You can find the file in
C:\ProgramData\VMware\CIS\data\vmca.
c Restart the vSphere Authentication Proxy service.
Third-party CA-signed certificate Add the CA-signed certificate (DER-encoded) to the local trust certificate
store on the system where the authentication proxy service is installed and
restart the vSphere Authentication Proxy service.
n For Windows 2003, copy the certificate file to C:\Documents and
Settings\All Users\Application Data\VMware\vSphere
Authentication Proxy\trust.
n For Windows 2008, copy the certificate file to C:\Program
Data\VMware\vSphere Authentication Proxy\trust.
Note ESXi and the Authentication Proxy server must be able to authenticate. Make sure that this
authentication functionality is enabled at all times. If you must disable authentication, you can use the
Advanced Settings dialog box to set the UserVars.ActiveDirectoryVerifyCAMCertifcate attribute to 0.
Prerequisites
Install the vSphere Authentication Proxy (CAM service) on a host. See “Install or Upgrade vSphere
Authentication Proxy,” on page 195.
Procedure
1 On the authentication proxy server system, use the IIS Manager to export the certificate.
Option Action
For IIS 6 a Right-click Computer Account Management Web Site.
b Select Properties > Directory Security > View Certificate.
For IIS 7 a Click Computer Account Management Web Site in the left pane.
b Select Bindings to open the Site Bindings dialog box.
c Select https binding.
d Select Edit > View SSL Certificate .
3 Select the options Do Not Export the Private Key and Base-64 encoded X.509 (CER).
What to do next
Import the certificate to ESXi.
You use the vSphere Web Client user interface to upload the vSphere Authentication Proxy server certificate
to the ESXi host.
Prerequisites
Install the vSphere Authentication Proxy service (CAM service) on a host. See “Install or Upgrade vSphere
Authentication Proxy,” on page 195.
Export the vSphere Authentication Proxy server certificate as described in “Export vSphere Authentication
Proxy Certificate,” on page 200.
Procedure
1 Browse to the host, click the Manage tab, click Settings, and click Authentication Services.
3 Enter the full path to the authentication proxy server certificate file on the host and the IP address of the
authentication proxy server.
Use the form [datastore name] file path to enter the path to the proxy server.
4 Click OK.
n name.tld (for example, domain.com): The account is created under the default container.
Prerequisites
n Connect to a vCenter Server system with the vSphere Web Client.
n If ESXi is configured with a static IP address, verify that its associated profile is configured to use the
vSphere Authentication Proxy service to join a domain so that the authentication proxy server can trust
the ESXi IP address.
n If ESXi is using a VMCA-signed certificate, verify that the host has been added to vCenter Server. This
allows the authentication proxy server to trust ESXi.
n If ESXi is using a CA-signed certificate and is not provisioned by Auto Deploy, verify that the CA
certificate has been added to the local trust certificate store of the authentication proxy server as
described in “Configure a Host to Use the vSphere Authentication Proxy for Authentication,” on
page 199.
Procedure
1 Browse to the host in the vSphere Web Client and click the Manage tab.
7 Click OK.
Prerequisites
n Upload the authentication proxy certificate file to the ESXi host.
Procedure
1 In the vSphere Web Client, select the ESXi host.
4 Enter the SSL certificate path and the vSphere Authentication Proxy server.
Verify installation media Always check the SHA1 hash after downloading an ISO, offline bundle, or
patch to ensure integrity and authenticity of the downloaded files. If you
obtain physical media from VMware and the security seal is broken, return
the software to VMware for a replacement.
After downloading media, use the MD5 sum value to verify the integrity of
the download. Compare the MD5 sum output with the value posted on the
VMware Web site. Each operating system has a different method and tool for
checking MD5 sum values. For Linux, use the "md5sum" command. For
Microsoft Windows, you can download an add-on product
Check CRLs manually By default, an ESXi host does not support CRL checking. You must search for
and remove revoked certificates manually. These certificates are typically
custom generated certificates from a corporate CA or a third-party CA. Many
corporations use scripts to find and replace revoked SSL certificates on ESXi
hosts.
Monitor the ESX The Active Directory group used by vSphere is defined by the
Admins Active Directory plugins.hostsvc.esxAdminsGroup advanced system setting. By default this
group option is set to ESX Admins. All members of the ESX Admins group are
granted full administrative access to all ESXi hosts in the domain. Monitor
Active Directory for the creation of this group and limit membership to
highly trusted users and groups.
Monitor configuration Although most ESXi configuration settings are controlled with an API, a
files limited number of configuration files affects the host directly. These files are
exposed through the vSphere file transfer API, which uses HTTPS. If you
make changes to these files, you must also perform the corresponding
administrative action such as making a configuration change.
Note Do not attempt to monitor files that are NOT exposed via this file-
transfer API.
Use vmkfstools to erase When you delete a VMDK file with sensitive data, shut down or stop the
sensitive data virtual machine, and then issue the vCLI command vmkfstools --
writezeros on that file. You can then delete the file from the datastore.
VMware recommends that you use PCI or PCIe passthrough to a virtual machine only if the virtual machine
is owned and administered by a trusted entity. You must be sure that this entity does not to attempt to crash
or exploit the host from the virtual machine.
n The guest OS might generate an unrecoverable PCI or PCIe error. Such an error does not corrupt data,
but can crash the ESXi host. Such errors might occur because of bugs or incompatibilities in the
hardware devices that are being passed through, or because of problems with drivers in the guest OS.
n The guest OS might generate a Direct Memory Access (DMA) operation that causes an IOMMU page
fault on the ESXi host, for example, if the DMA operation targets an address outside the virtual
machine's memory. On some machines, host firmware configures IOMMU faults to report a fatal error
through a non-maskable interrupt (NMI), which causes the ESXi host to crash. This problem might
occur because of problems with the drivers in the guest OS.
n If the operating system on the ESXi host is not using interrupt remapping, the guest OS might inject a
spurious interrupt into the ESXi host on any vector. ESXi currently uses interrupt remapping on Intel
platforms where it is available; interrupt mapping is part of the Intel VT-d feature set. ESXi does not use
interrupt mapping on AMD platforms. A spurious interrupt most likely results in a crash of the ESXi
host; however, other ways to exploit these interrupts might exist in theory.
A smart card is a small plastic card with an embedded integrated circuit chip. Many government agencies
and large enterprises use smart card based two-factor authentication to increase the security of their systems
and comply with security regulations.
When smart card authentication is enabled on an ESXi host, the DCUI prompts you for a valid smart card
and PIN combination instead of the default prompt for a user name and password.
1 When you insert the smart card into the smart card reader, the ESXi host reads the credentials on it.
2 The ESXi DCUI displays your login ID, and prompts you for your PIN.
3 After you enter your PIN, the ESXi host matches it with the PIN stored on the smart card and verifies
the certificate on the smart card with Active Directory.
4 After a successful verification of the smart card certificate, ESXi logs you in to the DCUI.
You can switch to user name and password authentication from the DCUI by pressing F3.
The chip on the smart card locks after a few consecutive incorrect PIN entries, usually three. If a smart card
is locked, only selected personnel can unlock it.
Prerequisites
n Set up the infrastructure to handle smart card authentication, such as accounts in the Active Directory
domain, smart card readers, and smart cards.
n Configure ESXi to join an Active Directory domain that supports smart card authentication. For more
information, see “Using Active Directory to Manage ESXi Users,” on page 195.
n Use the vSphere Web Client to add root certificates. See “Certificate Management for ESXi Hosts,” on
page 166.
Procedure
1 In the vSphere Web Client, browse to the host.
You see the current smart card authentication status and a list with imported certificates.
5 In the Edit Smart Card Authentication dialog box, select the Certificates page.
6 Add trusted Certificate Authority (CA) certificates, for example, root and intermediary CA certificates.
7 Open the Smart Card Authentication page, select the Enable Smart Card Authentication check box,
and click OK.
Procedure
1 In the vSphere Web Client, browse to the host.
You see the current smart card authentication status and a list with imported certificates.
5 On the Smart Card Authentication page, deselect the Enable Smart Card Authentication check box,
and click OK.
Note Loss of network connectivity to vCenter Server does not affect smart card authentication if the Active
Directory (AD) domain server is available.
In normal lockdown mode, only users on the Exception Users list with administrator privileges can access
the DCUI. Exception users are host local users or Active Directory users with permissions defined locally for
the ESXi host. If you want to use smart card authentication in normal lockdown mode, you must add users
to the Exception Users list from the vSphere Web Client. These users do not lose their permissions when the
host enters normal lockdown mode and can log in to the DCUI. For more information, see “Specify
Lockdown Mode Exception Users,” on page 192.
In strict lockdown mode, the DCUI service is stopped. As a result, you cannot access the host by using smart
card authentication.
You can copy the SSH key to the host by using the vifs vSphere CLI command. See Getting Started with
vSphere Command-Line Interfaces for information on installing and using the vSphere CLI command set. It is
also possible to use HTTPS PUT to copy the SSK key to the host.
Instead of generating the keys externally and uploading them, you can create the keys on the ESXi host and
download them. See VMware Knowledge Base article 1002866.
Enabling SSH and adding SSH keys to the host has inherent risks and is not recommended in a hardened
environment. See “Disable Authorized (SSH) Keys,” on page 165.
Note For ESXi 5.0 and earlier, a user with an SSH key can access the host even when the host is in
lockdown mode. This is fixed in ESXi 5.1.
SSH Security
You can use SSH to remotely log in to the ESXi Shell and perform troubleshooting tasks for the host.
Version 1 SSH protocol VMware does not support Version 1 SSH protocol and uses Version 2
disabled protocol exclusively. Version 2 eliminates certain security problems present
in Version 1 and provides you with a safe way to communicate with the
management interface.
Improved cipher SSH supports only 256-bit and 128-bit AES ciphers for your connections.
strength
These settings are designed to provide solid protection for the data you transmit to the management
interface through SSH. You cannot change these settings.
Note Because authorized keys allow SSH access without requiring user authentication, consider carefully
whether you want to use SSH keys in your environment.
Authorized keys allow you to authenticate remote access to a host. When users or scripts try to access a host
with SSH, the key provides authentication without a password. With authorized keys you can automate
authentication, which is useful when you write scripts to perform routine tasks.
n RSA key
Starting with the vSphere 6.0 Update 2 release, DSS/DSA keys are no longer supported.
Procedure
u At the command line or an administration server, use the vifs command to upload the SSH key to
appropriate location on the ESXi host.
Authorized keys allow you to authenticate remote access to a host. When users or scripts try to access a host
with SSH, the key provides authentication without a password. With authorized keys you can automate
authentication, which is useful when you write scripts to perform routine tasks.
You can upload the following types of SSH keys to a host using HTTPS PUT:
n DSA key
n RSA key
Procedure
1 In your upload application, open the key file.
To reduce the risk of unauthorized access, enable the ESXi Shell for troubleshooting only.
The ESXi Shell is independent of in lockdown mode. Even if the host is running in lockdown mode, you can
still log in to the ESXi Shell if it is enabled.
ESXi Shell Enable this service to access the ESXi Shell locally.
SSH Enable this service to access the ESXi Shell remotely by using SSH.
See vSphere Security.
The root user and users with the Administrator role can access the ESXi Shell. Users who are in the Active
Directory group ESX Admins are automatically assigned the Administrator role. By default, only the root
user can run system commands (such as vmware -v) by using the ESXi Shell.
Note Do not enable the ESXi Shell unless you actually need access.
n Use the vSphere Web Client to Enable Access to the ESXi Shell on page 208
You can use the vSphere Web Client to enable local and remote (SSH) access to the ESXi Shell and to
set the idle timeout and availability timeout.
n Use the Direct Console User Interface (DCUI) to Enable Access to the ESXi Shell on page 209
The Direct Console User Interface (DCUI) allows you to interact with the host locally using text-based
menus. Evaluate carefully whether the security requirements of your environment support enabling
the Direct Console User Interface.
Use the vSphere Web Client to Enable Access to the ESXi Shell
You can use the vSphere Web Client to enable local and remote (SSH) access to the ESXi Shell and to set the
idle timeout and availability timeout.
Note Access the host by using the vSphere Web Client, remote command-line tools (vCLI and PowerCLI),
and published APIs. Do not enable remote access to the host using SSH unless special circumstances require
that you enable SSH access.
Prerequisites
If you want to use an authorized SSH key, you can upload it. See “ESXi SSH Keys,” on page 205.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
n ESXi Shell
n SSH
n Direct Console UI
6 Click Service Details and select the startup policy Start and stop manually.
When you select Start and stop manually, the service does not start when you reboot the host. If you
want the service to start when you reboot the host, select Start and stop with host.
8 Click OK.
What to do next
Set the availability and idle timeouts for the ESXi Shell. See “Create a Timeout for ESXi Shell Availability in
the vSphere Web Client,” on page 209 and “Create a Timeout for Idle ESXi Shell Sessions in the vSphere
Web Client,” on page 209
Create a Timeout for ESXi Shell Availability in the vSphere Web Client
The ESXi Shell is disabled by default. You can set an availability timeout for the ESXi Shell to increase
security when you enable the shell.
The availability timeout setting is the amount of time that can elapse before you must log in after the
ESXi Shell is enabled. After the timeout period, the service is disabled and users are not allowed to log in.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
You must restart the SSH service and the ESXi Shell service for the timeout to take effect.
6 Click OK.
If you are logged in when the timeout period elapses, your session will persist. However, after you log out
or your session is terminated, users are not allowed to log in.
Create a Timeout for Idle ESXi Shell Sessions in the vSphere Web Client
If a user enables the ESXi Shell on a host, but forgets to log out of the session, the idle session remains
connected indefinitely. The open connection can increase the potential for someone to gain privileged access
to the host. You can prevent this by setting a timeout for idle sessions.
The idle timeout is the amount of time that can elapse before a user is logged out of an idle interactive
session. You can control the amount of time for both local and remote (SSH) session from the Direct Console
Interface (DCUI) or from the vSphere Web Client.
Procedure
1 Browse to the host in the vSphere Web Client inventory.
4 Select UserVars.ESXiShellInteractiveTimeOut, click the Edit icon, and enter the timeout setting.
5 Restart the ESXi Shell service and the SSH service for the timeout to take effect.
If the session is idle, users are logged out after the timeout period elapses.
Use the Direct Console User Interface (DCUI) to Enable Access to the
ESXi Shell
The Direct Console User Interface (DCUI) allows you to interact with the host locally using text-based
menus. Evaluate carefully whether the security requirements of your environment support enabling the
Direct Console User Interface.
You can use the Direct Console User Interface to enable local and remote access to the ESXi Shell.
Note Changes made to the host using the Direct Console User Interface, the vSphere Web Client, ESXCLI,
or other administrative tools are committed to permanent storage every hour or upon graceful shutdown.
Changes might be lost if the host fails before they are committed.
Procedure
1 From the Direct Console User Interface, press F2 to access the System Customization menu.
n Enable SSH
5 Press Esc until you return to the main menu of the Direct Console User Interface.
What to do next
Set the availability and idle timeouts for the ESXi Shell. See “Create a Timeout for ESXi Shell Availability in
the Direct Console User Interface,” on page 210 and “Create a Timeout for Idle ESXi Shell Sessions,” on
page 210.
Create a Timeout for ESXi Shell Availability in the Direct Console User Interface
The ESXi Shell is disabled by default. You can set an availability timeout for the ESXi Shell to increase
security when you enable the shell.
The availability timeout setting is the amount of time that can elapse before you must log in after the
ESXi Shell is enabled. After the timeout period, the service is disabled and users are not allowed to log in.
Procedure
1 From the Troubleshooting Mode Options menu, select Modify ESXi Shell and SSH timeouts and press
Enter.
You must restart the SSH service and the ESXi Shell service for the timeout to take effect.
3 Press Enter and press Esc until you return to the main menu of the Direct Console User Interface.
4 Click OK.
If you are logged in when the timeout period elapses, your session will persist. However, after you log out
or your session is terminated, users are not allowed to log in.
The idle timeout is the amount of time that can elapse before the user is logged out of an idle interactive
sessions. Changes to the idle timeout apply the next time a user logs in to the ESXi Shell and do not affect
existing sessions.
You can specify the timeout from the Direct Console User Interface in seconds, or from the
vSphere Web Client in minutes.
Procedure
1 From the Troubleshooting Mode Options menu, select Modify ESXi Shell and SSH timeouts and press
Enter.
You must restart the SSH service and the ESXi Shell service for the timeout to take effect.
3 Press Enter and press Esc until you return to the main menu of the Direct Console User Interface.
If the session is idle, users are logged out after the timeout period elapses.
Procedure
1 Log in to the ESXi Shell using one of the following methods.
n If you have direct access to the host, press Alt+F1 to open the login page on the machine's physical
console.
n If you are connecting to the host remotely, use SSH or another remote console connection to start a
session on the host.
Note Restart the host process after making any changes to host directories or authentication mechanisms.
n Do not set up certificates that use a password or pass phrases. ESXi does not support Web proxies that
use passwords or pass phrases, also known as encrypted keys. If you set up a Web proxy that requires a
password or pass phrase, ESXi processes cannot start correctly.
n To support encryption for user names, passwords, and packets, SSL is enabled by default for vSphere
Web Services SDK connections. If you want to configure these connections so that they do not encrypt
transmissions, disable SSL for your vSphere Web Services SDK connection by switching the connection
from HTTPS to HTTP.
Consider disabling SSL only if you created a fully trusted environment for these clients, where firewalls
are in place and transmissions to and from the host are fully isolated. Disabling SSL can improve
performance, because you avoid the overhead required to perform encryption.
n To protect against misuse of ESXi services, most internal ESXi services are accessible only through port
443, the port used for HTTPS transmission. Port 443 acts as a reverse proxy for ESXi. You can see a list of
services on ESXi through an HTTP welcome page, but you cannot directly access the Storage Adapters
services without proper authorization.
You can change this configuration so that individual services are directly accessible through HTTP
connections. Do not make this change unless you are using ESXi in a fully trusted environment.
Networking Security
Secure your network as you would for any other PXE-based deployment method. vSphere Auto Deploy
transfers data over SSL to prevent casual interference and snooping. However, the authenticity of the client
or of the Auto Deploy server is not checked during a PXE boot.
You can greatly reduce the security risk of Auto Deploy by completely isolating the network where Auto
Deploy is used.
n The VIB packages that the image profile consists of are always included in the boot image.
n The host profile and host customization are included in the boot image if Auto Deploy rules are set up
to provision the host with a host profile or a host customization setting.
n The administrator (root) password and user passwords that are included with host profile and host
customization are MD5 encrypted.
n Any other passwords associated with profiles are in the clear. If you set up Active Directory by
using host profiles, the passwords are not protected.
Use the vSphere Authentication Service for setting up Active Directory to avoid exposing the
Active Directory passwords. If you set up Active Directory using host profiles, the passwords are
not protected.
n The host's public and private SSL key and certificate are included in the boot image.
n Configure persistent logging to a datastore. By default, the logs on ESXi hosts are stored in the in-
memory file system. Therefore, they are lost when you reboot the host, and only 24 hours of log data is
stored. When you enable persistent logging, you have a dedicated record of server activity available for
the host.
n Remote logging to a central host allows you to gather log files onto a central host, where you can
monitor all hosts with a single tool. You can also do aggregate analysis and searching of log data, which
might reveal information about things like coordinated attacks on multiple hosts.
n Configure remote secure syslog on ESXi hosts using a remote command line such as vCLI or PowerCLI,
or using an API client.
n Query the syslog configuration to make sure that a valid syslog server has been configured, including
the correct port.
You can use the vSphere Web Client or the esxcli system syslog vCLI command to configure the syslog
service.
For more information about using vCLI commands, see Getting Started with vSphere Command-Line Interfaces.
Procedure
1 In the vSphere Web Client inventory, select the host.
5 To set up logging globally, select the setting to change and click the Edit icon.
Option Description
Syslog.global.defaultRotate Sets the maximum number of archives to keep. You can set this number
globally and for individual subloggers.
Syslog.global.defaultSize Sets the default size of the log, in KB, before the system rotates logs. You
can set this number globally and for individual subloggers.
Syslog.global.LogDir Directory where logs are stored. The directory can be located on mounted
NFS or VMFS volumes. Only the /scratch directory on the local file
system is persistent across reboots. The directory should be specified as
[datastorename] path_to_file where the path is relative to the root of the
volume backing the datastore. For example, the path
[storage1] /systemlogs maps to the
path /vmfs/volumes/storage1/systemlogs.
Syslog.global.logDirUnique Selecting this option creates a subdirectory with the name of the ESXi host
under the directory specified by Syslog.global.LogDir. A unique directory
is useful if the same NFS directory is used by multiple ESXi hosts.
Syslog.global.LogHost Remote host to which syslog messages are forwarded and port on which
the remote host receives syslog messages. You can include the protocol and
the port, for example, ssl://hostName1:1514. UDP (default), TCP, and
SSL are supported. The remote host must have syslog installed and
correctly configured to receive the forwarded syslog messages. See the
documentation for the syslog service installed on the remote host for
information on configuration.
6 (Optional) To overwrite the default log size and log rotation for any of the logs.
b Click the Edit icon and enter the number of rotations and log size you want.
7 Click OK.
ESXi host agent log /var/log/hostd.log Contains information about the agent
that manages and configures the ESXi
host and its virtual machines.
Virtual machines The same directory as the affected Contains virtual machine power
virtual machine's configuration files, events, system failure information,
named vmware.log and vmware*.log. tools status and activity, time sync,
For virtual hardware changes, vMotion
example, /vmfs/volumes/datastor migrations, machine clones, and so on.
e/virtual machine/vwmare.log
This logging traffic between the Primary and Secondary VMs is unencrypted and contains guest network
and storage I/O data, as well as the memory contents of the guest operating system. This traffic can include
sensitive data such as passwords in plaintext. To avoid such data being divulged, ensure that this network is
secured, especially to avoid "man-in-the-middle" attacks. For example, use a private network for FT logging
traffic.
n “Verify that SSL Certificate Validation Over Network File Copy Is Enabled,” on page 220
Note Starting with vSphere 6.0, the local administrator no longer has full administrative rights to
vCenter Server by default. Using local operating system users is not recommended.
n Install vCenter Server using a service account instead of a Windows account. The service account must
be an administrator on the local machine.
n Make sure that applications use unique service accounts when connecting to a vCenter Server system.
Minimize Access
Avoid allowing users to log directly in to the vCenter Server host machine. Users who are logged in to the
vCenter Server can potentially cause harm, either intentionally or unintentionally, by altering settings and
modifying processes. They also have potential access to vCenter credentials, such as the SSL certificate.
Allow only those users who have legitimate tasks to perform to log in to the system and ensure that login
events are audited.
Users with the vCenter Server Administrator role have privileges on all objects in the hierarchy. For
example, by default the Administrator role allows users to interact with files and programs inside a virtual
machine's guest operating system. Assigning that role to too many users can lessen virtual machine data
confidentiality, availability, or integrity. Create a role that gives the administrators the privileges they need,
but remove some of the virtual machine management privileges.
Note Make sure that password aging policy is not too short.
Reestablish a named administrator account and assign the Administrator role to that account to avoid using
the anonymous [email protected] account.
Procedure
1 Select the vCenter Server in the vSphere Web Client object hierarchy.
n Maintain a supported operating system, database, and hardware for the vCenter Server system. If
vCenter Server is not running on a supported operating system, it might not run properly, making
vCenter Server vulnerable to attacks.
n Keep the vCenter Server system properly patched. By staying up-to-date with operating system
patches, the server is less vulnerable to attack.
n Provide operating system protection on the vCenter Server host. Protection includes antivirus and anti-
malware software.
n On each Windows computer in the infrastructure, ensure that Remote Desktop (RDP) Host
Configuration settings are set to ensure the highest level of encryption according to industry-standard
guidelines or internal guidelines.
For operating system and database compatibility information, see the vSphere Compatibility Matrixes.
n If expired or revoked certificates are not removed from the vCenter Server system, the environment can
be subject to a MiTM attack
n In certain cases, a log file that contains the database password in plain text is created on the system if
vCenter Server installation fails. An attacker who breaks into the vCenter Server system, might gain
access to this password and, at the same time, access to the vCenter Server database.
vCenter Server requires access to a management network only. Avoid putting the vCenter Server system on
other networks such as your production network or storage network, or on any network with access to the
Internet. vCenter Server does not need access to the network where vMotion operates.
n Other vCenter Server systems (if the vCenter Server systems are part of a common vCenter Single Sign-
On domain for purposes of replicating tags, permissions, and so on).
n Systems that are authorized to run management clients. For example, the vSphere Web Client, a
Windows system where you use the PowerCLI, or any other SDK-based client.
n Systems that run add-on components such as VMware vSphere Update Manager.
n Other systems that run components that are essential to functionality of the vCenter Server system.
Use a local firewall on the Windows system where the vCenter Server system is running or use a network
firewall. Include IP-based access restrictions so that only necessary components can communicate with the
vCenter Server system.
Even if you have replaced the VMCA-signed certificates on the vCenter Server system and the ESXi hosts
with certificates that are signed by a third party CA, certain communications with Linux clients are still
vulnerable to man-in-the-middle attacks. The following components are vulnerable when they run on the
Linux operating system.
n vCLI commands
You can relax the restriction against using Linux clients if you enforce proper controls.
n Use firewalls to ensure that only authorized hosts are allowed to access vCenter Server.
n Use jump-box systems to ensure that Linux clients are behind the jump.
A vCenter installation includes the vSphere Web Client extensibility framework, which provides the ability
to extend the vSphere Web Client with menu selections or toolbar icons that provide access to vCenter add-
on components or external, Web-based functionality. This flexibility results in a risk of introducing
unintended capabilities. For example, if an administrator installs a plug-in in an instance of the
vSphere Web Client, the plug-in can then execute arbitrary commands with the privilege level of that
administrator.
To protect against potential compromise of your vSphere Web Client you can periodically examine all
installed plug-ins and make sure that all plug-ins come from a trusted source.
Prerequisites
You must have privileges to access the vCenter Single Sign-On service. These privileges differ from
vCenter Server privileges.
Procedure
1 Log in to the vSphere Web Client as [email protected] or a user with vCenter Single Sign-On
privileges.
2 From the Home page, select Administration, and then select Client Plug-Ins under Solutions
Configure NTP Ensure that all systems use the same relative time source (including the
relevant localization offset), and that the relative time source can be
correlated to an agreed-upon time standard (such as Coordinated Universal
Time-UTC). Synchronized systems are essential for certificate validity. NTP
also makes it easier to track an intruder in log files. Incorrect time settings
can make it difficult to inspect and correlate log files to detect attacks, and
can make auditing inaccurate. See “Synchronize the Time in the vCenter
Server Appliance with an NTP Server,” on page 255.
Procedure
1 Browse to the vCenter Server system in the vSphere Web Client object navigator.
3 Click Edit.
4 Click SSL Settings.
5 If any of your ESXi 5.5 or earlier hosts require manual validation, compare the thumbprints listed for
the hosts to the thumbprints in the host console.
To obtain the host thumbprint, use the Direct Console User Interface (DCUI).
a Log in to the direct console and press F2 to access the System Customization menu.
6 If the thumbprint matches, select the Verify check box next to the host.
Hosts that are not selected will be disconnected after you click OK.
7 Click OK.
When SSL over NFC is enabled, connections between vSphere components over NFC are secure. This
connection can help prevent man-in-the-middle attacks within a data center.
Because using NFC over SSL causes some performance degradation, you might consider disabling this
advanced setting in some development environments.
Note Set this value to true explicitly if you are using scripts to check the value.
Procedure
1 Connect to the vCenter Server with the vSphere Web Client.
3 Click Edit.
4 At the bottom of the dialog, enter the following Key and Value.
Field Value
Key config.nfc.useSSL
Value true
5 Click OK.
The table lists TCP and UDP ports, and the purpose and the type of each. Ports that are open by default at
installation time are indicated by (Default). For an up-to-date list of ports of all vSphere components for the
different versions of vSphere, see VMware Knowledge Base Article 1012382.
88, 2013 Control interface RPC for Kerberos, used by vCenter Single Sign-On.
135 (Default) For the vCenter Server Appliance, this port is designated for Active Directory authentication.
For a vCenter Server Windows installation, this port is used for Linked mode and port 88 is used
for Active Directory authentication.
161 (Default) SNMP Server. This is the default port on both an ESXi host and a vCenter Server Appliance.
443 (Default) vCenter Server systems use port 443 to monitor data transfer from SDK clients.
This port is also used for the following services:
n WS-Management (also requires port 80 to be open)
n Third-party network management client connections to vCenter Server
n Third-party network management clients access to hosts
8093 The Client Integration Plug-in uses a local loopback hostname, and uses port 8093 and random
ports in the range 50100 to 60099. The Client Integration Plug-in uses port 8093 only for local
communication. The port can remain blocked by the firewall.
11711 vCenter Single Sign-On LDAP (environments that are upgraded from vSphere 5.5)
11712 vCenter Single Sign-On LDAPS (environments that are upgraded from vSphere 5.5)
15005 ESX Agent Manager (EAM). An ESX Agent can be a virtual machine or an optional VIB. The agent
extends the functions of an ESXi host to provide additional services that a vSphere solution such as
NSX-v or vRealize Automation requires.
15007 vService Manager (VSM). This service registers vCenter Server extensions. Open this port only if
required by extensions that you intend to use.
50100-60099 The Client Integration Plug-in uses a local loopback hostname, and uses port 8093 and random
ports in the range 50100 to 60099. The Client Integration Plug-in uses this port range only for local
communication. The port can remain blocked by the firewall.
In addition to these ports, you can configure other ports depending on your needs.
CIM is an open standard that defines a framework for agent-less, standards-based monitoring of hardware
resources for ESXi. This framework consists of a CIM object manager, often called a CIM broker, and a set of
CIM providers.
CIM providers are used as the mechanism to provide management access to device drivers and underlying
hardware. Hardware vendors, including server manufacturers and specific hardware device vendors, can
write providers to provide monitoring and management of their particular devices. VMware also writes
providers that implement monitoring of server hardware, ESXi storage infrastructure, and virtualization-
specific resources. These providers run inside the ESXi system and therefore are designed to be extremely
lightweight and focused on specific management tasks. The CIM broker takes information from all CIM
providers, and presents it to the outside world via standard APIs, the most common one being WS-MAN.
Do not provide root credentials to remote applications to access the CIM interface. Instead, create a service
account specific to these applications and grant read-only access to CIM information to any local account
defined on the ESXi system, as well as any role defined in vCenter Server.
Procedure
1 Create a service account specific to CIM applications.
2 Grant read-only access to CIM information to any local account defined on the ESXi system, as well as
any role defined in vCenter Server.
3 (Optional) If the application requires write access to the CIM interface, create a role to apply to the
service account with only two privileges:
n Host.Config.SystemManagement
n Host.CIM.CIMInteraction
This role can be local to the host or centrally defined on vCenter Server, depending on how the
monitoring application works.
When a user logs into the host with the service account you created for CIM applications, the user has only
the privileges SystemManagement and CIMInteraction, or read-only access.
n “Limit Informational Messages from Virtual Machines to VMX Files,” on page 223
The configuration file containing the informational name-value pairs is limited to 1MB by default. This
capacity is sufficient in most cases, but you can change this value if necessary. For example, you might
increase the limit if large amounts of custom information are being stored in the configuration file.
Note Consider carefully how much information you require. If the amount of information exceeds the
datastore's capacity, a Denial of Service might result.
The default limit of 1MB is applied even when the tools.setInfo.sizeLimit parameter is not listed in the
advanced options.
Procedure
1 Find the virtual machine in the vSphere Web Client inventory.
3 Select VM Options.
Prerequisites
n Turn off the virtual machine.
n Verify that you have root or administrator privileges on the virtual machine.
Procedure
1 Find the virtual machine in the vSphere Web Client inventory.
3 Select VM Options.
Name Value
isolation.tools.diskWiper.disable TRUE
isolation.tools.diskShrink.disable TRUE
6 Click OK.
When you disable this feature, you cannot shrink virtual machine disks when a datastore runs out of space.
Patches and other Keep all security measures up-to-date, including applying appropriate
protection patches. It is especially important to keep track of updates for dormant
virtual machines that are powered off, because it can be easy to overlook
them. For example, ensure that anti-virus software, anti-spy ware, intrusion
detection, and other protection are enabled for every virtual machine in your
virtual infrastructure. You should also ensure that you have enough space for
the virtual machine logs.
Anti-virus scans Because each virtual machine hosts a standard operating system, you must
protect it from viruses by installing anti-virus software. Depending on how
you are using the virtual machine, you might also want to install a software
firewall.
Stagger the schedule for virus scans, particularly in deployments with a large
number of virtual machines. Performance of systems in your environment
degrades significantly if you scan all virtual machines simultaneously.
Because software firewalls and antivirus software can be virtualization-
intensive, you can balance the need for these two security measures against
virtual machine performance, especially if you are confident that your virtual
machines are in a fully trusted environment.
Serial ports Serial ports are interfaces for connecting peripherals to the virtual machine.
They are often used on physical systems to provide a direct, low-level
connection to the console of a server, and a virtual serial port allows for the
same access to a virtual machine. Serial ports allow for low-level access,
which often does not have strong controls like logging or privileges.
You can use templates that can contain a hardened, patched, and properly configured operating system to
create other, application-specific templates, or you can use the application template to deploy virtual
machines.
Procedure
u Provide templates for virtual machine creation that contain hardened, patched, and properly
configured operating system deployments.
If possible, deploy applications in templates as well. Ensure that the applications do not depend on
information specific to the virtual machine to be deployed.
What to do next
For more information about templates, see the vSphere Virtual Machine Administration documentation.
Procedure
1 Use native remote management services, such as terminal services and SSH, to interact with virtual
machines.
Grant access to the virtual machine console only when necessary.
For example, in a highly secure environment, limit the connection to one. In some environments, you
can increase that limit depending on how many concurrent connections are necessary to accomplish
normal tasks.
By default, all virtual machines on an ESXi host share resources equally. You can use Shares and resource
pools to prevent a denial of service attack that causes one virtual machine to consume so much of the host’s
resources that other virtual machines on the same host cannot perform their intended functions.
Do not use Limits unless you fully understand the impact.
Procedure
1 Provision each virtual machine with just enough resources (CPU and memory) to function properly.
4 In each resource pool, leave Shares set to the default to ensure that each virtual machine in the pool
receives approximately the same resource priority.
With this setting, a single virtual machine cannot use more than other virtual machines in the resource
pool.
What to do next
See the vSphere Resource Management documentation for information about shares and limits.
Virtual machines do not usually require as many services or functions as physical servers. When you
virtualize a system, evaluate whether a particular service or function is necessary.
Procedure
n Disable unused services in the operating system.
For example, if the system runs a file server, turn off any Web services.
n Disconnect unused physical devices, such as CD/DVD drives, floppy drives, and USB adaptors.
n Disable unused functionality, such as unused display features or HGFS (Host Guest File System).
n Do not run the X Window system on Linux, BSD, or Solaris guest operating systems unless it is
necessary.
An attacker with access to a virtual machine can connect a disconnected hardware device and access
sensitive information on the media left in the drive, or disconnect a network adapter to isolate the virtual
machine from its network, resulting in a denial of service.
n Ensure that unauthorized devices are not connected and remove any unneeded or unused hardware
devices.
n Ensure that no device is connected to a virtual machine if it is not required. Serial and parallel ports are
rarely used for virtual machines in a data center, and CD/DVD drives are usually connected only
temporarily during software installation.
Procedure
1 Log into a vCenter Server system using the vSphere Web Client.
3 Check each hardware device and ensure that you want it connected.
n Floppy drives
n Serial ports
n Parallel ports
n USB controllers
n CD-ROM drives
Procedure
1 Find the virtual machine in the vSphere Web Client inventory.
3 Select VM Options.
Option Description
svga.vgaonly If you set this parameter to TRUE, advanced graphics functions no longer
work. Only character-cell console mode will be available. If you use this
setting, mks.enable3d has no effect.
Note Apply this settings only to virtual machines that do not need a
virtualized video card.
mks.enable3d Set this parameter to FALSE on virtual machines that do not require 3D
functionality.
Prerequisites
Turn off the virtual machine.
Procedure
1 Find the virtual machine in the vSphere Web Client inventory.
3 Select VM Options.
n isolation.tools.unity.push.update.disable
n isolation.tools.ghi.launchmenu.change
n isolation.tools.memSchedFakeSampleStats.disable
n isolation.tools.getCreds.disable
n isolation.tools.ghi.autologon.disable
n isolation.bios.bbs.disable
n isolation.tools.hgfsServerSet.disable
6 Click OK.
Procedure
1 Find the virtual machine in the vSphere Web Client inventory.
3 Select VM Options.
When you make this change, the VMX process no longer responds to commands from the tools process.
APIs that use HGFS to transfer files to and from the guest operating system, such as some VIX commands or
the VMware Tools auto-upgrade utility, no longer work.
Disable Copy and Paste Operations Between Guest Operating System and Remote
Console
Copy and paste operations between the guest operating system and remote console are disabled by default.
For a secure environment, retain the default setting. If you require copy and paste operations, you must
enable them using the vSphere Web Client.
These options are set to the recommended value by default. However, you must set them to true explicitly if
you want to enable audit tools to check that the setting is correct.
Prerequisites
Turn off the virtual machine.
Procedure
1 Log into a vCenter Server system using the vSphere Web Client.
4 Ensure that the following values are in the Name and Value columns, or click Add Row to add them.
These options override any settings made in the guest operating system’s VMware Tools control panel.
5 Click OK.
6 (Optional) If you made changes to the configuration parameters, restart the virtual machine.
When copy and paste is enabled on a virtual machine running VMware Tools, you can copy and paste
between the guest operating system and remote console. As soon as the console window gains focus, non-
privileged users and processes running in the virtual machine can access the clipboard for the virtual
machine console. If a user copies sensitive information to the clipboard before using the console, the user—
perhaps unknowingly—exposes sensitive data to the virtual machine. To prevent this problem, copy and
paste operations for the guest operating system are disabled by default.
It is possible to enable copy and paste operations for virtual machines if necessary.
For example, a configuration might include a virtual machine on the infrastructure that has sensitive
information on it. Tasks such as migration with vMotion and Storage vMotion require that the IT role has
access to the virtual machine. In this case, disable some remote operations within a guest OS to ensure that
the IT role cannot access the sensitive information.
Prerequisites
Verify that you have Administrator privileges on the vCenter Server system where you create the role.
Procedure
1 Log in to the vSphere Web Client as a user who has Administrator privileges on the vCenter Server
system where you will create the role.
2 Click Administration and select Roles.
3 Click the Create role action icon and type a name for the role.
5 Deselect All Privileges.Virtual machine.Guest Operations to remove the Guest Operations set of
privileges.
6 Click OK.
What to do next
Select the vCenter Server system or the host and assign a permission that pairs the user or group that should
have the new privileges to the newly created role. Remove those users from the default Administrator role.
Prerequisites
Turn off the virtual machine.
Procedure
1 Find the virtual machine in the vSphere Web Client inventory.
3 Select VM Options.
5 Verify that the following values are in the Name and Value columns, or click Add Row to add them.
Name Value
isolation.device.connectable.disabl true
e
isolation.device.edit.disable true
These options override any settings made in the guest operating system's VMware Tools control panel.
6 Click OK to close the Configuration Parameters dialog box, and click OK again.
Prerequisites
Turn off the virtual machine.
Procedure
1 Find the virtual machine in the vSphere Web Client inventory.
4 Add or edit the parameter tools.setInfo.sizeLimit and set the value to the number of bytes.
5 Click OK.
Prerequisites
Turn off the virtual machine.
Procedure
1 Find the virtual machine in the vSphere Web Client inventory.
3 Select VM Options.
5 Click Add Row and type the following values in the Name and Value columns.
6 Click OK to close the Configuration Parameters dialog box, and click OK again.
Procedure
u Ensure that virtual machine activity is logged remotely on a separate server, such as a syslog server or
equivalent Windows-based event collector.
If remote logging of events and activity is not configured for the guest, scsiX:Y.mode should be one of
the following settings:
n Not present
When nonpersistent mode is not enabled, you cannot roll a virtual machine back to a known state when you
reboot the system.
n “Secure vSphere Distributed Switches and Distributed Port Groups,” on page 240
n “Use Virtual Switches with the vSphere Network Appliance API Only If Required,” on page 249
Firewalls
Add firewall protection to your virtual network by installing and configuring host-based firewalls on some
or all of its virtual machines.
For efficiency, you can set up private virtual machine Ethernet networks or virtual networks. With virtual
networks, you install a host-based firewall on a virtual machine at the head of the virtual network. This
firewall serves as a protective buffer between the physical network adapter and the remaining virtual
machines in the virtual network.
Because host-based firewalls can slow performance, balance your security needs against performance goals
before you install host-based firewalls on virtual machines elsewhere in the virtual network.
Segmentation
Keep different virtual machine zones within a host on different network segments. If you isolate each virtual
machine zone on its own network segment, you minimize the risk of data leakage from one virtual machine
zone to the next. Segmentation prevents various threats, including Address Resolution Protocol (ARP)
spoofing, in which an attacker manipulates the ARP table to remap MAC and IP addresses, thereby gaining
access to network traffic to and from a host. Attackers use ARP spoofing to generate man in the middle
(MITM) attacks, perform denial of service (DoS) attacks, hijack the target system, and otherwise disrupt the
virtual network.
Planning segmentation carefully lowers the chances of packet transmissions between virtual machine zones,
which prevents sniffing attacks that require sending network traffic to the victim. Also, an attacker cannot
use an insecure service in one virtual machine zone to access other virtual machine zones in the host. You
can implement segmentation by using either of two approaches. Each approach has different benefits.
n Use separate physical network adapters for virtual machine zones to ensure that the zones are isolated.
Maintaining separate physical network adapters for virtual machine zones is probably the most secure
method and is less prone to misconfiguration after the initial segment creation.
n Set up virtual local area networks (VLANs) to help safeguard your network. Because VLANs provide
almost all of the security benefits inherent in implementing physically separate networks without the
hardware overhead, they offer a viable solution that can save you the cost of deploying and maintaining
additional devices, cabling, and so forth. See “Securing Virtual Machines with VLANs,” on page 240.
Virtual machines are isolated from each other. One virtual machine cannot read or write another virtual
machine’s memory, access its data, use its applications, and so forth. However, within the network, any
virtual machine or group of virtual machines can still be the target of unauthorized access from other virtual
machines and might require further protection by external means.
Firewalls control access to devices within their perimeter by closing all ports except for ports that the
administrator explicitly or implicitly designates as authorized. The ports that administrators open allow
traffic between devices on different sides of the firewall.
Important The ESXi firewall in ESXi 5.5 and later does not allow per-network filtering of vMotion traffic.
Therefore, you must install rules on your external firewall to ensure that no incoming connections can be
made to the vMotion socket.
In a virtual machine environment, you can plan the layout for firewalls between components.
n Firewalls between physical machines such as vCenter Server systems and ESXi hosts.
n Firewalls between one virtual machine and another, for example, between a virtual machine acting as
an external Web server and a virtual machine connected to your company’s internal network.
n Firewalls between a physical machine and a virtual machine, such as when you place a firewall between
a physical network adapter card and a virtual machine.
How you use firewalls in your ESXi configuration is based on how you plan to use the network and how
secure any given component has to be. For example, if you create a virtual network where each virtual
machine is dedicated to running a different benchmark test suite for the same department, the risk of
unwanted access from one virtual machine to the next is minimal. Therefore, a configuration where firewalls
are present between the virtual machines is not necessary. However, to prevent interruption of a test run
from an outside host, you can configure a firewall at the entry point of the virtual network to protect the
entire set of virtual machines.
For a diagram of firewall ports, see VMware Knowledge Base article 2131180.
A firewall might lie between the clients and vCenter Server. Alternatively, depending on your deployment,
vCenter Server and the clients can both be behind the firewall. The main point is to ensure that a firewall is
present at what you consider to be an entry point for the system.
For a comprehensive list of TCP and UDP ports, including those for vSphere vMotion™ and vSphere Fault
Tolerance, see “vCenter Server TCP and UDP Ports,” on page 221.
Networks configured with vCenter Server can receive communications through the vSphere Web Client or
third-party network management clients that use the SDK to interface with the host. During normal
operation, vCenter Server listens for data from its managed hosts and clients on designated ports.
vCenter Server also assumes that its managed hosts listen for data from vCenter Server on designated ports.
If a firewall is present between any of these elements, you must ensure that the firewall has open ports to
support data transfer.
You might also include firewalls at a variety of other access points in the network, depending on how you
plan to use the network and the level of security various devices require. Select the locations for your
firewalls based on the security risks that you have identified for your network configuration. The following
is a list of firewall locations common to ESXi implementations.
n Between the vSphere Web Client or a third-party network-management client and vCenter Server.
n If your users access virtual machines through a Web browser, between the Web browser and the ESXi
host.
n If your users access virtual machines through the vSphere Web Client, between the vSphere Web Client
and the ESXi host. This connection is in addition to the connection between the vSphere Web Client and
vCenter Server, and it requires a different port.
n Between the ESXi hosts in your network. Although traffic between hosts is usually considered trusted,
you can add firewalls between them if you are concerned about security breaches from machine to
machine.
If you add firewalls between ESXi hosts and plan to migrate virtual machines between the servers,
perform cloning, or use vMotion, you must also open ports in any firewall that divides the source host
from the target hosts so that the source and targets can communicate.
n Between the ESXi hosts and network storage such as NFS or iSCSI storage. These ports are not specific
to VMware, and you configure them according to the specifications for your network.
Open TCP port 443 in the firewall to enable vCenter Server to receive data from the vSphere Web Client.
Firewall configuration depends on what is used at your site, ask your local firewall system administrator for
information.
If you do not want to use port 443 as the port for vSphere Web Client-to-vCenter Server communication, you
can switch to another port by changing the vCenter Server settings from the vSphere Web Client. See the
vCenter Server and Host Management documentation.
If you are still using the vSphere Client, see the vSphere Administration with vSphere Client documentation.
Networks configured without vCenter Server receive communications through the vSphere Client, one of
the vSphere command-line interfaces, the vSphere Web Services SDK, or third-party clients. For the most
part, the firewall needs are the same as when a vCenter Server is present, but several key differences exist.
n As you would for configurations that include vCenter Server, be sure a firewall is present to protect
your ESXi layer or, depending on your configuration, your clients and ESXi layer. This firewall provides
basic protection for your network.
n Licensing in this type of configuration is part of the ESXi package that you install on each of the hosts.
Because licensing is resident to the server, a separate license server is not required. This eliminates the
need for a firewall between the license server and the ESXi network.
You can configure firewall ports using ESXCLI, using the vSphere Client, or using firewall rules. See “ESXi
Firewall Configuration,” on page 179.
To configure a connection for receiving data, open ports for traffic from services such as vSphere High
Availability, vMotion, and vSphere Fault Tolerance. See “ESXi Firewall Configuration,” on page 179 for a
discussion of configuration files, vSphere Web Client access, and firewall commands. See “Incoming and
Outgoing Firewall Ports for ESXi Hosts,” on page 181 for a list of ports. Refer to the firewall system
administrator for additional information on configuring the ports.
If you are using the vSphere Web Client and connecting to a browser-based virtual machine console, the
following access must be possible:
n The firewall must allow vSphere Web Client to access vCenter Server on port 9443.
n The firewall must allow vCenter Server to access the ESXi host on port 902.
n The firewall must allow vSphere Web Client to access vCenter Server on port 9443.
n The firewall must allow the standalone virtual machine console to access vCenter Server on port 9443
and to access the ESXi host on port 902.
Note Do not use the vSphere Client to connect directly to hosts that are managed by a vCenter Server
system. If you make changes to such hosts from the vSphere Client, instability in your environment results.
The firewall must allow access to the ESXi host on ports 443 and 902
The vSphere Client uses port 902 to provide a connection for guest operating system MKS activities on
virtual machines. It is through this port that users interact with the guest operating systems and applications
of the virtual machine. VMware does not support configuring a different port for this function.
For best protection of your hosts, ensure that physical switch ports are configured with spanning tree
disabled and ensure that the non-negotiate option is configured for trunk links between external physical
switches and virtual switches in Virtual Switch Tagging (VST) mode.
Procedure
1 Log in to the physical switch and ensure that spanning tree protocol is disabled or that Port Fast is
configured for all physical switch ports that are connected to ESXi hosts.
2 For virtual machines that perform bridging or routing, check periodically that the first upstream
physical switch port is configured with BPDU Guard and Port Fast disabled and with spanning tree
protocol enabled.
In vSphere 5.1 and later, to prevent the physical switch from potential Denial of Service (DoS) attacks,
you can turn on the guest BPDU filter on the ESXi hosts.
3 Log in to the physical switch and ensure that Dynamic Trunking Protocol (DTP) is not enabled on the
physical switch ports that are connected to the ESXi hosts.
4 Routinely check physical switch ports to ensure that they are properly configured as trunk ports if
connected to virtual switch VLAN trunking ports.
When you create a standard switch for your network, you add port groups in the vSphere Web Client to
impose a policy for the virtual machines and VMkernel adapters for system traffic attached to the switch.
As part of adding a VMkernel port group or virtual machine port group to a standard switch, ESXi
configures a security policy for the ports in the group. You can use this security policy to ensure that the
host prevents the guest operating systems of its virtual machines from impersonating other machines on the
network. This security feature is implemented so that the guest operating system responsible for the
impersonation does not detect that the impersonation was prevented.
The security policy determines how strongly you enforce protection against impersonation and interception
attacks on virtual machines. To correctly use the settings in the security profile, you must understand how
virtual machine network adapters control transmissions and how attacks are staged at this level. See the
Security Policy section in the vSphere Networking publication.
Each virtual machine network adapter has an initial MAC address and an effective MAC address.
Initial MAC address The initial MAC address is assigned when the adapter is created. Although
the initial MAC address can be reconfigured from outside the guest
operating system, it cannot be changed by the guest operating system.
Effective MAC address Each adapter has an effective MAC address that filters out incoming network
traffic with a destination MAC address that is different from the effective
MAC address. The guest operating system is responsible for setting the
effective MAC address and typically matches the effective MAC address to
the initial MAC address.
Upon creating a virtual machine network adapter, the effective MAC address and initial MAC address are
the same. The guest operating system can alter the effective MAC address to another value at any time. If an
operating system changes the effective MAC address, its network adapter receives network traffic that is
destined for the new MAC address.
When sending packets through a network adapter, the guest operating system typically places its own
adapter effective MAC address in the source MAC address field of the Ethernet frames. It places the MAC
address for the receiving network adapter in the destination MAC address field. The receiving adapter
accepts packets only if the destination MAC address in the packet matches its own effective MAC address.
An operating system can send frames with an impersonated source MAC address. This means an operating
system can stage malicious attacks on the devices in a network by impersonating a network adapter that the
receiving network authorizes.
Protect virtual traffic against impersonation and interception Layer 2 attacks by configuring a security policy
on port groups or ports.
The security policy on distributed port groups and ports includes the following options:
You can view and change the default settings by selecting the virtual switch associated with the host from
the vSphere Web Client. See the vSphere Networking documentation.
When the Mac address changes option is set to Accept, ESXi accepts requests to change the effective MAC
address to a different address than the initial MAC address.
When the Mac address changes option is set to Reject, ESXi does not honor requests to change the effective
MAC address to a different address than the initial MAC address. This setting protects the host against
MAC impersonation. The port that the virtual machine adapter used to send the request is disabled and the
virtual machine adapter does not receive any more frames until the effective MAC address matches the
initial MAC address. The guest operating system does not detect that the MAC address change request was
not honored.
Note The iSCSI initiator relies on being able to get MAC address changes from certain types of storage. If
you are using ESXi iSCSI with iSCSI storage, set the MAC address changes option to Accept.
In some situations, you might have a legitimate need for more than one adapter to have the same MAC
address on a network—for example, if you are using Microsoft Network Load Balancing in unicast mode.
When Microsoft Network Load Balancing is used in the standard multicast mode, adapters do not share
MAC addresses.
Forged Transmits
The Forged transmits option affects traffic that is transmitted from a virtual machine.
When the Forged transmits option is set to Accept, ESXi does not compare source and effective MAC
addresses.
To protect against MAC impersonation, you can set the Forged transmits option to Reject. If you do, the
host compares the source MAC address being transmitted by the guest operating system with the effective
MAC address for its virtual machine adapter to see if they match. If the addresses do not match, the ESXi
host drops the packet.
The guest operating system does not detect that its virtual machine adapter cannot send packets by using
the impersonated MAC address. The ESXi host intercepts any packets with impersonated addresses before
they are delivered, and the guest operating system might assume that the packets are dropped.
Although promiscuous mode can be useful for tracking network activity, it is an insecure mode of operation,
because any adapter in promiscuous mode has access to the packets even if some of the packets are received
only by a particular network adapter. This means that an administrator or root user within a virtual machine
can potentially view traffic destined for other guest or host operating systems.
Note In some situations, you might have a legitimate reason to configure a standard or a distributed
virtual switch to operate in promiscuous mode, for example, if you are running network intrusion detection
software or a packet sniffer.
Procedure
1 For distributed port groups with static binding, verify that the Auto Expand feature is disabled.
To disable Auto Expand, configure the autoExpand property under the distributed port group with the
vSphere Web Services SDK or with a command-line interface. See the vSphere Web Services SDK
documentation.
2 Ensure that all private VLAN IDs of any vSphere Distributed Switch are fully documented.
3 If you are using VLAN tagging on a dvPortgroup, VLAN IDs must correspond to the IDs on external
VLAN-aware upstream switches. If VLAN IDs are not tracked completely, mistaken reuse of IDs could
allow traffic between inappropriate physical and virtual machines. Similarly, wrong or missing VLAN
IDs may lead to traffic not passing between physical and virtual machines.
4 Ensure that no unused ports exist on a virtual port group associated with a vSphere Distributed Switch.
vSphere Distributed Switches associated with an ESXi host require a field for the name of the switch.
This label serves as a functional descriptor for the switch, just as the host name associated with a
physical switch. The label on the vSphere Distributed Switch indicates the function or the IP subnet of
the switch. For example, you can label the switch as internal to indicate that it is only for internal
networking between a virtual machine’s private virtual switch with no physical network adaptors
bound to it.
6 Disable network healthcheck for your vSphere Distributed Switches if you are not actively using it.
Network healthcheck is disabled by default. Once enabled, the healthcheck packets contain information
about the host, switch, and port that an attacker can potentially use. Use network healthcheck only for
troubleshooting, and turn it off when troubleshooting is finished.
7 Protect virtual traffic against impersonation and interception Layer 2 attacks by configuring a security
policy on port groups or ports.
The security policy on distributed port groups and ports includes the following options:
You can view and change the current settings by selecting Manage Distributed Port Groups from the
right-button menu of the distributed switch and selecting Security in the wizard. See the vSphere
Networking documentation.
VLANs are an IEEE standard networking scheme with specific tagging methods that allow routing of
packets to only those ports that are part of the VLAN. When properly configured, VLANs provide a
dependable means for you to protect a set of virtual machines from accidental or malicious intrusions.
VLANs let you segment a physical network so that two machines in the network are unable to transmit
packets back and forth unless they are part of the same VLAN. For example, accounting records and
transactions are among a company’s most sensitive internal information. In a company whose sales,
shipping, and accounting employees all use virtual machines in the same physical network, you might
protect the virtual machines for the accounting department by setting up VLANs.
Host 1
Standard Switch
Router Broadcast
Host 2
VM3 VM4 VM5 Domain A
Standard Switch
Standard Switch
Switch 1
VLAN B
VM6 VM7 VM8
Broadcast
Host 3 Domain B
Standard Switch
In this configuration, all employees in the accounting department use virtual machines in VLAN A and the
employees in sales use virtual machines in VLAN B.
The router forwards packets containing accounting data to the switches. These packets are tagged for
distribution to VLAN A only. Therefore, the data is confined to Broadcast Domain A and cannot be routed
to Broadcast Domain B unless the router is configured to do so.
This VLAN configuration prevents the sales force from intercepting packets destined for the accounting
department. It also prevents the accounting department from receiving packets intended for the sales group.
The virtual machines serviced by a single virtual switch can be in different VLANs.
ESXi features a complete IEEE 802.1q-compliant VLAN implementation. VMware cannot make specific
recommendations on how to set up VLANs, but there are factors to consider when using a VLAN
deployment as part of your security enforcement policy.
Secure VLANs
Administrators have several options for securing the VLANs in their vSphere environment.
Procedure
1 Ensure that port groups are not configured to VLAN values that are reserved by upstream physical
switches
Do not set VLAN IDs to values reserved for the physical switch.
2 Ensure that port groups are not configured to VLAN 4095 unless you are using for Virtual Guest
Tagging (VGT).
n Virtual Switch Tagging (VST) - The virtual switch tags with the configured VLAN ID the traffic that
is incoming to the attached virtual machines and removes the VLAN tag from the traffic that is
leaving them. To set up VST mode, assign a VLAN ID between 1 and 4095.
n Virtual Guest Tagging (VGT) - Virtual machines handle VLAN traffic. To activate VGT mode, set
the VLAN ID to 4095. On a distributed switch, you can also allow virtual machine traffic based on
its VLAN by using the VLAN Trunking option.
On a standard switch you can configure VLAN networking mode at switch or port group level, and on
a distributed switch at distributed port group or port level.
3 Ensure that all VLANs on each virtual switch are fully documented and that each virtual switch has all
required VLANs and only required VLANs.
ESXi
In this example, four virtual machines are configured to create a virtual DMZ on Standard Switch 2:
n Virtual Machine 1 and Virtual Machine 4 run firewalls and are connected to physical network adapters
through standard switches. Both of these virtual machines are using multiple switches.
n Virtual Machine 2 runs a Web server, and Virtual Machine 3 runs as an application server. Both of these
virtual machines are connected to one virtual switch.
The Web server and application server occupy the DMZ between the two firewalls. The conduit between
these elements is Standard Switch 2, which connects the firewalls with the servers. This switch has no direct
connection with any elements outside the DMZ and is isolated from external traffic by the two firewalls.
From an operational viewpoint, external traffic from the Internet enters Virtual Machine 1 through
Hardware Network Adapter 1 (routed by Standard Switch 1) and is verified by the firewall installed on this
machine. If the firewall authorizes the traffic, it is routed to the standard switch in the DMZ, Standard
Switch 2. Because the Web server and application server are also connected to this switch, they can serve
external requests.
Standard Switch 2 is also connected to Virtual Machine 4. This virtual machine provides a firewall between
the DMZ and the internal corporate network. This firewall filters packets from the Web server and
application server. If a packet is verified, it is routed to Hardware Network Adapter 2 through Standard
Switch 3. Hardware Network Adapter 2 is connected to the internal corporate network.
When creating a DMZ on a single host, you can use fairly lightweight firewalls. Although a virtual machine
in this configuration cannot exert direct control over another virtual machine or access its memory, all the
virtual machines are still connected through a virtual network. This network could be used for virus
propagation or targeted for other types of attacks. The security of the virtual machines in the DMZ is
equivalent to separate physical machines connected to the same network.
Figure 8‑3. External Networks, Internal Networks, and a DMZ Configured on a Single ESXi Host
ESXi
VM 2
internal
user
VM 3 VM 6
internal firewall
user server
VM 4 VM 7
internal Web
user server
VM 1 VM 5 VM 8
physical network
adapters
In the figure, the system administrator configured a host into three distinct virtual machine zones: FTP
server, internal virtual machines, and DMZ. Each zone serves a unique function.
FTP server Virtual Machine 1 is configured with FTP software and acts as a holding area
for data sent to and from outside resources such as forms and collateral
localized by a vendor.
This virtual machine is associated with an external network only. It has its
own virtual switch and physical network adapter that connect it to External
Network 1. This network is dedicated to servers that the company uses to
receive data from outside sources. For example, the company uses External
Network 1 to receive FTP traffic from vendors and allow vendors access to
data stored on externally available servers though FTP. In addition to
servicing Virtual Machine 1, External Network 1 services FTP servers
configured on different ESXi hosts throughout the site.
Because Virtual Machine 1 does not share a virtual switch or physical
network adapter with any virtual machines in the host, the other resident
virtual machines cannot transmit packets to or receive packets from the
Virtual Machine 1 network. This restriction prevents sniffing attacks, which
require sending network traffic to the victim. More importantly, an attacker
cannot use the natural vulnerability of FTP to access any of the host’s other
virtual machines.
Internal virtual Virtual Machines 2 through 5 are reserved for internal use. These virtual
machines machines process and store company-private data such as medical records,
legal settlements, and fraud investigations. As a result, the system
administrators must ensure the highest level of protection for these virtual
machines.
These virtual machines connect to Internal Network 2 through their own
virtual switch and network adapter. Internal Network 2 is reserved for
internal use by personnel such as claims processors, in-house lawyers, or
adjustors.
Virtual Machines 2 through 5 can communicate with one another through
the virtual switch and with internal virtual machines elsewhere on Internal
Network 2 through the physical network adapter. They cannot communicate
with externally facing machines. As with the FTP server, these virtual
machines cannot send packets to or receive packets from the other virtual
machines’ networks. Similarly, the host’s other virtual machines cannot send
packets to or receive packets from Virtual Machines 2 through 5.
DMZ Virtual Machines 6 through 8 are configured as a DMZ that the marketing
group uses to publish the company’s external Web site.
This group of virtual machines is associated with External Network 2 and
Internal Network 1. The company uses External Network 2 to support the
Web servers that use the marketing and financial department to host the
corporate Web site and other Web facilities that it hosts to outside users.
Internal Network 1 is the conduit that the marketing department uses to
publish content to the corporate Web site, post downloads, and maintain
services like user forums.
Because these networks are separate from External Network 1 and Internal
Network 2, and the virtual machines have no shared points of contact
(switches or adapters), there is no risk of attack to or from the FTP server or
the internal virtual machine group.
By capitalizing on virtual machine isolation, correctly configuring virtual switches, and maintaining
network separation, the system administrator can house all three virtual machine zones in the same ESXi
host and be confident that there will be no data or resource breaches.
The company enforces isolation among the virtual machine groups by using multiple internal and external
networks and making sure that the virtual switches and physical network adapters for each group are
completely separate from those of other groups.
Because none of the virtual switches straddle virtual machine zones, the system administrator succeeds in
eliminating the risk of packet leakage from one zone to another. A virtual switch, by design, cannot leak
packets directly to another virtual switch. The only way for packets to travel from one virtual switch to
another is under the following circumstances:
n The virtual switches connect to a common virtual machine, which could be used to transmit packets.
Neither of these conditions occur in the sample configuration. If system administrators want to verify that
no common virtual switch paths exist, they can check for possible shared points of contact by reviewing the
network switch layout in the vSphere Web Client.
To safeguard the virtual machines’ resources, the system administrator lowers the risk of DoS and DDoS
attacks by configuring a resource reservation and a limit for each virtual machine. The system administrator
further protects the ESXi host and virtual machines by installing software firewalls at the front and back
ends of the DMZ, ensuring that the host is behind a physical firewall, and configuring the networked
storage resources so that each has its own virtual switch.
When you set up IPsec on a host, you enable authentication and encryption of incoming and outgoing
packets. When and how IP traffic is encrypted depends on how you set up the system's security associations
and security policies.
A security association determines how the system encrypts traffic. When you create a security association,
you specify the source and destination, encryption parameters, and a name for the security association.
A security policy determines when the system should encrypt traffic. The security policy includes source
and destination information, the protocol and direction of traffic to be encrypted, the mode (transport or
tunnel) and the security association to use.
You can get a list of available security associations using the esxcli vSphere CLI command.
Procedure
u At the command prompt, enter the command esxcli network ip ipsec sa list.
You can add a security association using the esxcli vSphere CLI command.
Procedure
u At the command prompt, enter the command esxcli network ip ipsec sa add with one or more of the
following options.
Option Description
--sa-source= source address Required. Specify the source address.
--sa-destination= destination Required. Specify the destination address.
address
--sa-mode= mode Required. Specify the mode, either transport or tunnel.
--sa-spi= security parameter index Required. Specify the security parameter index. The security parameter
index identifies the security association to the host. It must be a
hexadecimal with a 0x prefix. Each security association you create must
have a unique combination of protocol and security parameter index.
--encryption-algorithm= Required. Specify the encryption algorithm using one of the following
encryption algorithm parameters.
n 3des-cbc
n aes128-cbc
n null ( provides no encryption)
--encryption-key= encryption key Required when you specify an encryption algorithm. Specify the
encryption key. You can enter keys as ASCII text or as a hexadecimal with
a 0x prefix.
--integrity-algorithm= Required. Specify the authentication algorithm, either hmac-sha1 or hmac-
authentication algorithm sha2-256.
--integrity-key= authentication Required. Specify the authentication key. You can enter keys as ASCII text
key or as a hexadecimal with a 0x prefix.
--sa-name=name Required. Provide a name for the security association.
Prerequisites
Verify that the security association you want to use is not currently in use. If you try to remove a security
association that is in use, the removal operation fails.
Procedure
u At the command prompt, enter the command
esxcli network ip ipsec sa remove --sa-name security_association_name
Procedure
u At the command prompt, enter the command esxcli network ip ipsec sp list
Prerequisites
Before creating a security policy, add a security association with the appropriate authentication and
encryption parameters as described in “Add an IPsec Security Association,” on page 245.
Procedure
u At the command prompt, enter the command esxcli network ip ipsec sp add with one or more of the
following options.
Option Description
--sp-source= source address Required. Specify the source IP address and prefix length.
--sp-destination= destination Required. Specify the destination address and prefix length.
address
--source-port= port Required. Specify the source port. The source port must be a number
between 0 and 65535.
--destination-port= port Required. Specify the destination port. The source port must be a number
between 0 and 65535.
--upper-layer-protocol= protocol Specify the upper layer protocol using one of the following parameters.
n tcp
n udp
n icmp6
n any
--flow-direction= direction Specify the direction in which you want to monitor traffic using either in
or out.
--action= action Specify the action to take when traffic with the specified parameters is
encountered using one of the following parameters.
n none: Take no action
n discard: Do not allow data in or out.
n ipsec: Use the authentication and encryption information supplied in
the security association to determine whether the data comes from a
trusted source.
--sp-mode= mode Specify the mode, either tunnel or transport.
--sa-name=security association Required. Provide the name of the security association for the security
name policy to use.
--sp-name=name Required. Provide a name for the security policy.
Prerequisites
Verify that the security policy you want to use is not currently in use. If you try to remove a security policy
that is in use, the removal operation fails.
Procedure
u At the command prompt, enter the command
esxcli network ip ipsec sp remove --sa-name security policy name.
To remove all security policies, enter the command esxcli network ip ipsec sp remove --remove-all.
Procedure
1 Run esxcli system snmp get to determine whether SNMP is currently used.
2 If your system does require SNMP, make sure that it is running by running the esxcli system snmp set
--enable true command.
3 If your system uses SNMP, see the Monitoring and Performance publication for setup information for
SNMP 3.
SNMP must be configured on each ESXi host. You can use vCLI, PowerCLI, or the vSphere Web
Services SDK for configuration.
Use Virtual Switches with the vSphere Network Appliance API Only If
Required
If you are not using products that make use of the vSphere Network Appliance API (DvFilter), do not
configure your host to send network information to a virtual machine. If the vSphere Network Appliance
API is enabled, an attacker might attempt to connect a virtual machine to the filter. This connection might
provide access to the network of other virtual machines on the host.
If you are using a product that makes use of this API, verify that the host is configured correctly. See the
sections on DvFilter in Developing and Deploying vSphere Solutions, vServices, and ESX Agents. If your host is
set up to use the API, make sure that the value of the Net.DVFilterBindIpAddress parameter matches the
product that uses the API.
Procedure
1 To ensure that the Net.DVFilterBindIpAddress kernel parameter has the correct value, locate the
parameter by using the vSphere Web Client.
c Scroll down to Net.DVFilterBindIpAddress and verify that the parameter has an empty value.
The order of parameters is not strictly alphabetical. Type DVFilter in the Filter field to display all
related parameters.
2 If you are not using DvFilter settings, make sure that the value is blank.
3 If you are using DvFilter settings, make sure the value of the parameter matches the value that the
product that uses the DvFilter is using.
n Ensure that physical switch ports are configured with Portfast if spanning tree is enabled. Because
VMware virtual switches do not support STP, physical switch ports connected to an ESXi host must
have Portfast configured if spanning tree is enabled to avoid loops within the physical switch network.
If Portfast is not set, potential performance and connectivity issues might arise.
n Ensure that Netflow traffic for a Distributed Virtual Switch is only being sent to authorized collector IP
addresses. Netflow exports are not encrypted and can contain information about the virtual network,
increasing the potential for a successful man-in-the-middle attack. If Netflow export is required, verify
that all Netflow target IP addresses are correct.
n Ensure that only authorized administrators have access to virtual networking components by using the
role-based access controls. For example, virtual machine administrators should have access only to port
groups in which their virtual machines reside. Network administrators should have permissions to all
virtual networking components but no access to virtual machines. Limiting access reduces the risk of
misconfiguration, whether accidental or malicious, and enforces key security concepts of separation of
duties and least privilege.
n Ensure that port groups are not configured to the value of the native VLAN. Physical switches use
VLAN 1 as their native VLAN. Frames on a native VLAN are not tagged with a 1. ESXi does not have a
native VLAN. Frames with VLAN specified in the port group have a tag, but frames with VLAN not
specified in the port group are not tagged. This can cause an issue because irtual machines that are
tagged with a 1 end up as belonging to native VLAN of the physical switch.
For example, frames on VLAN 1 from a Cisco physical switch are untagged because VLAN1 is the
native VLAN on that physical switch. However, frames from the ESXi host that are specified as VLAN 1
are tagged with a 1; therefore, traffic from the ESXi host that is destined for the native VLAN is not
routed correctly because it is tagged with a 1 instead of being untagged. Traffic from the physical switch
that is coming from the native VLAN is not visible because it is not tagged. If the ESXi virtual switch
port group uses the native VLAN ID, traffic from virtual machines on that port is not be visible to the
native VLAN on the switch because the switch is expecting untagged traffic.
n Ensure that port groups are not configured to VLAN values reserved by upstream physical switches.
Physical switches reserve certain VLAN IDs for internal purposes and often disallow traffic configured
to these values. For example, Cisco Catalyst switches typically reserve VLANs 1001–1024 and 4094.
Using a reserved VLAN might result in a denial of service on the network.
n Ensure that port groups are not configured to VLAN 4095 except for Virtual Guest Tagging (VGT).
Setting a port group to VLAN 4095 activates VGT mode. In this mode, the virtual switch passes all
network frames to the virtual machine without modifying the VLAN tags, leaving it to the virtual
machine to deal with them.
n Ensure that distributed virtual switch port mirror traffic is sent only to authorized collector ports or
VLANs. A vSphere Distributed Switch can mirror traffic from one port to another to allow packet
capture devices to collect specific traffic flows. Port mirroring sends a copy of all specified traffic in un-
encrypted format. This mirrored traffic contains the full data in the packets captured and can result in
total compromise of that data if misdirected. If port mirroring is required, verify that all port mirror
destination VLAN, port and uplink IDs are correct.
n Ensure that port groups are configured with a clear network label. These labels serve as a functional
descriptor for the port group and help you identify each port group's function as the network becomes
more complex.
n Ensure that each vSphere Distributed Switch has a clear network label that indicates the function or IP
subnet of the switch. This label serves as a functional descriptor for the switch, just as physical switches
require a host name. For example, you can label the switch as internal to show that it is for internal
networking. You cannot change the label for a standard virtual switch.
Procedure
1 Ensure that all vSwitch and VLANS IDs are fully documented
If you are using VLAN tagging on a virtual switch, the IDs must correspond to the IDs on external
VLAN-aware upstream switches. If VLAN IDs are not tracked completely, mistaken reuse of IDs might
allow for traffic between the wrong physical and virtual machines. Similarly, if VLAN IDs are wrong or
missing, traffic between physical and virtual machines might be blocked where you want traffic to pass.
2 Ensure that VLAN IDs for all distributed virtual port groups (dvPortgroup instances) are fully
documented.
If you are using VLAN tagging on a dvPortgroup the IDs must correspond to the IDs on external
VLAN-aware upstream switches. If VLAN IDs are not tracked completely, mistaken reuse of IDs might
allow for traffic between the wrong physical and virtual machines. Similarly, if VLAN IDs are wrong or
missing, traffic between physical and virtual machines might be blocked where you want traffic to pass.
3 Ensure that private VLAN IDs for all distributed virtual switches are fully documented.
Private VLANs (PVLANs) for distributed virtual switches require primary and secondary VLAN IDs.
These IDs must correspond to the IDs on external PVLAN-aware upstream switches. If VLAN IDs are
not tracked completely, mistaken reuse of IDs might allow for traffic between the wrong physical and
virtual machines. Similarly, if PVLAN IDs are wrong or missing, traffic between physical and virtual
machines might be blocked where you want traffic to pass.
4 Verify that VLAN trunk links are connected only to physical switch ports that function as trunk links.
When connecting a virtual switch to a VLAN trunk port, you must properly configure both the virtual
switch and the physical switch at the uplink port. If the physical switch is not properly configured,
frames with the VLAN 802.1q header are forwarded to a switch that not expecting their arrival.
Strictly control access to management network by protecting it at the security level of the most secure virtual
machine running on an ESXi host or cluster. No matter how the management network is restricted,
administrators must have access to this network to configure the ESXi hosts and vCenter Server system.
Place the vSphere management port group in a dedicated VLAN on a common vSwitch. The vSwitch can be
shared with production (virtual machine) traffic, as long as the vSphere management port group's VLAN is
not used by production virtual machines. Check that the network segment is not routed, except possibly to
networks where other management-related entities are found, for example, in conjunction with vSphere
Replication. In particular, make sure that production virtual machine traffic cannot be routed to this
network.
Enable access to management functionality in a strictly controlled manner by using one of the following
approaches.
n For especially sensitive environments, configure a controlled gateway or other controlled method to
access the management network. For example, require that administrators connect to the management
network through a VPN, and allow access only to trusted administrators.
IP-based storage frequently is not encrypted; anyone with access to this network can view it. To restrict
unauthorized users from viewing the IP-based storage traffic, logically separate the IP-based storage
network traffic from the production traffic. Configure the IP-based storage adapters on separate VLANs or
network segments from the VMkernel management network to limit unauthorized users from viewing the
traffic.
Separate VMotion traffic from production traffic on an isolated network. Set up the network to be
nonroutable, that is, make sure that no layer-3 router is spanning this and other networks, to prevent outside
access to the network.
The VMotion port group should be in a dedicated VLAN on a common vSwitch. The vSwitch can be shared
with production (virtual machine) traffic, as long as the VMotion port group’s VLAN is not used by
production virtual machines.
See Chapter 5, “Securing ESXi Hosts,” on page 159 and Chapter 7, “Securing Virtual Machines,” on page 223
for related information.
n “Verify That Sending Host Performance Data to Guests is Disabled,” on page 258
n “Setting Timeouts for the ESXi Shell and vSphere Web Client,” on page 259
Unsynchronized clocks can result in authentication problems, which can cause the installation to fail or
prevent the vCenter Server Appliance vpxd service from starting.
Make sure any Windows host machine on which a vCenter component runs is synchronized with the NTP
server. See the Knowledge Base article http://kb.vmware.com/kb/1318.
n Configuring Time Synchronization Settings in the vCenter Server Appliance on page 254
You can change the time synchronization settings in the vCenter Server Appliance after deployment.
This task explains how to set up NTP from the vSphere Client. You can instead use the vicfg-ntp vCLI
command. See the vSphere Command-Line Interface Reference.
Procedure
1 Start the vSphere Client, and connect to the ESXi host.
5 Click Add.
6 In the Add NTP Server dialog box, enter the IP address or fully qualified domain name of the NTP
server to synchronize with.
7 Click OK.
When you deploy the vCenter Server Appliance, you can choose the time synchronization method to be
either by using an NTP server or by using VMware Tools. In case the time settings in your vSphere network
change, you can edit the vCenter Server Appliance and configure the time synchronization settings by using
the commands in the appliance shell.
When you enable periodic time synchronization, VMware Tools sets the time of the guest operating system
to be the same as the time of the host.
After time synchronization occurs, VMware Tools checks once every minute to determine whether the
clocks on the guest operating system and the host still match. If not, the clock on the guest operating system
is synchronized to match the clock on the host.
Native time synchronization software, such as Network Time Protocol (NTP), is typically more accurate
than VMware Tools periodic time synchronization and is therefore preferred. You can use only one form of
periodic time synchronization in the vCenter Server Appliance. If you decide to use native time
synchronization software, vCenter Server Appliance VMware Tools periodic time synchronization is
disabled, and the reverse.
Procedure
1 Access the appliance shell and log in as a user who has the administrator or super administrator role.
The default user with super administrator role is root.
3 (Optional) Run the command to verify that you successfully applied the VMware Tools time
synchronization.
timesync.get
The time of the appliance is synchronized with the time of the ESXi host.
Procedure
1 Access the appliance shell and log in as a user who has the administrator or super administrator role.
2 Add NTP servers to the vCenter Server Appliance configuration by running the ntp.server.add
command.
This command adds NTP servers to the configuration. If the time synchronization is based on an NTP
server, then the NTP daemon is restarted to reload the new NTP servers. Otherwise, this command just
adds the new NTP servers to the existing NTP configuration.
3 (Optional) To delete old NTP servers and add new ones to the vCenter Server Appliance configuration,
run the ntp.server.set command.
This command deletes old NTP servers from the configuration and sets the input NTP servers in the
configuration. If the time synchronization is based on an NTP server, the NTP daemon is restarted to
reload the new NTP configuration. Otherwise, this command just replaces the servers in NTP
configuration with the servers that you provide as input.
4 (Optional) Run the command to verify that you successfully applied the new NTP configuration
settings.
ntp.get
The command returns a space-separated list of the servers configured for NTP synchronization. If the
NTP synchronization is enabled, the command returns that the NTP configuration is in Up status. If the
NTP synchronization is disabled, the command returns that the NTP configuration is in Down status.
What to do next
If the NTP synchronization is disabled, you can configure the time synchronization settings in the
vCenter Server Appliance to be based on an NTP server. See “Synchronize the Time in the vCenter Server
Appliance with an NTP Server,” on page 255.
Synchronize the Time in the vCenter Server Appliance with an NTP Server
You can configure the time synchronization settings in the vCenter Server Appliance to be based on an NTP
server.
Prerequisites
Set up one or more Network Time Protocol (NTP) servers in the vCenter Server Appliance configuration.
See “Add or Replace NTP Servers in the vCenter Server Appliance Configuration,” on page 255.
Procedure
1 Access the appliance shell and log in as a user who has the administrator or super administrator role.
3 (Optional) Run the command to verify that you successfully applied the NTP synchronization.
timesync.get
iSCSI is a means of accessing SCSI devices and exchanging data records by using TCP/IP over a network
port rather than through a direct connection to a SCSI device. In iSCSI transactions, blocks of raw SCSI data
are encapsulated in iSCSI records and transmitted to the requesting device or user.
iSCSI SANs let you make efficient use of existing Ethernet infrastructures to provide hosts access to storage
resources that they can dynamically share. iSCSI SANs provide an economical storage solution for
environments that rely on a common storage pool to serve numerous users. As with any networked system,
your iSCSI SANs can be subject to security breaches.
Note The requirements and procedures for securing an iSCSI SAN are similar for the hardware iSCSI
adapters you can use with hosts and for iSCSI configured directly through the host.
The goal of authentication is to prove that the initiator has the right to access a target, a right granted when
you configure authentication.
ESXi does not support Secure Remote Protocol (SRP), or public-key authentication methods for iSCSI. You
can use Kerberos only with NFS 4.1.
ESXi supports both CHAP and Mutual CHAP authentication. the vSphere Storage documentation explains
how to select the best authentication method for your iSCSI device and how to set up CHAP.
Ensure uniqueness of CHAP secrets. The mutual authentication secret for each host should be different; if
possible, the secret should be different for each client authenticating to the server as well. This ensures that if
a single host is compromised, an attacker cannot create another arbitrary host and authenticate to the
storage device. With a single shared secret, compromise of one host can allow an attacker to authenticate to
the storage device.
The following are some specific suggestions for enforcing good security standards.
Take additional measures to prevent attackers from easily seeing iSCSI data. Neither the hardware iSCSI
adapter nor ESXi iSCSI initiator encrypts the data that they transmit to and from the targets, making the
data more vulnerable to sniffing attacks.
Allowing your virtual machines to share standard switches and VLANs with your iSCSI configuration
potentially exposes iSCSI traffic to misuse by a virtual machine attacker. To help ensure that intruders
cannot listen to iSCSI transmissions, make sure that none of your virtual machines can see the iSCSI storage
network.
If you use a hardware iSCSI adapter, you can accomplish this by making sure that the iSCSI adapter and
ESXi physical network adapter are not inadvertently connected outside the host by virtue of sharing a
switch or some other means. If you configure iSCSI directly through the ESXi host, you can accomplish this
by configuring iSCSI storage through a different standard switch than the one used by your virtual
machines.
In addition to protecting the iSCSI SAN by giving it a dedicated standard switch, you can configure your
iSCSI SAN on its own VLAN to improve performance and security. Placing your iSCSI configuration on a
separate VLAN ensures that no devices other than the iSCSI adapter have visibility into transmissions
within the iSCSI SAN. Also, network congestion from other sources cannot interfere with iSCSI traffic.
Any iSCSI target device that you run must have one or more open TCP ports to listen for iSCSI connections.
If any security vulnerabilities exist in the iSCSI device software, your data can be at risk through no fault of
ESXi. To lower this risk, install all security patches that your storage equipment manufacturer provides and
limit the devices connected to the iSCSI network.
You can protect access to storage in your vSphere environment by using zoning and LUN masking with
your SAN resources. For example, you might manage zones defined for testing independently within the
SAN so they do not interfere with activity in the production zones. Similarly, you might set up different
zones for different departments.
When you set up zones, take into account any host groups that are set up on the SAN device.
Zoning and masking capabilities for each SAN switch and disk array and the tools for managing LUN
masking are vendor specific.
See your SAN vendor's documentation and the vSphere Storage documentation.
Kerberos is an authentication service that allows an NFS 4.1 client installed on ESXi to prove its identity to
an NFS server before mounting an NFS share. Kerberos uses cryptography to work across an insecure
network connection. The vSphere implementation of Kerberos for NFS 4.1 supports only identity
verification for the client and server, but does not provide data integrity or confidentiality services.
n ESXi uses Kerberos version 5 with Active Directory domain and Key Distribution Center (KDC).
n As a vSphere administrator, you specify Active Directory credentials to provide an access to NFS 4.1
Kerberos datastores to an NFS user. A single set of credentials is used to access all Kerberos datastores
mounted on that host.
n When multiple ESXi hosts share the same NFS 4.1 datastore, you must use the same Active Directory
credentials for all hosts that access the shared datastore. You can automate this by setting the user in
host profiles and applying the profile to all ESXi hosts.
n NFS 4.1 does not support simultaneous AUTH_SYS and Kerberos mounts.
n NFS 4.1 with Kerberos does not support IPv6. Only IPv4 is supported.
The ability to send host performance data to a guest virtual machine is disabled by default. This default
setting prevents a virtual machine from obtaining detailed information about the physical host, and does not
make host data available if a breach of security of the virtual machine occurs.
Note The procedure below illustrates the basic process. Use the vSphere or one of the vSphere command-
line interfaces (vCLI, PowerCLI, and so on) for performing this task on all hosts simultaneously instead.
Procedure
1 On the ESXi system that hosts the virtual machine, browse to the VMX file.
Virtual machine configuration files are located in the /vmfs/volumes/datastore directory, where
datastore is the name of the storage device where the virtual machine files are stored.
tools.guestlib.enableHostInfo=FALSE
You cannot retrieve performance information about the host from inside the guest virtual machine.
Setting Timeouts for the ESXi Shell and vSphere Web Client
To prevent intruders from using an idle session, be sure to set timeouts for the ESXi Shell and
vSphere Web Client.
Availability Timeout The availability timeout setting is the amount of time that can elapse before
you must log in after the ESXi Shell is enabled. After the timeout period, the
service is disabled and users are not allowed to log in.
Idle Timeout The idle timeout is the amount of time that can elapse before the user is
logged out of an idle interactive sessions. Changes to the idle timeout apply
the next time a user logs in to the ESXi Shell and do not affect existing
sessions.
For reconfiguration, the vCenter Server, Platform Services Controller, vSphere Update Manager and ESXi
hosts within the environment must be running the software versions that allow for disablement. See
VMware Knowledge Base article 2145796 for a list of VMware products that support disabling TLS 1.0.
Before you disable TLS 1.0, you also have to ensure that other VMware products and third-party products
support a TLS protocol that is enabled. Depending on your configuration, that can be TLS 1.2 or both TLS
1.1 and TLS 1.2.
The following table lists the ports. If a port is not included, the utility does not affect it.
Table 10‑1. vCenter Server and Platform Services Controller Affected by the TLS Configurator Utility
Service Name on Windows Name on Linux Port
Table 10‑1. vCenter Server and Platform Services Controller Affected by the TLS Configurator Utility
(Continued)
Service Name on Windows Name on Linux Port
(*)TLS is controlled by the cypher list for these services. Granular management is not possible. Only TLS 1.2
or all TLS 1.x versions are supported.
(**) On the vCenter Server Appliance, vSphere Update Manager is on the same system as vCenter Server.
On vCenter Server on Windows, you configure TLS by editing configuration files. See “Disable TLS Versions
on vSphere Update Manager,” on page 269.
n You cannot use a TLS 1.2 only connection to an external Microsoft SQL Server or an external Oracle
database.
n Do not disable TLS 1.0 on a vCenter Server or Platform Services Controller instance that is running on
Windows Server 2008. Windows 2008 supports only TLS 1.0. See the Microsoft TechNet Article TLS/SSL
Settings in the Server Roles and Technologies Guide.
n Under the following circumstances, you have to restart host services after applying TLS configuration
changes.
n If you apply the changes through cluster configuration by using host profiles.
1 If your environment includes vSphere Update Manager on Windows, and vSphere Update Manager is
on a separate system, disable protocols explicitly by editing configuration files. See “Disable TLS
Versions on vSphere Update Manager,” on page 269.
vSphere Update Manager on the vCenter Server Appliance is always included with the vCenter Server
system and the script updates the corresponding port.
2 Install the TLS Configuration utility on the vCenter Server and Platform Services Controller. If your
environment uses an embedded Platform Services Controller, you install the utility only on
vCenter Server.
4 Run the utility on each ESXi host that is managed by the vCenter Server. You can perform this task for
each host or for all hosts in a cluster.
5 If your environment uses one or more Platform Services Controller instances, run the utility on each
instance.
Prerequisites
You perform this configuration on systems that run vSphere 6.0 U3 and on systems that run vSphere 6.5.
You have two choices.
n Disable TLS 1.0 and enable TLS 1.1 and TLS 1.2.
n Disable TLS 1.0 and TLS 1.1 and enable TLS 1.2.
On the vCenter Server Appliance, vSphere Update Manager ports are updated by the script. On
vCenter Server, you edit vSphere Update Manager configuration files. See “Disable TLS Versions on vSphere
Update Manager,” on page 269.
Prerequisites
You need a MyVMware account to download the script.
Procedure
1 Log in to your MyVMware account and go to vSphere.
2 Find the product and product version that you are licensed for, select VMware vCenter Server, and click
Go to Downloads.
3 Select VMware vSphere TLS Configurator and download the following file.
OS File
Windows VMware-vSphereTlsReconfigurator-version-
build_number.x86_64.msi
Linux VMware-vSphereTlsReconfigurator-version-
build_number.x86_64.rpm
In environments with an external Platform Services Controller, you also upload the file to the
Platform Services Controller.
OS Procedure
Windows a Log in as a user with Administrator privileges.
b Copy the VMware-vSphereTlsReconfigurator-version-
build_number.x86_64.msi file that you just downloaded.
c Install the MSI file.
Linux a Connect to the appliance using SSH and log in as a user who has
privileges to run scripts.
b Copy the VMware-vSphereTlsReconfigurator-version-
build_number.x86_64.rpm file to the appliance using an SCP client.
c If the Bash shell is not currently enabled, run the following commands.
After installation completes, you find the scripts at the following locations.
OS Location
OS Backup Directory
Windows c:\users\current_user\appdata\local\temp\yearmonthdayTtime
Linux /tmp/yearmonthdayTtime
Procedure
1 Change directory to the vSphereTlsReconfigurator, and then to the VcTlsReconfigurator subdirectory.
OS Command
Windows C:\Program Files\VMware\CIS\vSphereTlsReconfigurator\
cd VcTlsReconfigurator
Linux cd /usr/lib/vmware-vSphereTlsReconfigurator/
cd VcTlsReconfigurator
OS Command
Windows directory_path\VcTlsReconfigurator> reconfigureVc backup -
d backup_directory_path
Linux directory_path/VcTlsReconfigurator> ./reconfigureVc backup
-d backup_directory_path
4 (Optional) If you later have to perform a restore, you can run the following command.
Prerequisites
Ensure that the hosts and services that the vCenter Server manages can communicate using a version of TLS
that remains enabled. For products that communicate only using TLS 1.0, connectivity becomes unavailable.
Procedure
1 Log in to the vCenter Server system as a user who can run scripts and go to the directory where the
script is located.
OS Command
2 Run the command, depending on your operating system and on which version of TLS you want to use.
n To disable TLS 1.0 and enable both TLS 1.1 and TLS 1.2, run the following command.
OS Command
n To disable TLS 1.0 and TLS 1.1, and enable only TLS 1.2, run the following command.
OS Command
3 If your environment includes other vCenter Server systems, repeat the process on each vCenter Server
system.
4 Repeat the configuration on each ESXi host and each Platform Services Controller.
For ESXi hosts, you use a different script than for the other components of your vSphere environment.
Note The script disables both TLS 1.0 and TLS 1.1 unless you specify the -p option.
Prerequisites
Ensure that any products or services associated with the ESXi host can communicate using TLS 1.1 or TLS
1.2. For products that communicate only using TLS 1.0, connectivity is lost.
This procedure explains how to perform the task on a single host. You can write a script to configure
multiple hosts.
Procedure
1 Log in to the ESXi host as a user who can run scripts and go to the directory where the script is located.
OS Command
Windows cd ..\EsxTlsReconfigurator
Linux cd ../EsxTlsReconfigurator
n To disable TLS 1.0 and enable both TLS 1.1 and TLS 1.2 on all hosts in a cluster, run the following
command.
OS Command
n To disable TLS 1.0 and TLS 1.1, and enable only TLS 1.2 on all hosts in a cluster, run the following
command.
OS Command
n To disable TLS 1.0 and enable both TLS 1.1 and TLS 1.2 on an individual host, run the following
command.
OS Command
n To disable TLS 1.0 and TLS 1.1, and enable only TLS 1.2 on an individual host, run the following
command.
OS Command
If your environment uses only an embedded Platform Services Controller, you do not have to perform this
task.
Note Proceed with this task only after you confirm that each vCenter Server system is running a
compatible version of TLS. If instances of vCenter Server 6.0.x or 5.5.x are connected to the vCenter Server,
those instances stop communicating with the Platform Services Controller if you disable TLS versions.
You can disable TLS 1.0 and TLS 1.1 and leave TLS 1.2 enabled, or you can disable only TLS 1.0 and leave
TLS 1.1 and TLS 1.2 enabled.
Prerequisites
Ensure that the hosts and services that the Platform Services Controller connects to can communicate using
a supported protocol. Because authentication and certificate management is handled by the
Platform Services Controller, consider carefully which services might be affected. For services that
communicate only using unsupported protocols, connectivity becomes unavailable.
Procedure
1 Log in to the Platform Services Controller as a user who can run scripts and go to the directory where
the script is located.
OS Command
2 You can perform the task on Platform Services Controller on Windows or on the
Platform Services Controller appliance.
n To disable TLS 1.0 and enable both TLS 1.1 and TLS 1.2, run the following command.
OS Command
n To disable TLS 1.0 and TLS 1.1, and enable only TLS 1.2, run the following command.
OS Command
3 If your environment includes other Platform Services Controller systems, repeat the process.
You can only perform a recovery if you previously backed up the configuration. Reverting changes is not
supported for ESXi hosts.
If your environment runs a separate vSphere Update Manager instance on a Windows system, you have
to update vSphere Update Manager first.
2 vCenter Server
Procedure
1 Connect to the Windows machine or the appliance.
OS Procedure
cd C:\Program Files\VMware\CIS\vSphereTlsReconfigurator\VcTlsReconfigurator
Linux 1 Connect to the appliance using SSH and log in as a user who has privileges to run scripts.
2 If the Bash shell is not currently enabled, run the following commands.
cd /usr/lib/vmware-vSphereTlsReconfigurator/VcTlsReconfigurator
OS Procedure
Windows C:\ProgramData\VMware\vCenterServer\logs\vSphere-
TlsReconfigurator\VcTlsReconfigurator.log
The output looks like the following example.
c:\users\username\appdata\local\temp\20161108T161539
c:\users\username\appdata\local\temp\20161108T171539
Linux grep "backup directory" /var/log/vmware/vSphere-
TlsReconfigurator/VcTlsReconfigurator.log
The output looks like the following example.
2016-11-17T17:29:20.950Z INFO Using backup directory: /tmp/20161117T172920
2016-11-17T17:32:59.019Z INFO Using backup directory: /tmp/20161117T173259
OS Procedure
You can manage the TLS protocol configuration for other services by using the TLS Configuration Utility.
For vSphere Update Manager, however, you must reconfigure the TLS protocol manually.
Modifying the TLS protocol configuration might involve any of the following tasks.
n Disabling TLS version 1.0 while leaving TLS version 1.1 and TLS version 1.2 enabled.
n Disabling TLS version 1.0 and TLS version 1.1 while leaving TLS version 1.2 enabled.
Note Before you disable a TLS version, make sure that none of the services that communicate vSphere
Update Manager use that version.
Prerequisites
Stop the vSphere Update Manager service. See the Installing and Administering VMware vSphere Update
Manager documentation.
Procedure
1 Stop the vSphere Update Manager service.
2 Navigate to the Update Manager installation directory, which is different for vSphere 6.0 and vSphere
6.5.
Version Location
vSphere 6.0 C:\Program Files (x86)\VMware\Infrastructure\Update Manager
vSphere 6.5 C:\Program Files\VMware\Infrastructure\Update Manager
Option Description
Disable TLS 1.0. Leave TLS 1.1 and <Set name="ExcludeProtocols">
TLS 1.2 enabled. <Array type="java.lang.String">
<Item>TLSv1</Item>
</Array>
</Set>
Disable TLS 1.0 and TLS 1.1. Leave <Set name="ExcludeProtocols">
TLS 1.2 enabled. <Array type="java.lang.String">
<Item>TLSv1</Item>
<Item>TLSv1.1</Item>
</Array>
</Set>
Note Before you disable a TLS version, make sure that none of the services that communicate with
vSphere Update Manager use that version.
Prerequisites
Stop the vSphere Update Manager service. See the Installing and Administering VMware vSphere Update
Manager documentation.
Procedure
1 Stop the vSphere Update Manager service.
2 Navigate to the Update Manager installation directory which is different for 6.0 and 6.5.
Version Location
vSphere 6.0 C:\Program Files (x86)\VMware\Infrastructure\Update Manager
vSphere 6.5 C:\Program Files\VMware\Infrastructure\Update Manager
<ssl>
<handshakeTimeoutMs>120000</handshakeTimeoutMS>
<sslOptions>sslOptions_value</sslOptions>
</ssl>
<ssl>
<privateKey>ssl/rui.key</privateKey>
<certificate>ssl/rui.crt</certificate>
<sslOptions>sslOptions_value</sslOptions>
</ssl>
5 Depending on the TLS version that you want to disable, use one of the following decimal values in the
<sslOptions> tag.
Procedure
1 Stop the vSphere Update Manager service.
2 Navigate to the Update Manager installation directory which is different for 6.0 and 6.5.
Version Location
vSphere 6.0 C:\Program Files (x86)\VMware\Infrastructure\Update Manager
vSphere 6.5 C:\Program Files\VMware\Infrastructure\Update Manager
4 Remove the TLS tag that corresponds to the TLS protocol version that you want to enable.
Procedure
1 Stop the vSphere Update Manager service.
2 Navigate to the Update Manager installation directory which is different for 6.0 and 6.5.
Version Location
vSphere 6.0 C:\Program Files (x86)\VMware\Infrastructure\Update Manager
vSphere 6.5 C:\Program Files\VMware\Infrastructure\Update Manager
4 Change the decimal value that is used in the <sslOptions> tag, or delete the tag to allow all versions of
TLS.
n To enable TLS 1.1 but leave TLS 1.0 disabled, use the decimal value 117587968.
n To reenable both TLS 1.1 and TLS 1.0, remove the tag.
When setting permissions, verify all the object types are set with appropriate privileges for each particular
action. Some operations require access permission at the root folder or parent folder in addition to access to
the object being manipulated. Some operations require access or performance permission at a parent folder
and a related object.
vCenter Server extensions might define additional privileges not listed here. Refer to the documentation for
the extension for more information on those privileges.
Alarms Privileges
Alarms privileges control the ability to create, modify, and respond to alarms on inventory objects.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Alarms.Acknowledge alarm Allows suppression of all alarm actions on Object on which an alarm is defined
all triggered alarms.
Alarms.Create alarm Allows creation of a new alarm. Object on which an alarm is defined
When creating alarms with a custom action,
privilege to perform the action is verified
when the user creates the alarm.
Alarms.Disable alarm action Allows stopping an alarm action from Object on which an alarm is defined
occurring after an alarm has been triggered.
This does not disable the alarm.
Alarms.Modify alarm Allows changing the properties of an alarm. Object on which an alarm is defined
Alarms.Set alarm status Allows changing the status of the Object on which an alarm is defined
configured event alarm. The status can
change to Normal, Warning, or Alert.
The table describes privileges that determine who can manage Auto Deploy rules and rule sets and who can
create and edit image profiles. See vSphere Installation and Setup.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Certificates Privileges
Certificates privileges control which users can manage ESXi certificates.
This privilege determines who can perform certificate management for ESXi hosts. See “Required Privileges
for Certificate Management Operations,” on page 123 for information on vCenter Server certificate
management.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Certificates. Manage Allows certificate management for ESXi hosts. vCenter Server
Certificates
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Content library. Create local Allows creation of local libraries on the specified vCenter Server vCenter Server
library system.
Content library. Delete Allows deletion of library items. Library. Set this
library item permission to propagate to
all library items.
Content library. Download Allows download of files from the content library. Library
files
Content library. Evict Allows eviction of items. The content of a subscribed library can be Library. Set this
library item cached or not cached. If the content is cached, you can release a permission to propagate to
library item by evicting it if you have this privilege. all library items.
Content library. Evict Allows eviction of a subscribed library. The content of a subscribed Library
subscribed library library can be cached or not cached. If the content is cached, you can
release a library by evicting it if you have this privilege.
Content library. Import Allows a user to import a library item if the source file URL starts Library
Storage with ds:// or file://. This privilege is disabled for content library
administrator by default, Because an import from a storage URL
implies import of content , enable this privilege only if necessary and
if now security concern exists for the user who will perform the
import.
Content library. Probe This privilege allows solution users and APIs to probe a remote Library
subscription information library's subscription info including URL, SSL certificate and
password. The resulting structure describes whether the subscription
configuration is successful or whether there are problems such as SSL
errors.
Content library. Sync Allows synchronization of library items. Library. Set this
library item permission to propagate to
all library items.
Content library. Type Allows a solution user or API to introspect the type support plugins Library
introspection for the content library service.
Content library. Update Allows you to update the configuration settings. Library
configuration settings No vSphere Web Client user interface elements are associated with
this privilege.
Content library. Update files Allows you to upload content into the content library. Also allows Library
you to remove files from a library item.
Content library. Update Allows updates to library items. Library. Set this
library item permission to propagate to
all library items.
Content library. Update Allows you to update the properties of a subscribed library. Library
subscribed library
Content library. View Allows you to view the configuration settings. Library
configuration settings No vSphere Web Client user interface elements are associated with
this privilege.
Datacenter Privileges
Datacenter privileges control the ability to create and edit data centers in the vSphere Web Client inventory.
All data center privileges are used in vCenter Server only. The Create datacenter privilege is defined on data
center folders or the root object. All other data center privileges are pair with data centers, data center
folders, or the root object.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Datacenter.Create datacenter Allows creation of new data center. Data center folder or root
object
Datacenter.Move datacenter Allows moving a data center. Data center, source and
Privilege must be present at both the source and destination
destination.
Datacenter.Network protocol profile Allows configuration of the network profile for a Data center
configuration data center.
Datacenter.Release IP allocation Allows releasing the assigned IP allocation for a Data center
data center.
Datacenter.Remove datacenter Allows removal of a data center. Data center plus parent
In order to have permission to perform this object
operation, you must have this privilege assigned
to both the object and its parent object.
Datacenter.Rename datacenter Allows changing the name of a data center. Data center
Datastore Privileges
Datastore privileges control the ability to browse, manage, and allocate space on datastores.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Datastore.Allocate space Allows allocating space on a datastore for a virtual machine, Data stores
snapshot, clone, or virtual disk.
Datastore.Low level file Allows performing read, write, delete, and rename operations in Data stores
operations the datastore browser.
Datastore.Move datastore Allows moving a datastore between folders. Datastore, source and
Privileges must be present at both the source and destination. destination
Datastore.Update virtual Allows updating file paths to virtual machine files on a datastore Data stores
machine files after the datastore has been resignatured.
Datastore.Update virtual Allows updating virtual machine metadata associated with a Data stores
machine metadata datastore.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Datastore cluster.Configure Allows creation of and configuration of settings for datastore clusters Datastore clusters
a datatstore cluster for Storage DRS.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Distributed switch.Host Allows changing the host members of a distributed switch. Distributed switches
operation
Distributed switch.Modify Allows changing the configuration of a distributed switch. Distributed switches
Distributed switch.Move Allows moving a vSphere Distributed Switch to another folder. Distributed switches
Distributed switch.Network Allow changing the resource settings for a vSphere Distributed Switch. Distributed switches
I/O control operation
Distributed switch.Policy Allows changing the policy of a vSphere Distributed Switch. Distributed switches
operation
Distributed switch .Port Allow changing the configuration of a port in a vSphere Distributed Distributed switches
configuration operation Switch.
Distributed switch.Port Allows changing the setting of a port in a vSphere Distributed Switch. Distributed switches
setting operation
Distributed switch.VSPAN Allows changing the VSPAN configuration of a vSphere Distributed Distributed switches
operation Switch.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
ESX Agent Allows deployment of an agent virtual machine on a host or cluster. Virtual machines
Manager.Config
ESX Agent Allows modifications to an agent virtual machine such as powering off Virtual machines
Manager.Modify or deleting the virtual machine.
ESX Agent View.View Allows viewing of an agent virtual machine. Virtual machines
Extension Privileges
Extension privileges control the ability to install and manage extensions.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Folder Privileges
Folder privileges control the ability to create and manage folders.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Global Privileges
Global privileges control global tasks related to tasks, scripts, and extensions.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Global.Act as vCenter Allows preparation or initiation of a vMotion send operation or a Root vCenter Server
Server vMotion receive operation.
Global.Cancel task Allows cancellation of a running or queued task. Inventory object related
to the task
Global.Capacity planning Allows enabling the use of capacity planning for planning Root vCenter Server
consolidation of physical machines to virtual machines.
Global.Diagnostics Allows retrieval of a list of diagnostic files, log header, binary files, or Root vCenter Server
diagnostic bundle.
To avoid potential security breaches, limit this privilege to the vCenter
Server Administrator role.
Global.Disable methods Allows servers for vCenter Server extensions to disable certain Root vCenter Server
operations on objects managed by vCenter Server.
Global.Enable methods Allows servers for vCenter Server extensions to enable certain Root vCenter Server
operations on objects managed byvCenter Server.
Global.Global tag Allows adding or removing global tags. Root host or vCenter
Server
Global.Health Allows viewing the health of vCenter Server components. Root vCenter Server
Global.Licenses Allows viewing installed licenses and adding or removing licenses. Root host or vCenter
Server
Global.Log event Allows logging a user-defined event against a particular managed Any object
entity.
Global.Manage custom Allows adding, removing, or renaming custom field definitions. Root vCenter Server
attributes
Global.Proxy Allows access to an internal interface for adding or removing Root vCenter Server
endpoints to or from the proxy.
Global.Script action Allows scheduling a scripted action in conjunction with an alarm. Any object
Global.Service managers Allows use of the resxtop command in the vSphere CLI. Root host or vCenter
Server
Global.Set custom attribute Allows viewing, creating, or removing custom attributes for a Any object
managed object.
Global.Settings Allows reading and modifying runtime vCenter Server configuration Root vCenter Server
settings.
Global.System tag Allows adding or removing system tags. Root vCenter Server
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Host.CIM.CIM Interaction Allow a client to obtain a ticket to use for CIM services. Hosts
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Host.Configuration.Change date Allows changes to date and time settings on the host. Hosts
and time settings
Host.Configuration.Maintenance Allows putting the host in and out of maintenance mode and Hosts
shutting down and restarting the host.
Host.Configuration.Query patch Allows querying for installable patches and installing Hosts
patches on the host.
Host.Configuration.System Allows extensions to manipulate the file system on the host. Hosts
Management
Host.Configuration.Virtual machine Allows changes to the auto-start and auto-stop order of Hosts
autostart configuration virtual machines on a single host.
Host Inventory
Host inventory privileges control adding hosts to the inventory, adding hosts to clusters, and moving hosts
in the inventory.
The table describes the privileges required to add and move hosts and clusters in the inventory.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Host.Inventory.Move host Allows moving a set of existing hosts into or out of a cluster. Clusters
Privilege must be present at both the source and destination.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Host.Local operations.Add Allows installation and removal of vCenter agents, such as vpxa and Root host
host to vCenter aam, on a host.
Host.Local Allows creation of a new virtual machine from scratch on a disk Root host
operations.Create virtual without registering it on the host.
machine
Host.Local Allows deletion of a virtual machine on disk. Supported for Root host
operations.Delete virtual registered and unregistered virtual machines.
machine
Host.Local Allows changes to the layout of a virtual machine's snapshots. Root host
operations.Relayout
snapshots
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Host profile.Clear Allows clearing of profile related information. Root vCenter Server
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Inventory Service.vSphere Allows changing the UsedBy field for a tag Any object
Tagging.Modify UsedBy Field for category.
Category
Inventory Service.vSphere Allows changing the UsedBy field for a tag. Any object
Tagging.Modify UsedBy Field for Tag
Network Privileges
Network privileges control tasks related to network management.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Performance Privileges
Performance privileges control modifying performance statistics settings.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Performance.Modify Allows creating, removing, and updating performance data collection Root vCenter Server
intervals intervals.
Permissions Privileges
Permissions privileges control the assigning of roles and permissions.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Permissions.Modify Allows defining one or more permission rules on an entity, or updating Any object plus parent
permission rules if rules are already present for the given user or group on the object
entity.
To have permission to perform this operation, a user or group must
have this privilege assigned in both the object and its parent object.
Permissions.Modify role Allows updating a role's name and the privileges that are associated Any object
with the role.
Permissions.Reassign role Allows reassigning all permissions of a role to another role. Any object
permissions
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Profile-driven storage.Profile- Allows changes to be made to storage profiles, such Root vCenter Server
driven storage update as creating and updating storage capabilities and
virtual machine storage profiles.
Profile-driven storage.Profile- Allows viewing of defined storage capabilities and Root vCenter Server
driven storage view storage profiles.
Resource Privileges
Resource privileges control the creation and management of resource pools, as well as the migration of
virtual machines.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Resource.Assign vApp to resource pool Allows assignment of a vApp to a resource pool. Resource pools
Resource.Assign virtual machine to Allows assignment of a virtual machine to a resource Resource pools
resource pool pool.
Resource.Create resource pool Allows creation of resource pools. Resource pools, clusters
Resource.Migrate powered off virtual Allows migration of a powered off virtual machine to a Virtual machines
machine different resource pool or host.
Resource.Modify resource pool Allows changes to the allocations of a resource pool. Resource pools
Resource.Query vMotion Allows querying the general vMotion compatibility of a Root vCenter Server
virtual machine with a set of hosts.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Scheduled task.Create tasks Allows scheduling of a task. Required in addition to the privileges to Any object
perform the scheduled action at the time of scheduling.
Scheduled task.Modify task Allows reconfiguration of the scheduled task properties. Any object
Scheduled task.Remove task Allows removal of a scheduled task from the queue. Any object
Scheduled task.Run task Allows running the scheduled task immediately. Any object
Creating and running a scheduled task also requires permission to
perform the associated action.
Sessions Privileges
Sessions privileges control the ability of extensions to open sessions on the vCenter Server system.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Sessions.Impersonate user Allow impersonation of another user. This capability is used by Root vCenter Server
extensions.
Sessions.Message Allow setting of the global log in message. Root vCenter Server
Sessions.View and stop Allow viewing sessions and forcing log out of one or more logged-on Root vCenter Server
sessions users.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Storage views.Configure service Allows privileged users to use all Storage Monitoring Root vCenter Server
Service APIs. Use Storage views.View for privileges to
read-only Storage Monitoring Service APIs.
Storage views.View Allows privileged users to use read-only Storage Root vCenter Server
Monitoring Service APIs.
Tasks Privileges
Tasks privileges control the ability of extensions to create and update tasks on the vCenter Server.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Tasks.Create task Allows an extension to create a user-defined task. Root vCenter Server
No vSphere Web Client user interface elements are associated with
this privilege.
Tasks.Update task Allows an extension to updates a user-defined task. Root vCenter Server
No vSphere Web Client user interface elements are associated with
this privilege.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Virtual Allows adding an existing virtual disk to a virtual machine. Virtual machines
machine.Configuration.Add
existing disk
Virtual Allows creation of a new virtual disk to add to a virtual machine. Virtual machines
machine.Configuration.Add
new disk
Virtual Allows addition or modification of advanced parameters in the virtual Virtual machines
machine.Configuration.Adva machine's configuration file.
nced
Virtual Allows changing the resource configuration of a set of virtual machine Virtual machines
machine.Configuration.Chan nodes in a given resource pool.
ge resource
Virtual Allows an extension or solution to mark a virtual machine as being Virtual machines
machine.Configuration.Conf managed by that extension or solution.
igure managedBy
Virtual Allows enabling or disabling of change tracking for the virtual Virtual machines
machine.Configuration.Disk machine's disks.
change tracking
Virtual Allows disk lease operations for a virtual machine. Virtual machines
machine.Configuration.Disk
lease
Virtual Allows configuration of virtual machine remote console options. Virtual machines
machine.Configuration.Disp
lay connection settings
Virtual Allows attaching a host-based USB device to a virtual machine. Virtual machines
machine.Configuration.Host
USB device
Virtual Allows changing the amount of memory allocated to the virtual Virtual machines
machine.Configuration.Mem machine.
ory
Virtual Allows checking if a virtual machine is compatible for Fault Tolerance. Virtual machines
machine.Configuration.Quer
y Fault Tolerance
compatibility
Virtual Allows adding or removing a raw disk mapping or SCSI pass through Virtual machines
machine.Configuration.Raw device.
device Setting this parameter overrides any other privilege for modifying raw
devices, including connection states.
Virtual Allows changing a virtual machine configuration path while Virtual machines
machine.Configuration.Relo preserving the identity of the virtual machine. Solutions such as
ad from path VMware vCenter Site Recovery Manager use this operation to
maintain virtual machine identity during failover and failback.
Virtual Allows renaming a virtual machine or modifying the associated notes Virtual machines
machine.Configuration.Rena of a virtual machine.
me
Virtual Allows editing the guest operating system information for a virtual Virtual machines
machine.Configuration.Rese machine.
t guest information
Virtual Allows changing the swapfile placement policy for a virtual machine. Virtual machines
machine.Configuration.Swa
pfile placement
Virtual Allows upgrade of the virtual machine’s virtual machine compatibility Virtual machines
machine.Configuration.Upgr version.
ade virtual machine
compatibility
See the VMware vSphere API Reference documentation for more information on these operations.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Virtual machine.Guest Allows virtual machine guest operations that involve modifying the Virtual machines
Operations.Guest Operation alias for the virtual machine.
Alias modification
Virtual machine.Guest Allows virtual machine guest operations that involve querying the Virtual machines
Operations.Guest Operation alias for the virtual machine.
Alias query
Virtual machine.Guest Allows virtual machine guest operations that involve modifications to Virtual machines
Operations.Guest Operation a guest operating system in a virtual machine, such as transferring a
Modifications file to the virtual machine.
No vSphere Web Client user interface elements are associated with
this privilege.
Virtual machine.Guest Allows virtual machine guest operations that involve executing a Virtual machines
Operations.Guest Operation program in the virtual machine.
Program Execution No vSphere Web Client user interface elements are associated with
this privilege.
Virtual machine.Guest Allows virtual machine guest operations that involve querying the Virtual machines
Operations.Guest Operation guest operating system, such as listing files in the guest operating
Queries system.
No vSphere Web Client user interface elements are associated with
this privilege.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Virtual machine.Interaction.Guest operating system management by VIX API Allows Virtual machines
manag
ement
of the
virtual
machin
e's
operati
ng
system
throug
h the
VIX
API.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Virtual Allows creation of a virtual machine based on an existing virtual Clusters, Hosts, Virtual
machine .Inventory.Create machine or template, by cloning or deploying from a template. machine folders
from existing
Virtual Allows creation of a virtual machine and allocation of resources for its Clusters, Hosts, Virtual
machine.Inventory.Create execution. machine folders
new
Virtual Allows adding an existing virtual machine to a vCenter Server or host Clusters, Hosts, Virtual
machine.Inventory.Register inventory. machine folders
Virtual Allows deletion of a virtual machine. Deletion removes the virtual Virtual machines
machine.Inventory.Remove machine's underlying files from disk.
To have permission to perform this operation, a user or group must
have this privilege assigned in both the object and its parent object.
Virtual Allows unregistering a virtual machine from a vCenter Server or host Virtual machines
machine.Inventory.Unregist inventory.
er To have permission to perform this operation, a user or group must
have this privilege assigned in both the object and its parent object.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Virtual Allows opening a disk on a virtual machine for random read Virtual machines
machine.Provisioning.Allow and write access. Used mostly for remote disk mounting.
disk access
Virtual Allows opening a disk on a virtual machine for random read Virtual machines
machine.Provisioning.Allow access. Used mostly for remote disk mounting.
read-only disk access
Virtual Allows read operations on files associated with a virtual Root host or vCenter
machine.Provisioning.Allow machine, including vmx, disks, logs, and nvram. Server
virtual machine download
Virtual Allows write operations on files associated with a virtual Root host or vCenter
machine.Provisioning.Allow machine, including vmx, disks, logs, and nvram. Server
virtual machine files upload
Virtual Allows cloning of an existing virtual machine and allocation of Virtual machines
machine.Provisioning.Clone resources.
virtual machine
Virtual Allows creation of a new template from a virtual machine. Virtual machines
machine.Provisioning.Create
template from virtual
machine
Virtual Allows marking an existing powered off virtual machine as a Virtual machines
machine.Provisioning.Mark template.
as template
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Note In vSphere 6.0, do not assign or remove this privilege by using the vSphere Web Client.
Virtual Machine. Service Allows generating and consuming notification about service status.
configuration. Allow notifications
Virtual Machine. Service Allows querying whether any notifications are present.
configuration. Allow polling of
global event notifications
Virtual Machine. Service Allows creating, modifying, and deleting virtual machine services.
configuration. Manage service
configurations
Virtual Machine. Service Allows modification of existing virtual machine service configuration.
configuration. Modify service
configuration
Virtual Machine. Service Allows retrieval of existing virtual machine service configuration.
configuration. Read service
configuration
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Virtual machine.Snapshot Allows creation of a snapshot from the virtual machine’s current state. Virtual machines
management. Create
snapshot
Virtual machine.Snapshot Allows removal of a snapshot from the snapshot history. Virtual machines
management.Remove
Snapshot
Virtual machine.Snapshot Allows renaming a snapshot with a new name, a new description, or Virtual machines
management.Rename both.
Snapshot
Virtual machine.Snapshot Allows setting the virtual machine to the state it was in at a given Virtual machines
management.Revert to snapshot.
snapshot
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
Virtual machine.vSphere Allows configuration of replication for the virtual machine. Virtual machines
Replication.Configure
Replication
Virtual machine.vSphere Allows triggering of full sync, online sync or offline sync on a Virtual machines
Replication.Manage replication.
Replication
The table describes the privileges required to create and configure distributed virtual port groups.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
dvPort group.Create Allows creation of a distributed virtual port group. Virtual port groups
dvPort group.Delete Allows deletion of distributed virtual port group. Virtual port groups
To have permission to perform this operation, a user or group must
have this privilege assigned in both the object and its parent object.
dvPort group.Modify Allows modification of a distributed virtual port group configuration. Virtual port groups
dvPort group.Policy Allows setting the policy of a distributed virtual port group. Virtual port groups
operation
dvPort group.Scope Allows setting the scope of a distributed virtual port group. Virtual port groups
operation
vApp Privileges
vApp privileges control operations related to deploying and configuring a vApp.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
vServices Privileges
vServices privileges control the ability to create, configure, and update vService dependencies for virtual
machines and vApps.
You can set this privilege at different levels in the hierarchy. For example, if you set a privilege at the folder
level, you can propagate the privilege to one or more objects within the folder. The object listed in the
Required On column must have the privilege set, either directly or inherited.
vService.Create dependency Allows creation of a vService dependency for a virtual machine or vApps and virtual
vApp. machines
vService.Destroy Allows removal of a vService dependency for a virtual machine or vApps and virtual
dependency vApp. machines
vService.Reconfigure Allows reconfiguration of a dependency to update the provider or vApps and virtual
dependency configuration binding. machines
vService.Update Allows updates of a dependence to configure the name or description. vApps and virtual
dependency machines
search lists, adjusting for large domains 148 unable to log in using Active Directory
SecurID token 43 domain 62
securing networking 233 upgrades 23
securing vCenter Server Appliance 219 Single Sign-On identity source, deleting 35
security Single Sign-On solution users 59
best practices 253 smart card authentication
certification 17 configuring 204
DMZ in single host 242, 243 disable 205
host 162 enable 204
iSCSI storage 256 fallback 205
permissions 145 in lockdown mode 205
standard switch ports 238 SMS API privileges 289
vCenter Server 13 SNMP 248
virtual machines with VLANs 240 solution user sso handshake 20
virtual networking layer 15 solution users 59
virtualization layer 11 solution user certificates 94, 101
VLAN hopping 241 spanning 249
VMware policy 17 SSH
security policies ESXi Shell 206
available 247 security settings 206
creating 247 SSH keys 205
listing 247 SSL
removing 248 enable over NFC 220
security profile 179, 185 enabling and disabling 65
security token service (STS), vCenter Single encryption and certificates 65
Sign-On 50 SSL certificate 51
security and PCI devices 203 SSO, See Single Sign On See Single Sign-On
security associations SSO HA 63
adding 245 SSO passwords 16
available 245 SSPI 35
listing 245 standard switch ports, security 238
removing 246 standard switch security 241
security policy 238 standard switches
security recommendations 186, 249 and iSCSI 257
Security Token Service 20, 22, 47 forged transmissions 238
services MAC address changes 238
stopping 95 promiscuous mode 238
syslogd 213 storage, securing with VLANs and virtual
sessions, privileges 288 switches 241
shares limits, host security 226 Storage Monitoring Service API privileges 289
Single Sign-On storage views, privileges 289
about 25 storage security best practices 256
benefits 20 stp 237
disabling users 56 strict lockdown mode 186
editing users 57 STS, See security token service (STS)
effect on vCenter Server installation and STS (Security Token Service) 22
upgrades 22
STS signing certificate
login fails because user account is locked 63 vCenter Server appliance 48
Lookup Service Error 61 vCenter Server on Windows 49
policies 52 subordinate certificate 111
troubleshooting 60 Subordinate CA, Certificate Manager 88
switch 237