Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Recupera el acceso a Windows Server con la consola serial de Google Cloud

By Garrett SchaefferMay 6, 20204 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

Hace poco nos topamos con un caso en el que un cliente había perdido el acceso a una instancia de Windows Server alojada en la nube. Un usuario de la empresa hizo un cambio incorrecto en la configuración del Firewall de Windows y, como resultado, nadie podía entrar a la máquina, ni por RDP ni por ningún otro medio.

Lamentablemente, esto pasa más seguido de lo que nos gustaría, pero la buena noticia es que tiene solución. Con la idea de que este artículo le sirva a más personas, te comparto los pasos sencillos que puedes seguir para resolver situaciones similares.

Como no podíamos conectarnos a la máquina por otros medios, decidimos aprovechar la opción de conexión por puerto serial que ofrece la consola web de Google Cloud.

Para restaurar el acceso a la instancia de Windows vamos a seguir tres pasos. Primero, nos conectamos a la máquina. Segundo, accedemos al símbolo del sistema de Windows. Por último, deshabilitamos el firewall para abrir el acceso por RDP. Partimos del punto en el que ya iniciaste sesión en la consola web de Google Cloud.

Para realizar los pasos de este artículo necesitarás los siguientes permisos en Google Cloud Platform (GCP):

  • compute.instances.setMetadata
  • compute.projects.setCommonInstanceMetadata

Paso 1: Navega y conéctate a la instancia mediante una consola serial

Una vez dentro de la consola web de Google Cloud, ve a la página de Compute Engine para ver la lista de instancias. Busca y selecciona la instancia afectada para abrir la página de detalle.

Detalle de la instancia de VM

Verifica que el acceso a la consola serial esté habilitado revisando el atributo "Enable connection to serial ports". Si no lo está, tendrás que activarlo. Para hacerlo, haz clic en el botón "Edit", activa el atributo "Enable connecting to serial ports" y guarda el cambio.

Editar la conectividad por puerto serial

Con el acceso al puerto serial habilitado, también se habilita el botón "Connect to serial console". Haz clic ahí para abrir una ventana de consola serial. Se abrirá una ventana nueva que mostrará la Windows Special Administration Console (SAC).

Detalle de la instancia de VM — consola serial habilitada

La SAC de Windows te permite interactuar con el sistema operativo (SO) de Windows y da acceso al SO incluso cuando la red no funciona. Además, ofrece un conjunto muy básico de comandos para administrar el SO.

Special Administration Console, SAC

: para conocer más sobre la terminal SAC, usa el comando ? o help y verás la lista de comandos disponibles.

Paso 2: Conéctate al símbolo del sistema de Windows

Necesitamos trabajar con los comandos del firewall, que no están disponibles en la SAC. Para eso vamos a crear un canal nuevo que dé acceso al símbolo del sistema de Windows de toda la vida.

En la terminal SAC, usa el comando cmd para iniciar otro canal. El sistema responderá con un mensaje de confirmación. El canal nuevo se llama "Cmd0001" y cambiamos a él con el comando ch -sn Cmd0001.

Crear y cambiar al canal nuevo

El sistema mostrará el detalle del canal nuevo. Presiona cualquier tecla, salvo las combinaciones <esc><tab> indicadas, para ver el canal.

Ingresa ch -sn seguido del nombre del canal, por ejemplo ch -sn Cmd0001. Este comando cambia la consola serial al canal especificado.

El símbolo del sistema de Windows te dará acceso completo a la máquina. El sistema te pedirá credenciales para autenticarte como usuario autorizado. Ingresa el nombre de usuario, el dominio y la contraseña. Si la máquina no pertenece a un dominio, deja ese campo en blanco.

Autenticación en el símbolo del sistema

Paso 3: Deshabilita el firewall

Ahora que estamos autenticados en la máquina, podemos dar el último paso y deshabilitar las reglas del firewall que bloquean el acceso. Para eso, usa el comando netsh advfirewall set allprofiles set allprofiles state off. El sistema responderá con un breve mensaje "Ok." indicando que las reglas del firewall quedaron deshabilitadas. Ya puedes conectarte a la máquina y restablecer la configuración al estado deseado. Eso sí, no te olvides de volver a habilitar el firewall.

Mensaje de confirmación del comando netsh

Resumen

En los pasos anteriores vimos cómo restaurar el acceso a una instancia de Windows Server cuando queda bloqueada por el firewall del sistema operativo. Recuerda deshabilitar el acceso a la consola serial para proteger el recurso. GCP también ofrece un control de seguridad para proteger el acceso a la consola serial en todas las máquinas: al definir una política de organización sobre el acceso al puerto serial, se sobrescribe la configuración de cada máquina. Para esto, usa la opción "Disable VM serial port access" en la página de Organization Policies.

Además, GCP registra todos los accesos a la consola serial en los logs de la nube. Para verlos, ve al menú Logs en la consola web de GCP. En la página de logs, filtra por el recurso "GCE VM Instance" y busca ssh-serialport-googleapis.com. Tu cuenta de usuario necesitará permisos de log viewer para acceder.

Hay algunos pasos preventivos básicos para evitar estas situaciones. Contar con procedimientos de control de cambios te dará un registro histórico de las acciones. Esos registros ayudan a identificar la causa de los incidentes, la solución correspondiente y a lograr una recuperación más rápida. También asegúrate de tener respaldos periódicos: Google Cloud Platform ofrece un excelente servicio de programación de snapshots para instancias.

¿Quieres más historias? Visita nuestro blog en Medium o sigue a Garrett en Twitter.