Objective 1.2: Secure ESXi, vCenter Server and vSphere Virtual machines
Harden virtual machine access
Control VMware Tools installation
Para poder controlar que usuarios tienen permisos de instalación de las VMware Tools, tenemos que revisar los privilegios asignados en el rol que se asigna a los usuarios que acceden a la infraestructura. Esto se realiza mediante el privilegio: Virtual Machines -> Interaction -> VMware Tools Install
Control VM data access
El sistema operativo que se ejecuta en las máquinas virtuales está sujeto a los mismos riesgos de seguridad que un sistema físico. Debemos proteger las máquinas virtuales del mismo modo en que se protegen las máquinas físicas. Si tenemos que tener en cuenta que podemos seguir algunas prácticas recomendadas específicas para la infraestructura virtual de vSphere.
Configure virtual machine security policies
Prácticas recomendadas de seguridad para las máquinas virtuales:
- Protección general de la máquina virtual
- Mantener los sistemas al día de actualizaciones y parches de seguridad.
- Utilizar software antivirus o antimalware para proteger los sistemas de las máquinas virtuales
- Minimizar el uso de dispositivos virtuales en las máquinas virtuales como pueden ser puertos serie, paralelos…
- Usar plantillas para implementar máquinas virtuales
- Al crear plantillas, nos aseguramos que las máquinas virtuales se crean a partir de una máquina con las actualizaciones de seguridad correspondientes, con la configuración recomendada… de forma que nos aseguremos una configuración mínima en las máquinas virtuales.
- Minimizar el uso de la consola de la máquina virtual
- Por defecto, utilizar las herramientas comunes de administración de sistemas operativos como puede ser Escritorio Remoto, SSH u otras herramientas. Limitar lo máximo posible la conexión a la consola de las máquinas virtuales.
- Evitar que las máquinas virtuales asuman el control de los recursos
- Asignar a las máquinas virtuales los recursos que se ajusten a sus necesidades sin sobreasignar recursos (CPU o memoria)
- Utilizar Shares y Resource Pools en el caso de querer garantizar recursos a las máquinas virtuales
- Deshabilitar funciones innecesarias en máquinas virtuales
- Deshabilitar servicios no utilizados del sistema operativo
- Deshabilitar dispositivos que no se van a utilizar como floppy, USB, puertos serie, puertos paralelo o CD/DVD
- Deshabilitar salvapantallas o entorno gráfico para minimizar el consumo
- Deshabilitar funciones no necesarias en VMware vSphere (algunas funcionalidades que se utilizan en otras plataformas como Workstation o Fusion)
- Limitar el acceso a información sensible evitando la copia de información desde la opción copia/pega de la consola de las máquinas virtuales
- Restringir la posibilidad de ejecución de comandos en la máquina virtual
- Evitar que un usuario o proceso pueda desconectar dispositivos de las máquinas virtuales
- Evitar que los procesos del sistema operativo de la máquina virtual envíen información al hypervisor
- Evitar el uso de discos Independent Non-Persistent.
Algunos ejemplos de configuraciones avanzadas de seguridad de máquinas virtuales:
Configuración | Descripción |
---|---|
tools.setInfo.sizeLimit | Limita el tamaño del archivo VMX |
isolation.tools.diskWiper.disable=TRUE | Evitar la reducción de discos virtuales |
isolation.tools.diskShrink.disable=TRUE | Evitar la reducción de discos virtuales |
svga.vgaonly=TRUE | Se deshabilitan las funciones avanzadas de gráficos |
mks.enable3d=FALSE | Se deshabilita la funcionalidad 3D |
isolation.tools.unity.push.update.disable | Deshabilitar ciertas funciones de VMware |
isolation.tools.ghi.launchment.change | Deshabilitar ciertas funciones de VMware |
isolation.tools.memSchedFakeSampleStats.disable | Deshabilitar ciertas funciones de VMware |
isolation.tools.getCreds.disable | Deshabilitar ciertas funciones de VMware |
isolation.tools.ghi.autologon.disable | Deshabilitar ciertas funciones de VMware |
isolation.tools.bbs.disable | Deshabilitar ciertas funciones de VMware |
isolation.tools.hgrsServerSet.disable=TRUE | Deshabilita el componente que permite accede a carpetas de la máquina virtual desde el hypervisor |
isolation.tools.copy.disable=TRUE | Deshabilita las operaciones de copia/pega en la consola de la máquina virtual |
isolation.tools.paste.disable=TRUE | Deshabilita las operaciones de copia/pega en la consola de la máquina virtual |
isolation.tools.setGUIOptions.enable=FALSE | Deshabilita las operaciones de copia/pega en la consola de la máquina virtual |
isolation.device.connectable.disable=TRUE | Evita la desconexión de dispositivos |
isolation.device.edit.disable=TRUE | Evita la desconexión de dispositivos |
isolation.tools.setinfo.disable=TRUE | Evita que el Sistema operativo de la máquina virtual pueda escribir información en el archivo de configuración |
Estas opciones las configuraremos en las opciones de cada máquina virtual, en el apartado de VM Options -> Configuration Parameters:
Y aquí podemos ver algunas de las opciones configuradas por defecto
Harden a virtual machine against denial-of-service attacks
Control VM-VM communications
En este apartado intuyo que VMware hace referencia al intefaz VMCI (Virtual Machine Communication Interface) encargado de proporcionar una comunicación rápida entre las máquinas virtuales y el hypervisor, pero también entre dos máquinas virtuales del mismo host hypervisor.
VMCI se ha discontinuo en vSphere 5 y eliminado en vSphere 5.5, aunque en la versión 6 la funcionalidad se ha cambiado el nombre a vSockets.
Control VM device connections
La conexión o desconexión de dispositivos de máquinas virtuales pueden ocasionar un incorrecto funcionamiento de las máquinas virtuales. Los usuarios y los procesos sin privilegios de administrador en máquinas virtuales tienen la capacidad de conectar o desconectar dispositivos, como adaptadores de red y unidades de CD-ROM, y de modificar la configuración de dispositivos. Para mejorar la seguridad de la máquina virtual, quite estos dispositivos. Si no desea quitar un dispositivo de forma permanente, puede evitar que un usuario o proceso de máquina virtual conecten o desconecten el dispositivo desde dentro del sistema operativo invitado.
Configure network security policies
En los vSwitch de VMware (tanto Standard como Distributed) podemos establecer varias medidas contra ataques de capa 2 de red. Cada adaptador de red de una máquina virtual tiene una dirección MAC inicial y una dirección MAC efectiva:
- Dirección MAC inicial: se asigna en la creación del adaptador. El sistema operativo de la máquina virtual no puede modificarla.
- Dirección MAC efectiva: cada adaptador tiene una dirección MAC efectiva que filtra el tráfico de red entrante. El sistema operativo de la máquina virtual puede se encarga de configurar la MAC efectiva, y aunque, por lo general, se hace coincidir con la dirección MAC inicial, puede ser diferente.
Las opciones de seguridad permiten proteger el tráfico virtual contra ataques de suplantación e intercepción de la capa 2.
- MAC Address Changes: afecta al tráfico que recibe una máquina virtual
- Accept: el servidor ESXi acepta las solicitudes de cambiar la dirección MAC efectiva por una dirección diferente a la inicial
- Reject: el servidor ESXi no acepta las solicitudes de cambiar la dirección MAC efectiva por una dirección diferente a la inicial. El puerto que utilizó el adaptador de la máquina virtual para enviar la solicitud se deshabilita y el adaptador de la máquina virtual no recibe más tramas hasta que la dirección MAC efectiva coincida con la MAC inicial. En ciertas ocasiones (como por ejemplo en ciertas configuraciones del balanceador de carga de Microsoft, NLB) es necesario que esta opción esté en Accept
- Forged Transmits: afecta al tráfico que se envía desde una máquina virtual
- Accept: el servidor ESXi no compara las direcciones MAC origen y efectiva.
- Reject: El host compara la dirección MAC de origen y la dirección MAC efectiva. Si las direcciones no coinciden, el host ESXi descarta el paquete * Promiscuous Mode: el modo promiscuo quita el filtrado de recepción que realiza el adaptador de la máquina virtual con el objetivo de que la máquina virtual reciba todo el tráfico que se observa en la conexión.
- Accept: la máquina virtual recibe todos los paquetes, incluso los que no están destinados a ella. Puede ser útil habilitarlo en ocasiones en las que se utiliza software de detección de intrusiones de red o analizador de tráfico
- Reject: el filtrado es efectivo, y la máquina virtual recibe sólo el tráfico destinado a ella.
Harden ESXi Hosts
Enable/Configure/Disable services in the ESXi firewall
ESXi incluye un firewall que por defecto está habilitado. Algunos conceptos básicos de este firewall:
- No está basado en iptables
- Está orientado a servicios
- Por defecto está habiltiado permitiendo tráfico ICMP y comunicación de los clientes DHCP y DNS
- Existe la posibilidad de restringir el acceso a los servicios mediante dirección IP y máscara de subred
- Está soportado por Host Profile
La configuración se realiza desde el apartado Security Profile del host ESXi
Tenemos los servicios (Services) y las reglas de cortafuegos (Firewall – Incoming/Outgoing)
Configuración de los servicios
Con los servicios podemos realizar 3 acciones:
- Start: arrancar el servicio
- Stop: parar el servicio
- Restart: reiniciar el servicio
Podemos configurar 3 políticas de inicio del servicio
- Start and stop with port usage: Si existen algunos puertos abiertos, pero el puerto de un servicio específico está cerrado, se produce un error en el intento. Si el puerto saliente correspondiente está abierto, el servicio comienza a completar el inicio.
- Start and stop with host: El servicio se inicia poco después de que se inicia el host, y se cierra poco antes de que se apaga el host
- Start and stop manually: El host conserva la configuración del servicio determinada por el usuario, más allá de que los puertos estén abiertos o cerrados
En la parte de Firewall podemos configurar los puertos abiertos del firewall y el listado de IPs de acceso permitidas
Listado de comandos con ESXCLI para ver, habilitar, deshabilitar y configurar el firewall del servidor ESXi
Command | Description |
---|---|
esxcli network firewall get | Devuelve la acción por defecto y el estado del firewall. |
[root@nesxi01:~] esxcli network firewall get
Default Action: DROP
Enabled: true
Loaded: true
Command | Description |
---|---|
esxcli network firewall set --default-action --enabled | Establece la acción por defecto |
[root@nesxi01:~] esxcli network firewall set --enabled true
[root@nesxi01:~] esxcli network firewall get
Default Action: DROP
Enabled: true
Loaded: true
[root@nesxi01:~] esxcli network firewall set --enabled false
[root@nesxi01:~] esxcli network firewall get
Default Action: DROP
Enabled: false
Loaded: true
Command | Description |
---|---|
esxcli network firewall load | Carga el modulo del firewall, los archivos de configuración y las reglas. |
[root@nesxi01:~] esxcli network firewall get
Default Action: PASS
Enabled: false
Loaded: false
[root@nesxi01:~] esxcli network firewall load
[root@nesxi01:~] esxcli network firewall get
Default Action: DROP
Enabled: true
Loaded: true
Command | Description |
---|---|
esxcli network firewall refresh | Refresca la configuración volviendo a leer las reglas si el modulo está cargado. |
[root@nesxi01:~] esxcli network firewall unload
[root@nesxi01:~] esxcli network firewall get
Default Action: PASS
Enabled: false
Loaded: false
[root@nesxi01:~] esxcli network firewall refresh
Failed refresh FirewallRuleset
[root@nesxi01:~] esxcli network firewall load
[root@nesxi01:~] esxcli network firewall get
Default Action: DROP
Enabled: true
Loaded: true
[root@nesxi01:~] esxcli network firewall refresh
Command | Description |
---|---|
esxcli network firewall unload | Destroy filters and unload the firewall module. |
[root@nesxi01:~] esxcli network firewall get
Default Action: DROP
Enabled: true
Loaded: true
[root@nesxi01:~] esxcli network firewall unload
[root@nesxi01:~] esxcli network firewall get
Default Action: PASS
Enabled: false
Loaded: false
Command | Description |
---|---|
esxcli network firewall ruleset list | Lista las reglas |
[root@nesxi01:~] esxcli network firewall ruleset list
Name Enabled
------------------------ -------
sshServer true
sshClient false
nfsClient false
nfs41Client false
dhcp true
dns true
…
Command | Description |
---|---|
esxcli network firewall ruleset set –allowed-all | Establece el flag allowedall en true para permitir todas las IPs, en false para usar una lista de IPs permitidas |
[root@nesxi01:~] esxcli network firewall ruleset set --allowed-all true --ruleset-id=sshServer
Already allowed all ip
esxcli network firewall ruleset set --enabled Habilita o deshabilita la regla correspondiente
[root@nesxi01:~] esxcli network firewall ruleset set --enabled true --ruleset-id=sshClient
[root@nesxi01:~] esxcli network firewall ruleset list
Name Enabled
------------------------ -------
sshClient true
[root@nesxi01:~] esxcli network firewall ruleset set --enabled false --rulese
t-id=sshClient
[root@nesxi01:~] esxcli network firewall ruleset list
Name Enabled
------------------------ -------
sshClient false
Command | Description |
---|---|
esxcli network firewall ruleset allowedip list | Muestra las IPs permitidas para el conjunto de reglas. |
[root@nesxi01:~] esxcli network firewall ruleset allowedip list
Ruleset Allowed IP Addresses
------------------------ --------------------
sshServer All
sshClient All
nfsClient All
nfs41Client All
…
Command | Description |
---|---|
esxcli network firewall ruleset allowedip add | Permite configurar una dirección IP (o rango de direcciones) para una regla. |
[root@nesxi01:~] esxcli network firewall ruleset set --allowed-all false --ruleset-id sshClient
[root@nesxi01:~] esxcli network firewall ruleset allowedip add --ip-address=10.0.0.0/8 --ruleset-id=sshClient
[root@nesxi01:~] esxcli network firewall ruleset allowedip list
Ruleset Allowed IP Addresses
------------------------ --------------------
sshServer All
sshClient 10.0.0.0/8
Command | Description |
---|---|
esxcli network firewall ruleset allowedip remove | Remove access to the rule set from the specified IP address or range of IP addresses. |
[root@nesxi01:~] esxcli network firewall ruleset allowedip remove --ip-address=10.0.0.0/8 --ruleset-id=sshClient
[root@nesxi01:~] esxcli network firewall ruleset allowedip list
Ruleset Allowed IP Addresses
------------------------ --------------------
sshServer All
sshClient
nfsClient All
Command | Description |
---|---|
esxcli network firewall ruleset rule list | Lista de forma detallada el conjunto de reglas de servicios, protocolos y puertos |
[root@nesxi01:~] esxcli network firewall ruleset rule list
Ruleset Direction Protocol Port Type Port Begin Port End
------------------------ --------- -------- --------- ---------- --------
sshServer Inbound TCP Dst 22 22
sshClient Outbound TCP Dst 22 22
nfsClient Outbound TCP Dst 0 65535
nfs41Client Outbound TCP Dst 2049 2049
dhcp Inbound UDP Dst 68 68
dhcp Outbound UDP Src 68 68
dns Inbound UDP Dst 53 53
dns Outbound UDP Dst 53 53
dns Outbound TCP Dst 53 53
Change default account access
Si gestionamos directamente un servidor ESXi (sin servidor vCenter) tenemos los siguientes roles disponibles:
- Administrator: acceso total como administrador
- Read Only: permite al usuario ver los objetos, pero no modificarlos
- No Access: el usuario no tiene acceso (es la opción por defecto)
Las cuentas por defecto con acceso a un servidor ESXi son:
- root: es la cuenta de administración por defecto. Se recomienda establecer una contraseña con complejidad alta y limitar su uso. Es el único usuario que tiene permisos para añadir un servidor ESXi a vCenter Server.
- vpxuser: es el usuario utilizado por vCenter Server para realizar tareas en el servidor ESXi. Con este usuario, vCenter Serer puede realizar casi todas las mismas tareas que el usuario root, como puede ser, programar tareas, trabajar con plantillas, mover máquinas virtuales… pero no puede realizar tareas relacionadas con la gestión de usuarios locales del servidor. No se puede administrar este usuario con Active DIrectory y se recomienda no modificarlo ni cambiar su contraseña.
- dcui: el fin principal de este usuario es configurar los hosts para el modo Lockdown. Este usuario, con permisos de administrador, actúa como agente para la consola y no se puede modificar ni utilizar.
Se recomienda crear al menos una cuenta nominal y asignarle los privilegios de Administrator en el host y utilizarla en lugar de la cuenta root (no eliminar la cuenta root) Si integramos el equipo en Active Directory, podemos utilizar estas cuentas para acceder al servidor. Para ver los usuarios y permisos en el servidor ESXi necesitamos conectarnos con vSphere Cliente directamente al servidor ESXi o, desde la versión 6, podemos gestionar también las cuentas locales con ESXCLI. Algunos comandos ESXCLI para la gestión de usuarios locales y permisos
Command | Description |
---|---|
esxcli system account list | Muestra las cuentas existentes |
[root@nesxi01:~] esxcli system account list
User ID Description
------- -------------------------------------------
root Administrator
dcui DCUI User
vpxuser VMware VirtualCenter administration account
Command | Description |
---|---|
esxcli system account add | Crea una cuenta de usuario |
[root@nesxi01:~] esxcli system account add -i usuario -d "Usuario de prueba" -p P@ssw0rd -c P@ssw0rd
[root@nesxi01:~] esxcli system account list
User ID Description
------- -------------------------------------------
root Administrator
dcui DCUI User
vpxuser VMware VirtualCenter administration account
usuario Usuario de prueba
Command | Description |
---|---|
esxcli system permission list | Permite mostrar los permisos existentes en el servidor |
[root@nesxi01:~] esxcli system permission list
Principal Is Group Role Role Description
--------- -------- ----- ------------------
dcui false Admin Full access rights
root false Admin Full access rights
vpxuser false Admin Full access rights
Command | Description |
---|---|
esxcli system permission set | Permite establecer un permiso para un usuario existente en el servidor |
[root@nesxi01:~] esxcli system permission set -i usuario -r Admin
[root@nesxi01:~] esxcli system permission list
Principal Is Group Role Role Description
--------- -------- ----- ------------------
dcui false Admin Full access rights
root false Admin Full access rights
usuario false Admin Full access rights
vpxuser false Admin Full access rights
Add an ESXi host to a directory service
Para añadir un servidor host a Active Directory seguimos los siguientes pasos:
- Comprobamos que el servidor ESXi y el controlador de dominio tienen la hora sincronizada
- Accedemos a Manage -> System -> Authentication Services
- Pinchamos en Join Domain …
- Indicamos el dominio y las credenciales del usuario con permisos
- Comprobamos que se ha añadido correctamente
- Y vemos el objeto en Active Directory
Por defecto, el grupo de Active Directory de nombre ESX Admins tendrá automáticamente permisos de administrador sobre el servidor ESXi. Tenemos dos opciones:
- Crear en Active Directory el grupo con el nombre ESX Admins
- Cambiar la configuración en la opción avanzada Config.HostAgent.plugins.hostsvc.esxAdminsGroup para indicar el grupo correspondiente
Enable lockdown mode
Para mejorar la seguridad de los servidores ESXi se puede configurar Lockdown Mode, de forma que las operaciones se deben realizer desde vCenter Server, impidiendo la conexión directa al servidor ESXi. Hay dos modos:
- Modo de bloqueo normal: en este modo el servicio DCUI no se interrumpe. Si se pierde la conexión con el sistema vCenter o el acceso desde el vSphere Web Client, las cuentas con privilegios pueden iniciar la sesión en la consola DCUI del servidor y salir del modo bloqueo para administrar el servidor. Solo las siguientes cuentas pueden acceder al interfaz DCUI:
- Cuentas administrativas incluidas en la lista de excepción para el modo bloqueo
- Cuentas definidas en la opción avanzada DCUI.Access del servidor ESXi
- Modo de bloqueo estricto: en este modo el servicio DCUI se interrumpe. Si se pierde la conexión con vCenter o con el vSphere Web Cliente, el host ESXi deja de estar disponible, a menos que se hayan habilitado previamente los servicios ESXi Shell y SSH y se definan usuarios con excepción. Si no es posible restaurar la conexión con el sistema vCenter, se debe de volver a instalar el host.
Para habilitar el modo de bloqueo, tenemos varias opciones:
- En el asistente al añadir un host (Add Host) al sistema vCenter Server
- Mediante vSphere Web Client
- Acceder a Host -> Manage -> Settings -> System -> Security Profile
- En Lockdown Mode botón Edit
- Elegimos el modo de bloqueo: normal (normal) o estricto (strict)
- Desde aquí también podemos añadir los usuarios a la lista de excepción
- Mediante el interfaz DCUI del servidor ESXi (desde el interfaz DCUI únicamente podemos habilitar/deshabilitar el modo normal de bloqueo, el modo estricto solo está disponible desde vSphere Web Client)
- Accedemos a System Customization -> Configure Lockdown Mode
La siguiente tabla muestra los accesos disponibles en los distintos tipos de bloqueos:
Servicio | Modo normal | Modo de bloqueo normal | Modo de bloqueo estricto |
---|---|---|---|
vSphere Web Services API | Todos los usuarios, según los permisos | vCenter (vpxuser); Usuarios con excepción, según los permisos; vCloud Director (vslauser, si está disponible) | vCenter (vpxuser); Usuarios con excepción, según los permisos; vCloud Director (vslauser, si está disponible) |
Proveedores de CIM | Usuarios con privilegios de administrador en el host | vCenter (vpxuser); Usuarios con excepción, según los permisos; vCloud Director (vslauser, si está disponible) | vCenter (vpxuser); Usuarios con excepción, según los permisos;vCloud Director (vslauser, si está disponible) |
DCUI | Usuarios con privilegios de administrador en el host y usuarios que se encuentran en la opción avanzada DCUI.Access | Usuarios definidos en la opción avanzada DCUI.Access; Usuarios con excepción con privilegios de administrador en el host | |
ESXi Shell (si está habilitado) | Usuarios con privilegios de administrador en el host | Usuarios definidos en la opción avanzada DCUI.Access; Usuarios con excepción con privilegios de administrador en el host | Usuarios definidos en la opción avanzada DCUI.Access; Usuarios con excepción con privilegios de administrador en el host |
SSH (si está habilitado) | Usuarios con privilegios de administrador en el host | Usuarios definidos en la opción avanzada DCUI.Access; Usuarios con excepción con privilegios de administrador en el host | Usuarios definidos en la opción avanzada DCUI.Access; Usuarios con excepción con privilegios de administrador en el host |
Control access to hosts (DCUI/Shell/SSH/MOB)
Direct Console User Interface (DCUI)
Teclas del interfaz DCUI
- F2: System Customization
- F12: Shut Down\Restart
- Alt+F1: ESXi Shell System Customization Opciones diponibles:
- Configure Password
- Configure Lockdown Mode
- Configure Management Network
- Restart Management Network: Reinicia la red, por ejemplo, renueva una IP en caso de configurar el servidor ESXi por DHCP con Auto Deploy
- Test Management Network
- Network Restore Options
- Restore Network Settings
- Restore Standard Switch
- Restore vDS
- Troubleshooting Options
- Enable ESXi Shell
- Disable/Enable SSH
- Modify ESXi Shell and SSH timeouts
- Modify DCUI idle timeout
- Restart Management Agents
- View System Logs
- Syslog
- Vmkernel
- Config
- Management Agent (hostd)
- VirtualCenter Agent (vpxa)
- VMware ESXi Observation log (vobd)
- View Support Information
Métodos para cambiar de la contraseña del usuario root:
- Desde el interfaz Direct Console User Interface (DCUI)
- Utilizando el comando passwd en ESXi Shell Como resetear la contraseña del usuario root:
- El único método soportado para resetear la contraseña de un servidor ESXi 6 es reinstalar el servidor
Shell
Por defecto Shell de ESXi está deshabilitada por lo que no podemos acceder a ella. La habilitamos/deshabilitamos desde DCUI o desde el cliente de vSphere
Pulsamos Alt + F1 para acceder (Alt + F2 para volver al interfaz DCUI)
Podemos ejecutar comandos básicos comunes a sistemas Linux: ls, mkdir… o los comandos específicos de VMware ESXi: esxcli, esxtop…
SSH
Por defecto el acceso SSH está deshabilitado. Lo habilitamos/deshabilitamos desde DCUI o desde el cliente de vsphere
MOB
Managed Object Browser (MOB) es un interfaz web disponible en los servidores ESXi, que permite al usuario navegar por los objetos de su jerarquía, así como invocar métodos sobre ellos. Para acceder utilizamos la URL https://servidor_esxi/mob
En los servidores ESXi, está por defecto deshabilitado y se puede gestionar desde la opción avanzada
Harden vCenter Server
Control datastore browser access
Para controlar que usuarios de la infraestructura tienen acceso a los datastores y ver que objetos contienen, tenemos que controlar el privilegio Datastore -> Browse datastore
Create/Manage vCenter Server security certificates
Vamos a ver cómo gestionar los certificados generados por defecto con vCenter. Cuando instalamos vCenter podemos utilizar los certificados que genera VMCA. Si accedemos la primera vez con un navegador web podemos comprobar que el navegador no confía en el certificado que utiliza el servidor vCenter.
Para que el cliente pueda confiar en el certificado, es necesario descargar e instalar el certificado raíz de VMCA. Para ello seguimos estos pasos
- Accedemos al portal web del servidor vCenter
- En la parte derecha de la web pinchamos en el enlace Download trusted root CA certificates
- Descargamos y descomprimimos el archivo .zip (puede que sea necesario añadir la extensión de forma manual al archivo descargado)
- Vemos 2 archivos:
- filename.0: es el certificado root CA en formato PEM
- filename.r1: es el CRL en formato DER
- Una vez que tenemos los certificados lo añadimos al repositorio de certificados del navegador o del sistema
- Al volver a acceder a la web de vCenter, comprobamos que ya no se muestra la advertencia y el certificado se muestra correctamente
Change default account access
Algunas prácticas recomendadas sobre el control de acceso a vCenter Server:
- Usar cuentas con nombre, por ejemplo, quitar acceso al administrador local del servidor Windows. Establecer permisos de administración a cuentas nominales o grupos controlados.
- Instalar vCenter Server con una cuenta de servicio Windows (debe ser administrador local del servidor)
- Utilizar cuentas de servicio para conectar otras aplicaciones al servidor vCenter.
- Minimizar el acceso de los usuarios que pueden acceder de forma local al sistema vCenter
- Supervisar los privilegios de los usuarios administradores de vCenter, creando roles personalizados con los privilegios mínimos necesarios, no utilizando el rol de administrador de forma generalizada
- Otorgar privilegios mínimos a los usuarios de bases de datos de vCenter
- Restringir el acceso al explorador de los datastores
- Restringir la ejecución de comandos en una máquina virtual a los usuarios. Un usuario con el rol de administrador de vCenter puede interactuar con los archivos y programas de una máquina virtual.
- Comprobar la directiva sobre contraseñas de vpxuser, por defecto se cambia de forma automática cada 30 días. Se puede modificar con la configuración avanzada VirtualCenter.VimPassworExpirationInDays
- Comprobar certificados de vSphere Web Client
- Proteger el sistema operativo de vCenter Server
- Quitar certificados caducados o revocados
- Limitar la conectividad de red de vCenter Server
Control MOB access
Managed Object Browser (MOB) es un interfaz web disponible en los servidores ESXi y en los servidores vCenter, que permite al usuario navegar por los objetos de su jerarquía, así como invocar métodos sobre ellos. Para acceder utilizamos la URL https://servidor_vcenter/mob Tras introducir el usuario y contraseña accedemos al interfaz MOB
No he encontrado una forma de deshabilitar el acceso al interfaz MOB en el servidor vCenter. En los servidores ESXi, está por defecto deshabilitado y se puede gestionar desde la opción avanzada