|
| 1 | +--- |
| 2 | +title: 'Mantener y proteger su servidor dedicado ESXi desde el primer inicio' |
| 3 | +slug: esxi-hardening |
| 4 | +excerpt: 'Cómo proteger eficazmente su servidor dedicado ESXi' |
| 5 | +section: 'Seguridad' |
| 6 | +order: 5 |
| 7 | +updated: 2023-03-22 |
| 8 | +--- |
| 9 | + |
| 10 | +> [!primary] |
| 11 | +> Esta traducción ha sido generada de forma automática por nuestro partner SYSTRAN. En algunos casos puede contener términos imprecisos, como en las etiquetas de los botones o los detalles técnicos. En caso de duda, le recomendamos que consulte la versión inglesa o francesa de la guía. Si quiere ayudarnos a mejorar esta traducción, por favor, utilice el botón «Contribuir» de esta página. |
| 12 | +> |
| 13 | +
|
| 14 | +**Última actualización: 22/03/2023** |
| 15 | + |
| 16 | +## Objetivo |
| 17 | + |
| 18 | +Esta guía explica cómo mejorar la seguridad de su sistema ESXi. |
| 19 | + |
| 20 | +En particular, esta guía explica cómo: |
| 21 | + |
| 22 | +- Limitar el acceso a su ESXi a una dirección IP o rango de red específico; |
| 23 | +- Desactivar servicios que aumenten la superficie de ataque del servidor. |
| 24 | + |
| 25 | +Para ello, no solo nos basaremos en las funciones a bordo que ofrece VMware, sino también en las que ofrece OVHcloud. |
| 26 | + |
| 27 | +> [!warning] |
| 28 | +> |
| 29 | +> Recientemente, los sistemas ESXi han sido víctimas de un fallo que grupos malintencionados han explotado muy rápidamente a través de las redes públicas. |
| 30 | +> |
| 31 | +> Más información sobre el ataque en [una FAQ adicional (EN)](https://docs.ovh.com/gb/en/dedicated/esxi-faq/). |
| 32 | +> |
| 33 | +
|
| 34 | +### Recordatorio de las buenas prácticas de seguridad: |
| 35 | + |
| 36 | +- Actualice regularmente sus sistemas ESXi. |
| 37 | +- Restrice el acceso solo a las direcciones IP de confianza. |
| 38 | +- Desactive los puertos y servicios no utilizados. |
| 39 | +- Asegúrese de que los accesos a sus servidores o sus dispositivos de red sean limitados, controlados y protegidos con contraseñas sólidas. |
| 40 | +- Guarde sus datos críticos en discos externos y servidores de backup protegidos y aislados de internet. |
| 41 | + |
| 42 | +**Opcional**: |
| 43 | + |
| 44 | +- Ponga en marcha las soluciones de registro necesarias para controlar los eventos acaecidos en sus servidores críticos y sus dispositivos de red. |
| 45 | +- Cree packs de seguridad para la detección de acciones maliciosas, intrusiones (IPS/NIDS) y el control del ancho de banda del tráfico de red. |
| 46 | + |
| 47 | +## Requisitos |
| 48 | + |
| 49 | +- Haber iniciado sesión en el [área de cliente de OVHcloud](https://www.ovh.com/auth/?action=gotomanager&from=https://www.ovh.es/&ovhSubsidiary=es){.external}. |
| 50 | +- Tener un servidor dedicado con la solución ESXi desplegada. |
| 51 | +- Tener contratado un servicio compatible con nuestra funcionalidad de [Network Firewall](https://docs.ovh.com/us/es/dedicated/firewall-de-red/) si quiere utilizarlo para filtrar. |
| 52 | + |
| 53 | +## Procedimiento |
| 54 | + |
| 55 | +### Protección antiintrusión nativa |
| 56 | + |
| 57 | +Recordatorio de su definición y su principio de funcionamiento: |
| 58 | + |
| 59 | +> [!primary] |
| 60 | +> |
| 61 | +> El sistema ESXi incluye un mecanismo de seguridad asociado a la cuenta de administrador. |
| 62 | +> En efecto, en caso de varios intentos de acceso erróneos, la cuenta de administrador se bloqueará temporalmente. |
| 63 | +> Este mecanismo permite proteger su sistema y así evitar los intentos de conexiones malintencionadas. |
| 64 | +
|
| 65 | +> [!warning] |
| 66 | +> |
| 67 | +> Si se activa este sistema y desea conectarse a su ESXi inmediatamente, deberá desbloquear manualmente la cuenta de administrador. |
| 68 | +> |
| 69 | +> Para ello, deberá [reiniciar](https://docs.ovh.com/us/es/dedicated/primeros-pasos-servidor-dedicado/#reinicio-del-servidor-dedicado_1) el servidor ESXi desde el área de cliente de OVHcloud. |
| 70 | +> |
| 71 | +
|
| 72 | +Puede consultar el historial de los logs de acceso en los siguientes archivos desde un intérprete de órdenes SSH: |
| 73 | + |
| 74 | +- `/var/run/log/vobd.log` contiene los logs que pueden utilizarse para supervisar y resolver problemas: |
| 75 | + |
| 76 | +``` |
| 77 | +2023-02-13T16:22:22.897Z: [UserLevelCorrelator] 410535559us: [vob.user.account.locked] Remote access for ESXi local user account 'root' has been locked for 900 seconds after 6 failed login attempts. |
| 78 | +2023-02-13T16:22:22.897Z: [GenericCorrelator] 410535559us: [vob.user.account.locked] Remote access for ESXi local user account 'root' has been locked for 900 seconds after 6 failed login attempts. |
| 79 | +2023-02-13T16:22:22.897Z: [UserLevelCorrelator] 410535867us: [esx.audit.account.locked] Remote access for ESXi local user account 'root' has been locked for 900 seconds after 6 failed login attempts. |
| 80 | +``` |
| 81 | + |
| 82 | +- `/var/run/log/hostd.log` contiene los logs del host ESXi (tareas, acceso a la interfaz web, etc.): |
| 83 | + |
| 84 | +``` |
| 85 | +2023-02-21T08:44:19.711Z error hostd[2101004] [Originator@6876 sub=Default opID=esxui-d48c-26a4] [module:pam_lsass]pam_do_authenticate: error [login:root][error code:2] |
| 86 | +2023-02-21T08:44:19.711Z error hostd[2101004] [Originator@6876 sub=Default opID=esxui-d48c-26a4] [module:pam_lsass]pam_sm_authenticate: failed [error code:2] |
| 87 | +2023-02-21T08:44:19.712Z warning hostd[2101004] [Originator@6876 sub=Default opID=esxui-d48c-26a4] Rejected password for user root from xxx.xxx.xxx.xxx |
| 88 | +2023-02-21T08:44:19.712Z info hostd[2101004] [Originator@6876 sub=Vimsvc.ha-eventmgr opID=esxui-d48c-26a4] Event 175 : Cannot login [email protected] |
| 89 | +``` |
| 90 | + |
| 91 | +Toda esta información también está disponible en el panel de administración web. Haga clic en el menú `Host`{.action} y acceda a la sección `Monitor`{.action} y haga clic en `Logs`{.action}. |
| 92 | + |
| 93 | +{.thumbnail} |
| 94 | + |
| 95 | +### La solución Network Firewall |
| 96 | + |
| 97 | +> [!primary] |
| 98 | +> |
| 99 | +> Le recordamos que el Network Firewall no se aplica en la red de OVHcloud. Por lo tanto, las reglas configuradas no afectan a las conexiones procedentes de esta red interna. |
| 100 | +> |
| 101 | +
|
| 102 | +Le ofrecemos activar y utilizar nuestra solución de filtrado [Network Firewall](https://docs.ovh.com/es/dedicated/firewall-de-red/). |
| 103 | +Esta solución le permitirá gestionar fácilmente los accesos legítimos, además de los que haya configurado a través de su sistema ESXi. |
| 104 | + |
| 105 | +También evitará bloquear inesperadamente su cuenta de administrador en caso de ataque. |
| 106 | + |
| 107 | +Se recomienda filtrar los accesos legítimos de esta manera: |
| 108 | + |
| 109 | +- La regla 1 (Priority 0) autoriza a las redes externas de confianza a acceder al sistema ESXi. |
| 110 | +- La regla 2 (Priority 1) bloquea todo lo demás. |
| 111 | + |
| 112 | +{.thumbnail} |
| 113 | + |
| 114 | +### Filtrado en ESXi |
| 115 | + |
| 116 | +> [!primary] |
| 117 | +> |
| 118 | +> También puede filtrar los accesos al sistema ESXi a través del firewall integrado. |
| 119 | +> En función de su uso, también podrá desactivar los servicios innecesarios. |
| 120 | +> |
| 121 | +
|
| 122 | +> [!warning] |
| 123 | +> |
| 124 | +> Es altamente recomendable desactivar los servicios **SSH** y **SLP**. |
| 125 | +> Si, a pesar de todo, sigue utilizando el servicio SSH, limite al máximo su uso y sus accesos. |
| 126 | +> Esto también se aplica a los accesos al **intérprete**. |
| 127 | +> Preste especial atención a lo estrictamente necesario para cada una de sus necesidades. |
| 128 | +
|
| 129 | +#### Manipulación a través de la interfaz gráfica |
| 130 | + |
| 131 | +**Servicios** |
| 132 | + |
| 133 | +Haga clic en el menú `Host`{.action} y acceda a la sección `Manage`{.action} y, seguidamente, haga clic en `Services`{.action}. |
| 134 | + |
| 135 | +Encuentre en la lista el servicio `TSM-SSH` y haga clic derecho en la línea asociada. |
| 136 | + |
| 137 | +Para el servicio, haga clic en `Stop`{.action}. |
| 138 | + |
| 139 | +{.thumbnail} |
| 140 | + |
| 141 | +Seleccione la `Policy` y edítela como en el ejemplo que se muestra. |
| 142 | + |
| 143 | +Seleccione la opción `Start and stop manually`{.action} para evitar que el servicio esté activo al iniciar el servidor. |
| 144 | + |
| 145 | +{.thumbnail} |
| 146 | + |
| 147 | +Aplique los mismos parámetros para el servicio `slpd`. |
| 148 | + |
| 149 | +{.thumbnail} |
| 150 | + |
| 151 | +**Reglas de cortafuegos** |
| 152 | + |
| 153 | +Haga clic en el menú `Networking`{.action}, luego en `Firewall Rules`{.action} y seleccione `Edit settings`{.action} para cada uno de los servicios que desea proteger: |
| 154 | + |
| 155 | +{.thumbnail} |
| 156 | + |
| 157 | +Configure la regla para añadir únicamente las direcciones IP o las redes que deban tener acceso al sistema ESXi. |
| 158 | + |
| 159 | +Ejemplo que solo autoriza las conexiones desde la IP 192.168.1.10: |
| 160 | + |
| 161 | +{.thumbnail} |
| 162 | + |
| 163 | +#### Manipulación a través del intérprete de órdenes |
| 164 | + |
| 165 | +**Servicios** |
| 166 | + |
| 167 | +Desactive los servicios innecesarios: |
| 168 | + |
| 169 | +- Servicio SLP |
| 170 | + |
| 171 | +```bash |
| 172 | +/etc/init.d/slpd stop |
| 173 | +esxcli network firewall ruleset set -r CIMSLP -e 0 |
| 174 | +chkconfig slpd off |
| 175 | +``` |
| 176 | + |
| 177 | +- Servicio SSH |
| 178 | + |
| 179 | +```bash |
| 180 | +/etc/init.d/SSH stop |
| 181 | +esxcli network firewall ruleset set -r sshServer -e 0 |
| 182 | +chkconfig SSH off |
| 183 | +``` |
| 184 | + |
| 185 | +Compruebe todos los servicios activos al arrancar: |
| 186 | + |
| 187 | +```bash |
| 188 | +chkconfig --list | grep on |
| 189 | +``` |
| 190 | +<br/> |
| 191 | +<br/> |
| 192 | + |
| 193 | +**Reglas de cortafuegos** |
| 194 | + |
| 195 | +Establezca las reglas de firewall existentes: |
| 196 | + |
| 197 | +```bash |
| 198 | +esxcli network firewall ruleset list |
| 199 | +esxcli system account list |
| 200 | +``` |
| 201 | + |
| 202 | +> Explicaciones sobre los cambios/ajustes de las reglas de acceso: |
| 203 | +> |
| 204 | +> - Servicio `vSphereClient`\: este servicio corresponde a la interfaz web de administración del puerto 443 (HTTPS). |
| 205 | +> - Servicio `SSHServer`\: este servicio corresponde a los accesos por SSH al puerto 22. |
| 206 | +
|
| 207 | +Ejemplo de servicio vSphereClient: |
| 208 | + |
| 209 | +```bash |
| 210 | +esxcli network firewall ruleset list --ruleset-id vSphereClient |
| 211 | +``` |
| 212 | + |
| 213 | +Asegúrese de que la regla de cortafuegos esté activa: |
| 214 | + |
| 215 | +```bash |
| 216 | +esxcli network firewall ruleset set --ruleset-id vSphereClient --enabled true |
| 217 | +``` |
| 218 | + |
| 219 | +Muestra la lista de direcciones IP autorizadas para esta regla: |
| 220 | + |
| 221 | +```bash |
| 222 | +esxcli network firewall ruleset allowedip list --ruleset-id vSphereClient |
| 223 | +``` |
| 224 | + |
| 225 | +Resultado: |
| 226 | + |
| 227 | +``` |
| 228 | +Ruleset Allowed IP Addresses |
| 229 | +------------- -------------------- |
| 230 | +vSphereClient All |
| 231 | +``` |
| 232 | + |
| 233 | +Cambie el estado de la etiqueta desactivándola: |
| 234 | + |
| 235 | +```bash |
| 236 | +esxcli network firewall ruleset set --ruleset-id vSphereClient --allowed-all false |
| 237 | +``` |
| 238 | + |
| 239 | +Autorice exclusivamente la dirección IP legítima 192.168.1.10: |
| 240 | + |
| 241 | +```bash |
| 242 | +esxcli network firewall ruleset allowedip add --ruleset-id vSphereClient --ip-address 192.168.1.10 |
| 243 | +``` |
| 244 | + |
| 245 | +Compruebe la presencia de la dirección en la lista de acceso: |
| 246 | + |
| 247 | +```bash |
| 248 | +esxcli network firewall ruleset allowedip list --ruleset-id vSphereClient |
| 249 | +``` |
| 250 | + |
| 251 | +Resultado: |
| 252 | + |
| 253 | +``` |
| 254 | +Ruleset Allowed IP Addresses |
| 255 | +------------- -------------------- |
| 256 | +vSphereClient 192.168.1.10 |
| 257 | +``` |
| 258 | +<br/> |
| 259 | +<br/> |
| 260 | + |
| 261 | +Si quiere utilizar el servicio SSH, le explicamos cómo configurar un acceso por llave SSH. |
| 262 | + |
| 263 | +Genere las llaves en la máquina que desea conectarse al servidor ESXi. Para una seguridad máxima, debe privilegiar el algoritmo **ECDSA** de 521 bits: |
| 264 | + |
| 265 | +> [!warning] |
| 266 | +> La autenticación funciona con un par de claves: una pública y otra privada. |
| 267 | +> No comparta en ningún caso su llave **privada**, esta debe permanecer en la máquina en la que se haya generado. |
| 268 | +
|
| 269 | +Ejecute el siguiente comando: |
| 270 | + |
| 271 | +```bash |
| 272 | +ssh-keygen -t ecdsa -b 521 -C "key-ecdsa-esxi-host" -f /path-to-my-key/key-ecdsa |
| 273 | +``` |
| 274 | + |
| 275 | +``` |
| 276 | +Generating public/private ecdsa key pair. |
| 277 | +Enter file in which to save the key (/path-to-my-key/key-ecdsa_rsa): |
| 278 | +``` |
| 279 | + |
| 280 | +Introduzca una contraseña sólida: |
| 281 | + |
| 282 | +``` |
| 283 | +Enter passphrase (empty for no passphrase): |
| 284 | +Enter same passphrase again: |
| 285 | +``` |
| 286 | + |
| 287 | +En las máquinas a las que quiera conectarse, solo deberá introducir la llave pública (key-ecdsa.pub). |
| 288 | + |
| 289 | +``` |
| 290 | +Your identification has been saved in /path-to-my-key/key-ecdsa. |
| 291 | +Your public key has been saved in /path-to-my-key/key-ecdsa.pub. |
| 292 | +The key fingerprint is: |
| 293 | +SHA256:******************************************* key-ecdsa-esxi-host |
| 294 | +``` |
| 295 | + |
| 296 | +Transfiera la llave pública al host ESXi para que pueda ser declarada de confianza: |
| 297 | + |
| 298 | +```bash |
| 299 | +cat /path-to-my-key/key-ecdsa.pub | ssh root@esxi-host-ip 'cat >> /etc/ssh/keys-root/authorized_keys' |
| 300 | +``` |
| 301 | + |
| 302 | +## Más información |
| 303 | + |
| 304 | +Para más información sobre las buenas prácticas de seguridad, consulte [esta guía](https://core.vmware.com/security-configuration-guide) de VMware. |
| 305 | + |
| 306 | +Interactúe con nuestra comunidad de usuarios en <https://community.ovh.com/en/>. |
0 commit comments