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

Privilegio para mountar/desmontar el instalador de VMware Tools

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:

Editar opciones avanzadas de una máquina virtual

Y aquí podemos ver algunas de las opciones configuradas por defecto

Parámetros de configruación de una máquina virtual

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.

Diagrama de VMCI

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.

VMCI no está soportado

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.

Políticas de seguridad de red

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

Configuracion de seguridad de un servidor 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

Configuración de los servicios

En la parte de Firewall podemos configurar los puertos abiertos del firewall y el listado de IPs de acceso permitidas

Configuración del firewall

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.

Usuarios locales de un servidor ESXi

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

Configuración de la autenticación de un servidor ESXi

  • Pinchamos en Join Domain …
  • Indicamos el dominio y las credenciales del usuario con permisos

Añadimos un servidor ESXi a Active Directory

  • Comprobamos que se ha añadido correctamente

Servidor ESXi configurado en Active Directory

  • Y vemos el objeto en Active Directory

Objeto ESXi 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 Grupo de Administradores de Active Directory con permisos en el servidor ESXi

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)

Configuración de Lockdown Mode desde vSphere Web Client

  • Desde aquí también podemos añadir los usuarios a la lista de excepción

Configuración de lista de excepción de Lockdown Mode desde vSphere Web Client

  • 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

Configuración de Lockdown Mode desde DCUI

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

Habilitar/Deshabilitar ESXi Shell

Pulsamos Alt + F1 para acceder (Alt + F2 para volver al interfaz DCUI)

Interfaz ESXi Shell

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

Habilitar/Deshabilitar SSH

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

Interfaz MOB

En los servidores ESXi, está por defecto deshabilitado y se puede gestionar desde la opción avanzada

Habilitar/Deshabilitar MOB en ESXi

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

Privilegio de 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.

Conexión inicial sin confiar en el certificado generado por VMCA

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

  1. Accedemos al portal web del servidor vCenter

Acceso al portal web de vCenter

  1. En la parte derecha de la web pinchamos en el enlace Download trusted root CA certificates
  2. Descargamos y descomprimimos el archivo .zip (puede que sea necesario añadir la extensión de forma manual al archivo descargado)
  3. Vemos 2 archivos:
    • filename.0: es el certificado root CA en formato PEM
    • filename.r1: es el CRL en formato DER

Archivos root CA

  1. Una vez que tenemos los certificados lo añadimos al repositorio de certificados del navegador o del sistema

Añadimos el certificado raíz al sistema cliente

  1. Al volver a acceder a la web de vCenter, comprobamos que ya no se muestra la advertencia y el certificado se muestra correctamente

El cliente confía en el certificado raíz de VMCA

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

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

Habilitar MOB en el servidor ESXi

results matching ""

    No results matching ""