Protección multicapa para el acceso a máquinas virtuales de Azure

Microsoft Entra ID
Azure Bastion
Control de acceso basado en rol de Azure
Microsoft Defender for Cloud
Azure Key Vault

Ideas de solución

En este artículo se describe una idea de solución. El arquitecto de la nube puede usar esta guía para ayudar a visualizar los componentes principales de una implementación típica de esta arquitectura. Use este artículo como punto de partida para diseñar una solución bien diseñada que se adapte a los requisitos específicos de la carga de trabajo.

Esta solución ofrece una estrategia multicapa para proteger las máquinas virtuales (VM) en Azure, garantizando la accesibilidad al tiempo que minimiza la superficie de ataque para fines de gestión y administración.

Alineada con la recomendación de seguridad de Microsoft, esta solución incorpora varios mecanismos de protección ofrecidos por Microsoft Azure y los servicios Entra, adhiriéndose a los principios de seguro por diseño, seguro por defecto y operaciones seguras.

  • Seguridad por diseño. La solución logra un acceso granular no persistente a las máquinas virtuales mediante la aplicación del principio de mínimo privilegio y el concepto de separación de funciones. Esto garantiza que la autorización a las máquinas virtuales solo se concede por razones legítimas, reduciendo el riesgo de acceso no autorizado.

  • Seguro por defecto. El tráfico entrante a las máquinas virtuales está bloqueado, permitiendo la conectividad solo cuando es necesario. Esta postura de seguridad por defecto minimiza la exposición a muchos ciberataques populares, como los ataques de fuerza bruta y de denegación de servicio distribuido (DDoS).

  • Operaciones seguras. Es fundamental implementar una supervisión continua e invertir en la mejora de los controles de seguridad para hacer frente a las amenazas actuales y futuras. Use varios servicios y funciones de Azure, como Microsoft Entra Privileged Identity Management (PIM), la función de acceso a máquinas virtuales justo a tiempo (JIT) de Microsoft Defender para la nube, Azure Bastion, funciones personalizadas de control de acceso basado en funciones de Azure (Azure RBAC). Opcionalmente, debe considerar el acceso condicional de Microsoft Entra para regular el acceso a los recursos de Azure y Azure Key Vault para almacenar contraseñas locales de máquina virtual si no se integra con Entra ID o Active Directory Domain Services.

Posibles casos de uso

La defensa en profundidad es la premisa detrás de esta arquitectura. Esta estrategia desafía a los usuarios con varias líneas de defensa antes de conceder a los usuarios acceso a las máquinas virtuales. El objetivo es asegurarse de que:

  • Se comprueba cada usuario.
  • Cada usuario tenga intenciones legítimas.
  • La comunicación es segura.
  • El acceso a las máquinas virtuales en Azure se proporciona solo cuando sea necesario.

La estrategia de defensa en profundidad y la solución de este artículo se aplican a muchos escenarios:

  • Un administrador debe acceder a una máquina virtual de Azure en estas circunstancias:

    • El administrador debe solucionar un problema, investigar un comportamiento o aplicar una actualización crítica.
    • El administrador usa el Protocolo de escritorio remoto (RDP) para acceder a una máquina virtual Windows o Secure Shell (SSH) para acceder a una máquina virtual Linux.
    • El acceso debe incluir el número mínimo de permisos necesarios para realizar la tarea.
    • El acceso debe ser válido solo durante un tiempo limitado.
    • Una vez expirado el acceso, el sistema debe bloquear el acceso a la máquina virtual para evitar intentos de acceso malintencionados.
  • Los empleados necesitan acceder a una estación de trabajo remota hospedada en Azure como una máquina virtual. Se aplican las siguientes condiciones:

    • Los empleados solo deben acceder a la máquina virtual durante el horario laboral.
    • El sistema de seguridad debe tener en cuenta las solicitudes de acceso a la máquina virtual fuera del horario laboral innecesarias y malintencionadas.
  • A los usuarios les gustaría conectarse a cargas de trabajo de máquinas virtuales de Azure. El sistema debe aprobar las conexiones que procedan únicamente de dispositivos administrados y compatibles.

  • Un sistema ha experimentado un gran número de ataques por fuerza bruta:

    • Estos ataques tienen como destino máquinas virtuales de Azure en los puertos 3389 y 22 de RDP y SSH.
    • Los ataques han intentado adivinar las credenciales.
    • La solución debe evitar que los puertos de acceso, como el 3389 y el 22, se expongan a Internet o a los entornos locales.

Arquitectura

Diagrama de arquitectura que muestra cómo un usuario obtiene acceso temporal a una máquina virtual de Azure.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

El siguiente flujo de datos corresponde al diagrama anterior:

  1. Decisiones de autenticación y acceso: el usuario se autentica en Microsoft Entra ID para acceder a Azure Portal, las API REST de Azure, Azure PowerShell o la CLI de Azure. Si la autenticación se realiza correctamente, se aplica una directiva de acceso condicional de Microsoft Entra. Esa directiva comprueba si el usuario cumple determinados criterios. Algunos ejemplos son el uso de un dispositivo administrado o el inicio de sesión desde una ubicación conocida. Si el usuario cumple los criterios, el acceso condicional concede al usuario acceso a Azure mediante Azure Portal u otra interfaz.

  2. Acceso Just-In-Time basado en identidades: durante la autorización, Microsoft Entra PIM asigna al usuario un rol personalizado de tipo elegible. La elegibilidad se limita a los recursos necesarios y es un rol con límite de tiempo, no uno permanente. Dentro de un período de tiempo especificado, el usuario solicita la activación de este rol mediante la interfaz de Azure AD PIM. Esa solicitud puede desencadenar otras acciones, como iniciar un flujo de trabajo de aprobación o solicitar al usuario la autenticación multifactor para comprobar la identidad. En un flujo de trabajo de aprobación, otra persona debe aprobar la solicitud. De lo contrario, no se asigna el rol personalizado al usuario y no puede continuar con el paso siguiente.

  3. Acceso Just-In-Time basado en red: después de la autenticación y autorización, el rol personalizado se vincula temporalmente a la identidad del usuario. A continuación, el usuario solicita acceso JIT a la máquina virtual. Ese acceso abre una conexión desde la subred de Azure Bastion en el puerto 3389 para RDP o en el puerto 22 para SSH. La conexión se realiza directamente a la tarjeta de interfaz de red (NIC) de la máquina virtual o bien a la subred de la NIC de la máquina virtual. Azure Bastion abre una sesión de RDP interna mediante dicha conexión. La sesión se limita a la red virtual de Azure y no se expone a la red pública de Internet.

  4. Conexión a la máquina virtual de Azure: el usuario accede a Azure Bastion con un token temporal. Mediante este servicio, el usuario establece una conexión RDP indirecta a la máquina virtual de Azure. La conexión solo funciona durante un período de tiempo limitado. El usuario puede obtener la contraseña de una bóveda de claves de Azure, si la contraseña se almacenó como un secreto en la bóveda de claves, y se configuran suficientes permisos de Azure RBAC para limitar el acceso a la cuenta de usuario adecuada.

Componentes

Esta solución usa los siguientes componentes:

  • Azure Virtual Machines es una oferta de infraestructura como servicio (IaaS) que proporciona recursos de proceso escalables. En esta arquitectura, las máquinas virtuales de Azure hospedan cargas de trabajo de producción al tiempo que minimizan la exposición a amenazas a través de controles de seguridad en capas.

  • Microsoft Entra ID es un servicio de identidad basado en la nube que administra el acceso a Azure y a otras aplicaciones en la nube. En esta arquitectura, autentica a los usuarios y aplica directivas de acceso para garantizar la entrada segura en los recursos de Azure.

  • Microsoft Entra PIM es un servicio que controla y supervisa el acceso con privilegios a los recursos. En esta arquitectura, PIM limita el acceso de administrador permanente a roles con privilegios estándar y personalizados y permite el acceso basado en identidad Just-In-Time (JIT) a roles personalizados.

  • El acceso a máquinas virtuales JIT es una característica de Defender for Cloud que restringe el acceso de red a las máquinas virtuales. En esta arquitectura, JIT minimiza la superficie expuesta a ataques mediante la aplicación de reglas de denegación y solo permite el acceso temporal cuando se solicita. Cuando un usuario solicita acceso a la máquina virtual, el servicio agrega una regla de permiso temporal al grupo de seguridad de red. Dado que la regla de tipo permitir tiene una prioridad mayor que la regla de tipo denegar, el usuario puede conectarse a la máquina virtual. Azure Bastion es lo más adecuado para conectarse a la máquina virtual. Pero el usuario también puede usar una sesión RDP o SSH directa.

  • RBAC de Azure es un sistema de autorización para administrar el acceso a los recursos de Azure. En esta arquitectura, los roles personalizados de RBAC de Azure aplican el principio de privilegios mínimos al conceder solo los permisos necesarios para el acceso a la máquina virtual. Puede usarlos para asignar permisos en los niveles que satisfagan las necesidades de su organización. Para acceder a una máquina virtual de esta solución, el usuario obtiene permisos para las siguientes acciones:

    • Uso de Azure Bastion
    • Solicitud de acceso a máquinas virtuales JIT en Defender for Cloud
    • Lectura o enumeración de máquinas virtuales
  • El acceso condicional de Microsoft Entra es una herramienta de control de acceso basada en directivas. En esta arquitectura, el acceso condicional garantiza que solo los usuarios autenticados de dispositivos o ubicaciones de confianza puedan acceder a los recursos de Azure. Las directivas de acceso condicional admiten el modelo de seguridad confianza cero .

  • Azure Bastion es un servicio administrado que proporciona conectividad RDP y SSH a las máquinas virtuales a través de HTTPS. En esta arquitectura, Azure Bastion conecta a los usuarios que usan Microsoft Edge u otro explorador de Internet para HTTPS o tráfico protegido en el puerto 443. Azure Bastion configura la conexión RDP a la máquina virtual. Los puertos de RDP y SSH no se exponen a Internet ni al origen del usuario.

    Azure Bastion es opcional en esta solución. Los usuarios pueden conectarse directamente a las máquinas virtuales de Azure mediante el protocolo RDP. Si configura Azure Bastion en una red virtual de Azure, configure una subred independiente llamada AzureBastionSubnet. A continuación, asocie un grupo de seguridad de red a esa subred. En ese grupo, especifique un origen para el tráfico HTTPS, como el bloque CIDR (Enrutamiento Inter-Dominios Sin Clases) de la IP local en las instalaciones del usuario. Esta configuración bloquea las conexiones que no proceden del entorno local del usuario.

  • Key Vault es un servicio para almacenar secretos, claves y certificados. En esta arquitectura, Key Vault almacena las contraseñas de máquina virtual como secretos e integra con Azure Bastion para permitir la recuperación por parte de los usuarios autorizados. Debe configurar el secreto Azure RBAC para que solo la cuenta de usuario que acceda a la máquina virtual pueda recuperarla. La recuperación del valor de contraseña del almacén de claves se puede realizar a través de las API de Azure (por ejemplo, mediante la CLI de Azure) o desde Azure Portal.

    Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

  • Husam Hilal | Arquitecto sénior de soluciones en la nube

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes